]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
[grub2.git] / ChangeLog
CommitLineData
c17e546c
VS
12011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
4 don't use them.
5
ff6b18b6
VS
62011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
9 already there.
10
70ffcc93
VS
112011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
14 confusing ipxe.
15
e5f4d260
VS
162011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
17
18 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
19 Add missing const attribute.
20 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
21 Likewise.
22 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
23 Likewise.
24
8e54b4b7
VS
252011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
26
27 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
28 misaligned access.
29 (serpent_setkey): Likewise.
30 (serpent_encrypt_internal): Likewise.
31 (serpent_decrypt_internal): Likewise.
32 (serpent_encrypt): Don't put an alignment-increasing cast.
33 (serpent_decrypt): Likewise.
34 (serpent_test): Likewise.
35
813c0a2b
VS
362011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
37
38 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
39
f2b60fbd
VS
402011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
41
42 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
43
44 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
45 grub_addr_t casts.
46 (PTR_TO_UINT64): Likewise.
47 (PTR_TO_UINT32): Likewise.
48
5ef5c511
VS
492011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
50
51 * util/grub-mkimage.c (generate_image): Decrease the higher limit
52 because of stack.
53 * util/grub-setup.c (setup): Don't add redundancy past the higher load
54 limit.
55
c476e6df
VS
562011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
57
58 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
59 text_width > available width a bit more gracefully.
60
384ad7cc
VS
612011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
62
63 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
64 current address calculation.
65
96f8caf8
VS
662011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
67
68 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
69 stack.
70 (encode_block): Likewise.
71
276b7a8b
VS
722011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
73
74 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
75 certainety.
76
e3fd394a
VS
772011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
78
79 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
80 non-RS part to avoid RS messing with GDT.
81 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
82 Increase to suit in realmode routines.
83
842011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
85
86 * grub-core/kern/i386/realmode.S: Increase alignment.
87 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
88
ee9c2e7a
VS
892011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
90
91 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
92 be deterministic.
93 (syndroms): Compute 0 syndrom.
94 (rs_recover): Use 0 syndrom.
95
7a7f7cc9
VS
962011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
97
98 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
99
a14b16d1
VS
1002011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
101
102 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
103 brackets.
104
9f59e9fc
VS
1052011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
106
ca1b552c
VS
107 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
108 account.
109 (get_top_pad): Likewise.
110 (get_right_pad): Likewise.
111 (get_bottom_pad): Likewise.
112
1132011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
114
115 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 116
e739d698
VS
1172011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
118
119 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
120 attribute as the structure isn't guaranteed to be properly aligned.
121 (grub_efi_pci_device_path): Likewise.
122 (grub_efi_pccard_device_path): Likewise.
123 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
124 specify the size of `memory_type'.
125 (grub_efi_vendor_device_path): Likewise.
126 (grub_efi_controller_device_path): Likewise.
127 (grub_efi_acpi_device_path): Likewise.
128 (grub_efi_expanded_acpi_device_path): Likewise.
129 (grub_efi_atapi_device_path): Likewise.
130 (grub_efi_scsi_device_path): Likewise.
131 (grub_efi_fibre_channel_device_path): Likewise.
132 (grub_efi_1394_device_path): Likewise.
133 (grub_efi_usb_device_path): Likewise.
134 (grub_efi_usb_class_device_path): Likewise.
135 (grub_efi_i2o_device_path): Likewise.
136 (grub_efi_mac_address_device_path): Likewise.
137 (grub_efi_ipv4_device_path): Likewise.
138 (grub_efi_ipv6_device_path): Likewise.
139 (grub_efi_infiniband_device_path): Likewise.
140 (grub_efi_uart_device_path): Likewise.
141 (grub_efi_vendor_messaging_device_path): Likewise.
142 (grub_efi_hard_drive_device_path): Likewise.
143 (grub_efi_cdrom_device_path): Likewise.
144 (grub_efi_vendor_media_device_path): Likewise.
145 (grub_efi_file_path_device_path): Likewise.
146 (grub_efi_protocol_device_path): Likewise.
147 (grub_efi_piwg_device_path): Likewise.
148 (grub_efi_bios_device_path): Likewise.
149
cb8f88ea
VS
1502011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
151
152 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
153 (grub_ucs4_to_utf8_alloc): Likewise.
154 (grub_ucs4_to_utf8): Likewise.
155 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
156 (grub_ucs4_to_utf8_alloc): Likewise.
157
309e5352
VS
1582011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
159
160 AFFS never uses unicode.
161
162 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
163 (grub_latin1_to_utf8): New inline function.
164 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
165
e7987e1b
VS
1662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
167
168 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
169 overflow.
170
efc2616e
VS
1712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
172
173 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
174 (grub_squash_dirent_header): Likewise.
175 (read_chunk): Don't double swap.
176 (grub_squash_iterate_dir): Fix swap sizes.
177
3c349f5a
VS
1782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
179
180 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
181
b453412d
VS
1822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
185 (grub_hfs_iterate_dir): Likewise.
186
12e9d4d1
VS
1872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
188
189 Fix video on platforms where unaligned access is forbidden.
190 Make several optimisations while on it.
191
192 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
193 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
194 (grub_video_fbblit_replace_32bit_1bit): Likewise.
195 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
196 Disable.
197 (grub_video_fbblit_replace_16bit_1bit):
198 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
199 (grub_video_fbblit_replace_8bit_1bit): Likewise.
200 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
201 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
202 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
203 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
204 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
205 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
206 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
207 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
208 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
209 (grub_video_fbblit_replace_index_RGB888): Likewise.
210 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
211 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
212 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
213 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
214 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
215 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
216 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
217 Disable.
218 (grub_video_fbblit_blend_XXX565_1bit):
219 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
220 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
221 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
222 void *.
223 * grub-core/video/fb/video_fb.c (common_blitter)
224 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
225 (grub_video_fb_create_render_target_from_pointer)
226 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
227 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
228 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
229 definition.
230 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
231
ace96609
VS
2322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
233
234 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
235 HH22 and HM10 relocations.
236
fd261d73
VS
2372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
238
239 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
240
e59b7857
VS
2412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
242
243 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
244 allocation succeeded.
245
9b4baaa4
VS
2462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
247
248 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
249 argument a u8 pointer. All users updated.
250 Handle unaligned buffers.
251
dc713193
VS
2522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
253
254 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
255 add_part to workaround compiler bug.
256
30dd48c2
VS
2572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
258
259 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
260
0c6087a8
VS
2612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
262
263 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
264 Reserve alignment invariants.
265 (grub_multiboot_load): Likewise.
266 (retrieve_video_parameters): Likewise.
267 (grub_multiboot_make_mbi): Likewise.
268
c2e77777
VS
2692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
270
271 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
272 incorrect pointer.
273
b70b6d11
VS
2742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
275
276 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
277 (grub_pata_pio_write): Likewise.
278
02a2bf83
VS
2792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
280
281 Add noreturn attributes and remove unreachable code.
282
283 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
284 code.
285 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
286 code. Mark as noreturn.
287 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
288 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
289 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
290 unreachable code.
291 * grub-core/kern/main.c (grub_main): Mark as noreturn.
292 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
293 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
294 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
295 * include/grub/kernel.h (grub_main): Mark as noreturn.
296 * include/grub/reader.h (grub_rescue_run): Likewise.
297
2019d09e
VS
2982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
299
300 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
301 redundant declaration.
302
d1c501ee
VS
3032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * include/grub/net.h (grub_net_network_level_interfaces): Remove
306 redundant declaration.
307 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
308
61664420
VS
3092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
312 to ensure alignment.
313 (grub_hdparm_print_identify): Make argument uint16 * to ensure
314 alignment. Ensure tmp alignment.
315 (grub_cmd_hdparm): Ensure buf alignment.
316 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
317 to ensure alignment.
318 (grub_ata_dumpinfo): Ensure text alignment.
319 (grub_atapi_identify): Preserve alignment invariant.
320 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
321
0d51ee20
VS
3222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
323
324 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
325 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
326 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
327 * include/grub/misc.h (grub_reboot)
328 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
329 (grub_halt) [__mips__]: Likewise.
330
753ef8c1
VS
3312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
332
333 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
334 Remove redundant declaration.
335 (grub_mmap_get_post64): Likewise.
336 (grub_mmap_get_upper): Likewise.
337 (grub_mmap_get_lower): Likewise.
338
85c85365
VS
3392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
340
341 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
342 uint32_t * to ensure alignment.
343 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
344
a23f2cc4
VS
3452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
346
93018f64
VS
347 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
348 uint16_t * to ensure alignment.
349 (sun_pc_partition_map_iterate): Make `block' a union to ensure
350 alignment.
351
3522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
353
354 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
355 to ensure alignment.
356 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
357
58acccd6
VS
3582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
359
360 * grub-core/fs/ntfs.c (u16at): Make into inline function.
361 Handle unaligned pointers.
362 (u32at): Likewise.
363 (u64at): Likewise.
364 (fixup): Use byte access instead of v16at.
365 (find_attr): Fix imporper usage of v32at.
366 (read_data): Likewise.
367 (list_file): Handle byte-swapping and unaligned strings.
368 (grub_ntfs_label): Likewise.
369
9b05cad7
VS
3702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
371
372 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
373 as it's not necessarily aligned.
374
b3950b84
VS
3752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
376
377 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
378 redundant declaration.
379 (grub_serial_init): Likewise.
380 (grub_terminfo_init): Likewise.
381
fcd232b7
VS
3822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
383
384 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
385 function.
386 (ZAP_HASH_IDX): Likewise.
387 (ZAP_LEAF_HASH_SHIFT): Likewise.
388 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
389 (LEAF_HASH): Likewise.
390 (ZAP_LEAF_NUMCHUNKS): Likewise.
391 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
392 alignment invariants. Return pointer. All users updated.
393 (ZAP_LEAF_ENTRY): Make into inline function.
394 (NBBY): Removed.
395 (xor): LIkewise.
396 (xor_out): Use grub_crypto_xor.
397 (dnode_get_path): Use grub_get_unaligned.
398 (nvlist_find_value): Likewise.
399 (grub_zfs_nvlist_lookup_uint64): Likewise.
400 (grub_zfs_nvlist_lookup_string): Likewise.
401 (get_nvlist_size): Likewise.
402 (grub_zfs_open): Likewise.
403 (fill_fs_info): Likewise.
404 (grub_zfs_dir): Likewise.
405 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
406 alignment invariants.
407 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
408 necessarily aligned.
409
f138623a
VS
4102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
411
412 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
413
564840dc
VS
4142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
415
416 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
417 arithmetic to conserve alignment invariants.
418
9b40df20
VS
4192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
420
421 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
422 redundant declaration.
423 (grub_efiemu_mm_obtain_request): Likewise.
424 (grub_efiemu_prepare): Likewise.
425
d1c930f9
VS
4262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
427
428 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
429 to match types.
430
4c5f3056
VS
4312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
432
433 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
434 case of aunaligned recptr.
435 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
436 alignment.
437 (grub_hfsplus_btree_search): Handle unaligned index.
438
728cba91
VS
4392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
440
441 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
442 to get freetag and skip.
443
eb561f31
VS
4442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
445
446 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
447 array.
448 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
449 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
450
20993fbb
VS
4512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
452
453 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
454 name for checksum and fix allocation algorithm.
455
1f313b94
VS
4562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
457
458 * include/grub/types.h (grub_properly_aligned_t): New type.
459 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
460 (grub_get_unaligned16): Add explicit casts.
461 (grub_get_unaligned32): Likewise.
462 (grub_get_unaligned64): Likewise.
463 (grub_set_unaligned16): New function.
464 (grub_set_unaligned32): Likewise.
465
47ae27ec
VS
4662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
467
468 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
469
78c2cd1c
VS
4702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
471
472 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
473 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
474 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
475
53072f9b
VS
4762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
477
478 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
479 conditionals.
480
055dc239
VS
4812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
482
483 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
484 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
485
496bd074
VS
4862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
487
488 Unify and improve RAID and crypto xor.
489
490 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
491 changed to grub_crypto_xor
492 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
493 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
494 Use bigger types when possible.
495
ef6e4335
VS
4962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
497
498 * grub-core/disk/raid.c (scan_devices): Fix condition.
499
5d048bf2
VS
5002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
501
502 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
503 Make name a const ptr.
504
ee533335
VS
5052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
506
507 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
508 first argument a const pointer.
509 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
510 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
511 proto.
512 (grub_children_iterate): Likewise.
513 (grub_machine_mmap_iterate): Remove redundant declaration.
514
cc8f3668
VS
5152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
516
517 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
518 (grub_cmd_acpi) [!x86]: Disable EBDA.
519
c5fc563a
VS
5202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
521
522 Enable UTF8 in gnulib regexp.
523
524 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
525 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
526 (isupper): Use grub_isupper.
527 (isascii): New inline function.
528 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
529 * grub-core/lib/posix_wrap/wctype.h: Likewise.
530 * grub-core/normal/charset.c (grub_utf8_process): New function.
531 (grub_utf8_to_utf16): Use grub_utf8_process.
532 (grub_encode_utf8_character): New function.
533 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
534 * include/grub/charset.h (grub_utf8_process): New declaration.
535 (grub_encode_utf8_character): Likewise.
536 * include/grub/misc.h (grub_islower): New inline function.
537 (grub_isupper): Likewise.
538 (grub_strchrsub): Moved down to fix the definitions.
539
0af2346f
VS
5402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
541
542 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
543 specification.
544
74dbd244
VS
5452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
546
547 * include/grub/loader.h (grub_loader_register_preboot_hook):
548 Use struct preboot * and not void * for handle. All users updated.
549 (grub_loader_unregister_preboot_hook): Likewise.
550
1bc8f60d
VS
5512011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
552
553 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
554 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
555 UTF-16-BE. All users updated.
556 (grub_hfsplus_cmp_catkey): Fix unicode handling.
557 (grub_hfsplus_iterate_dir): Likewise.
558 (grub_hfsplus_label): Likewise.
559
48d6e456
VS
5602011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
561
562 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
563
bf3a3857
VS
5642011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
565
566 Add missing const qualifiers.
567
568 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
569 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
570 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
571 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
572 (grub_lvm_check_flag): Likewise.
573 * grub-core/efiemu/i386/coredetect.c
574 (grub_efiemu_get_default_core_name): Likewise
575 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
576 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
577 * grub-core/fs/ntfs.c (fixup): Likewise.
578 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
579 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
580 (fzap_lookup): Likewise.
581 (zap_lookup): Likewise.
582 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
583 * grub-core/lib/legacy_parse.c (check_option): Likewise.
584 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
585 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
586 (grub_freebsd_add_meta_module): Likewise.
587 (grub_cmd_freebsd_module): Likewise.
588 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
589 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
590 (grub_xnu_writetree_get_size): Likewise.
591 (grub_xnu_writetree_toheap_real): Likewise.
592 (grub_xnu_find_key): Likewise.
593 (grub_xnu_create_key): Likewise.
594 (grub_xnu_create_value): Likewise.
595 (grub_xnu_register_memory): Likewise.
596 (grub_xnu_check_os_bundle_required): Likewise.
597 (grub_xnu_scan_dir_for_kexts): Likewise.
598 (grub_xnu_load_kext_from_dir): Likewise.
599 * grub-core/normal/color.c (color_list): Likewise.
600 * grub-core/normal/completion.c (current_word): Likewise.
601 * grub-core/normal/menu_entry.c (insert_string): Likewise.
602 * grub-core/term/serial.c (grub_serial_find): Likewise.
603 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
604 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
605 Likewise.
606 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
607 (grub_freebsd_add_meta_module): Likewise.
608 * include/grub/lib/arg.h (grub_arg_option): Likewise.
609 * include/grub/net.h (grub_net_card_driver): Likewise.
610 (grub_net_card): Likewise.
611 (grub_net_app_protocol): Likewise.
612 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
613 * include/grub/serial.h (grub_serial_find): Likewise.
614 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
615 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
616 (grub_xnu_create_value): Likewise.
617 (grub_xnu_find_key): Likewise.
618 (grub_xnu_scan_dir_for_kexts): Likewise.
619 (grub_xnu_load_kext_from_dir): Likewise.
620
621 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
622 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
623 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
624 Moved from here ...
625 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
626
112b4837
CW
6272011-11-28 Colin Watson <cjwatson@ubuntu.com>
628
629 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
630
49e891ac
VS
6312011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
632
633 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
634 (read_device): Fix size calculation.
635
fd258e5c
RM
6362011-11-25 Robert Millan <rmh@gnu.org>
637
638 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
639 (find_root_device_from_libzfs): Add zpool output parser to be used
640 as fallback when libzfs isn't available.
641
78845dc2
SG
6422011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
643
644 * po/Makefile.in.in: Add missing escape-continuation.
645
adac5211
VS
6462011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
647
648 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
649
10b64f1c
VS
6502011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
653
bb416954
VS
6542011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
655
656 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
657
bdfe9eeb
VS
6582011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
659
660 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
661
581ffa8a
VS
6622011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * grub-core/lib/adler32.c: Add missing license specification.
665 * grub-core/lib/crc64.c: Likewise.
666 * grub-core/loader/i386/pc/plan9.c: Likewise.
667 * grub-core/partmap/plan.c: Likewise.
668
2536cf64
LK
6692011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
670
671 Add facility to debug GRUB with gdb under qemu.
672
673 * grub-core/gdb_grub.in: New file.
674 * grub-core/gmodule.pl.in: Likewise.
675 * grub-core/Makefile.core.def (gmodule.pl): New script.
676 (gdb_grub): Likewise.
677
bc108a4a
VS
6782011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
679
680 * util/grub-mount.c (argp_parser): Accept relative pathes.
681 * util/grub-fstest.c (argp_parser): Likewise.
682
111c1778
VS
6832011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
684
685 Plan9 support.
686
687 * Makefile.util.def (libgrubmods): Add
688 grub-core/partmap/plan.c.
689 * docs/grub.texi: Notice Plan9 support.
690 * grub-core/Makefile.core.def (plan9): New module.
691 (part_plan): Likewise.
692 * grub-core/loader/i386/pc/plan9.c: New file.
693 * grub-core/partmap/plan.c: Likewise.
694 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
695 define.
696 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
697 * include/grub/mm.h (grub_extend_alloc): New inline function.
698
c30be3b6
VS
6992011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
700
701 Make Reed-Solomon faster by using power of generator representation of
702 GF(256)*.
703
704 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
705 (gf_double_t): Likewise.
706 (gf_invert): Removed.
707 (gf_powx): New array.
708 (gf_powx_inv): Likewise.
709 (scratch): Move higher.
710 (gf_reduce): Removed.
711 (gf_mul): Use powx.
712 (gf_invert): Likewise.
713 (init_inverts): Replaced with ...
714 (init_powx): ...this. All users updated.
715 (pol_evaluate): Replace multiplications with additions.
716 (rs_encode): Likewise.
717 (gauss_eliminate): Call gf_invert.
718 (grub_reed_solomon_add_redundancy): Call init_powx.
719 (grub_reed_solomon_recover): Call init_powx unconditionally.
720
fa5aeffc
VS
7212011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
722
723 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
724
a346b81c
VS
7252011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
726
727 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
728 disk->partiton for safety.
729
d89ee414
VS
7302011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
731
732 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
733 Fix a memory leak.
734 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
735
91ee7b6d
VS
7362011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
737
738 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
739
91e5a33d
VS
7402011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
741
742 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
743
9edd7be2
VS
7442011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
745
746 Fix spaces handling in proc/self/mountinfo.
747
748 * util/getroot.c (unescape): New function.
749 (grub_find_root_device_from_mountinfo): Use unescape.
750
ba102053
VS
7512011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
752
753 Support ZFS embedding.
754
755 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
756 (grub_zfs_fs): Register grub_zfs_embed.
757
aa94b870
VS
7582011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
759
760 Fix MIPS compilation.
761
762 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
763 * include/grub/offsets.h: Rename decompressor fields from
764 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
765 * util/grub-mkimage.c (image_targets): Use new names.
766
5fbdac14
VS
7672011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
768
769 Defer multiboot device parsing until we're in compressed part.
770
771 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
772 bsd_part. setdevice has fallen into disuse.
773 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
774 (bsd_part): Likewise.
775 (boot_dev): New variable.
776 (multiboot_trampoline): Don't parse multiboot device.
777 Pass multiboot device in %edx.
778 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
779 grub_boot_device.
780 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
781 Likewise.
782 * grub-core/kern/i386/pc/startup.S: Save edx.
783 (grub_boot_drive): Removed.
784 (grub_install_dos_part): Likewise.
785 (grub_install_bsd_part): Likewise.
786 (grub_boot_device): New variable.
787 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
788 (grub_install_bsd_part): Likewise.
789 (grub_boot_drive): Likewise.
790 (grub_boot_device): New variable.
791 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
792 Removed.
793 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
794 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
795 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
796 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
797 * util/grub-install.in: Remove redundant condition.
798
691cbb58
VS
7992011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
800
801 Fix bug introduced by previous commit.
802
803 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
804
60240b8b
VS
8052011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
806
807 Use decompressors framework on i386-pc. It increases core size
808 by 46 bytes but improves compatibility and maintainability.
809
810 * grub-core/Makefile.core.def (lzma_decompress): New image.
811 (kernel): Add i386_pc_ldflags.
812 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
813 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
814 to real_to_prot, prot_to_real and device info.
815 * include/grub/offsets.h: Renamed decompressor offsets.
816 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
817 (image_target_desc): Remove raw_size and rename decompressor fields.
818 (compress_kernel): Handle lzma.
819 (generate_image): Handle decompressors on i386-pc.
820
e9d3421c
VS
8212011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * configure.ac: Add -fno-asynchronous-unwind-tables.
824
2b23074a
VS
8252011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
826
827 Move assembly code to C by using intwrap. It increases core size
828 by 88 bytes but improves compatibility and maintainability.
829
830 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
831 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
832 ... here. Translated to C.
833 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
834 * grub-core/term/i386/pc/console.c (grub_console_getkey):
835 ... here. Translated to C.
836 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
837 * grub-core/term/i386/pc/console.c (grub_console_getxy):
838 ... here. Translated to C.
839 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
840 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
841 ... here. Translated to C.
842 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
843 * grub-core/term/i386/pc/console.c (grub_console_cls):
844 ... here. Translated to C.
845 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
846 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
847 ... here. Translated to C.
848 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
849 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
850 Translated to C.
851 * grub-core/term/i386/pc/console.c (int10_9): New function.
852 (grub_console_putchar): Likewise.
853 * include/grub/i386/pc/console.h: Removed the not anymore shared
854 functions.
855
678f4b67
VS
8562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
857
858 Move grub_chainloader_real_boot out of the kernel.
859
860 * grub-core/Makefile.am: Remove machine/loader.h.
861 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
862 Removed.
863 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
864 variable.
865 (grub_relocator16_keep_a20_enabled): Likewise.
866 (grub_relocator16_boot): Fill new variables.
867 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
868 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
869 relocator.
870 (grub_chainloader_unload): Likewise.
871 (grub_chainloader_cmd): Likewise.
872 * include/grub/i386/pc/loader.h: Removed.
873 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
874 and esi. All initialisers updated.
875
4626edf6
VS
8762011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8772011-11-12 Colin Watson <cjwatson@ubuntu.com>
878
879 * Makefile.util.def (grub-mount): New util.
880 * .bzrignore: Add grub-mount.
881 * configure.ac: Check for fuse and enable grub-mount if available.
882 * docs/man/grub-mount.h2m: New file.
883 * util/grub-mount.c: Likewise.
884
10f0117b
VS
8852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
886
887 * grub-core/commands/efi/fixvideo.c: Gettextize.
888 * grub-core/commands/hashsum.c: Likewise.
889 * grub-core/commands/i386/cmostest.c: Likewise.
890 * grub-core/commands/i386/pc/drivemap.c: Likewise.
891 * grub-core/commands/i386/pc/lsapm.c: Likewise.
892 * grub-core/commands/i386/pc/sendkey.c: Likewise.
893 * grub-core/commands/lsmmap.c: Likewise.
894 * grub-core/commands/menuentry.c: Likewise.
895 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
896 * grub-core/commands/setpci.c: Likewise.
897 * grub-core/loader/i386/bsd.c: Likewise.
898 * grub-core/loader/i386/linux.c: Likewise.
899 * util/getroot.c: Likewise.
900 * util/grub-editenv.c: Likewise.
901 * util/grub-fstest.c: Likewise.
902 * util/grub-mkfont.c: Likewise.
903 * util/grub-mkimage.c: Likewise.
904 * util/grub-mkpasswd-pbkdf2.c: Likewise.
905 * util/grub-pe2elf.c: Likewise.
906 * util/grub-probe.c: Likewise.
907 * util/grub-setup.c: Likewise.
908 * util/ieee1275/ofpath.c: Likewise.
909 * util/misc.c: Likewise.
910 * util/raid.c: Likewise.
911
566f779b
RM
9122011-11-11 Robert Millan <rmh@gnu.org>
913
914 * util/getroot.c (grub_util_get_geom_abstraction): Remove
915 __attribute__((unused)) from `os_dev', which *is* being used.
916
b50787de
VS
9172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
920 forgotten define.
921 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
922 GRUB_IA64_DL_GOT_ALIGN.
923 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
924 GRUB_IA64_DL_TRAMP_ALIGN.
925
119d11c8
VS
9262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
927
928 Replace grub_fatal with normal errors in i386 linux loader.
929
930 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
931 (allocate_pages): Check find_efi_mmap_size return value.
932 (grub_e820_add_region): Return error.
933 (grub_linux_boot): Check mmap return value.
934
6e0632e2
VS
9352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
936
937 * grub-core/commands/acpihalt.c: Gettextized.
938 * grub-core/commands/cacheinfo.c: Likewise.
939 * grub-core/commands/cmp.c: Likewise.
940 * grub-core/commands/efi/loadbios.c: Likewise.
941 * grub-core/commands/gptsync.c: Likewise.
942 * grub-core/commands/ieee1275/suspend.c: Likewise.
943 * grub-core/commands/legacycfg.c: Likewise.
944 * grub-core/commands/memrw.c: Likewise.
945 * grub-core/commands/minicmd.c: Likewise.
946 * grub-core/commands/parttool.c: Likewise.
947 * grub-core/commands/time.c: Likewise.
948 * grub-core/commands/videoinfo.c: Likewise.
949 * grub-core/disk/geli.c: Likewise.
950 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
951 * grub-core/disk/luks.c: Likewise.
952 * grub-core/disk/lvm.c: Likewise.
953 * grub-core/font/font_cmd.c: Likewise.
954 * grub-core/fs/zfs/zfscrypt.c: Likewise.
955 * grub-core/fs/zfs/zfsinfo.c: Likewise.
956 * grub-core/gfxmenu/view.c: Likewise.
957 * grub-core/kern/emu/hostdisk.c: Likewise.
958 * grub-core/kern/emu/main.c: Likewise.
959 * grub-core/kern/emu/misc.c: Likewise.
960 * grub-core/kern/emu/mm.c: Likewise.
961 * grub-core/kern/mips/arc/init.c: Likewise.
962 * grub-core/kern/mips/loongson/init.c: Likewise.
963 * grub-core/kern/partition.c: Likewise.
964 * grub-core/lib/i386/halt.c: Likewise.
965 * grub-core/lib/mips/arc/reboot.c: Likewise.
966 * grub-core/lib/mips/loongson/reboot.c: Likewise.
967 * grub-core/loader/i386/pc/chainloader.c: Likewise.
968 * grub-core/loader/i386/xnu.c: Likewise.
969 * grub-core/loader/multiboot.c: Likewise.
970 * grub-core/net/bootp.c: Likewise.
971 * grub-core/net/net.c: Likewise.
972 * grub-core/normal/term.c: Likewise.
973 * grub-core/partmap/bsdlabel.c: Likewise.
974 * grub-core/parttool/msdospart.c: Likewise.
975 * grub-core/term/gfxterm.c: Likewise.
976 * grub-core/term/terminfo.c: Likewise.
977 * grub-core/video/i386/pc/vbe.c: Likewise.
978 * util/grub-menulst2cfg.c: Likewise.
979 * util/grub-mkdevicemap.c: Likewise.
980 * util/grub-mklayout.c: Likewise.
981 * util/grub-mkrelpath.c: Likewise.
982 * util/grub-script-check.c: Likewise.
983 * util/ieee1275/grub-ofpathname.c: Likewise.
984 * util/resolve.c: Likewise.
985
073aa7a9
VS
9862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
987
988 Support %1$d syntax.
989
990 * tests/printf_unit_test.c: New file.
991 * Makefile.util.def (printf_test): New test.
992 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
993
c76b5417
VS
9942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
995
996 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
997 fix.
998
df067ad1
VS
9992011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
1002 dprintf.
1003 * grub-core/font/font.c (grub_font_load): Likewise.
1004
5b289bc5
VS
10052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1006
1007 * util/grub-macho2img.c: Add comment concerning gettext.
1008 * grub-core/lib/legacy_parse.c: Likewise.
1009
c1860f87
VS
10102011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
1013 (grub_xvasprintf): Likewise.
1014
d35d0d37
VS
10152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 Add const keyword to grub_env_get and gettextize week days.
1018
1019 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
1020 (grub_read_hook_datetime): Return const char *.
1021 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
1022 updated.
1023 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
1024 Mark for gettext.
1025 (grub_get_weekday_name): Return const char *. Call gettext.
1026 * grub-core/script/argv.c (grub_script_argv_append): Receive const
1027 char * and len as the argument. All users updated.
1028 (grub_script_argv_split_append): Receive const char *.
1029 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
1030 * include/grub/env.h (grub_env_get): Likewise.
1031 (grub_env_read_hook_t): Return const char *.
1032 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
1033 (grub_script_argv_split_append): Likewise.
1034
9aed8a71
VS
10352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
1038
067fdf00
VS
10392011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
1042 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
1043
a8bd9d39
VS
10442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
1047 Fix prototype.
1048
f7ce5baf
VS
10492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1050
1051 Fix mips compilation.
1052
1053 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
1054 normal decoder.
1055 (hashes): Use in embed decoder as well (for sizes).
1056 (dec_stream_header): Fix embed decompressor logic.
1057 (dec_stream_footer): Likewise.
1058
9bb182f3
VS
10592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
1062 an error and not a fatal on unrecognised relocation types.
1063
63a9e6f6
VS
10642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
1067 Issue error rather than printf on unknown arguments.
1068
4c458569
VS
10692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1070
1071 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
1072 Make buf a const.
1073
e2d22baf
VS
10742011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1075
1076 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
1077 Fix module name.
1078
53dc8590
VS
10792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1080
1081 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
1082 leftover debug printf.
1083
6c189294
VS
10842011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
1087
f7688369
VS
10882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
1091 A stylistic fix.
1092
11a775a3
VS
10932011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
1096
33f784e8
SL
10972011-11-10 Shea Levy <slevy@tieronedesign.com>
1098
1099 Allow all modules to perform serial IO
1100
1101 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
1102 * include/grub/serial.h (grub_serial_port_configure): New inline
1103 function.
1104 (grub_serial_port_fetch): Likewise.
1105 (grub_serial_port_put): Likewise.
1106 (grub_serial_port_fini): Likewise.
1107 (grub_serial_find): New proto.
1108
f6276525
VS
11092011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1110
1111 Put symlink at the end of the node and fix a potential
1112 memory corruption.
1113
1114 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
1115 Make symlink into an array.
1116 (set_rockridge): Set have_symlink and alloc_dirents.
1117 (grub_iso9660_read_symlink): Use new layout.
1118 (grub_iso9660_iterate_dir): Fix memory corruption.
1119 Use new layout.
1120 (grub_iso9660_dir): Set have_symlink.
1121 (grub_iso9660_open): Likewise.
1122
c3591189
VS
11232011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1124
1125 Remove local keyword.
1126
1127 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
1128 (version_test_gt): Likewise.
1129 (version_find_latest): Likewise.
1130 (gettext_printf): Likewise.
1131 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
1132
cb544caa
VS
11332011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1134
1135 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
1136
45bd824d
VS
11372011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 Fix ZFS memory and resource leaks.
1140
1141 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
1142 All users updated.
1143 Free type on exit.
1144 (fill_vdev_info): New parameter inserted. All users updated.
1145 (check_pool_label): Likewise.
1146 (scan_disk): Likewise.
1147 (scan_devices): Close non-inserted disks.
1148 (fzap_iterate): Free l.
1149 (unmount_device): Free children descripto memory.
1150
ad9a2f44
VS
11512011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1152
1153 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
1154 argument (access out of bounds).
1155
6b68db81
VS
11562011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
1159 >= 6 drives.
1160
28840fda
VS
11612011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1162
1163 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
1164 Fix declaration.
1165
8a5a3a5b
VS
11662011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 Fix several memory leaks.
1169
1170 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
1171 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
1172 (grub_cpio_dir): Likewise.
1173 * grub-core/fs/fat.c (grub_fat_label): Likewise.
1174 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
1175 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
1176 (grub_romfs_label): Likewise.
1177 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
1178 (squash_unmount): New function.
1179 (grub_squash_dir): Fix memory leak.
1180 (grub_squash_open): Likewise.
1181 (grub_squash_read): Likewise.
1182 (grub_squash_mtime): Likewise.
1183 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
1184 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
1185 * util/grub-fstest.c (fstest): Likewise.
1186
57b01250
VS
11872011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1188
1189 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
1190 avoid accessing beyond the array.
1191
19e81ba7
VS
11922011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
1195
52b656c0
VS
11962011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1197
1198 Several AFFS fixes.
1199
1200 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
1201 (GRUB_AFFS_FLAG_FFS): Removed.
1202 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
1203 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
1204 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
1205 (grub_fshelp_node): Make block 32-bit.
1206 Add block_cache and last_block_cache.
1207 (grub_affs_read_block): Fill and use block cache.
1208 (grub_affs_read_file): Removed.
1209 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
1210 boot block.
1211 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
1212 safety.
1213 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
1214 space.
1215 (grub_affs_close): Free block cache.
1216 (grub_affs_read): Use grub_fshelp_read_file directly.
1217
438a746a
VS
12182011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
1221 with no error set.
1222
49a45021
VS
12232011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1224
1225 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
1226 used variable.
1227 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1228 Likewise.
1229
3ae17eb8
VS
12302011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
1233
1234 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
1235 byteswap when needed.
1236
27610c38
VS
12372011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 Fix FreeBSD compilation.
1240
1241 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
1242 to avoid circular dependency.
1243 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
1244 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
1245 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
1246
4a19b601
VS
12472011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1248
1249 Fix ZFS crypto error types.
1250
1251 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
1252 (grub_gcm_decrypt): Likewise.
1253 (grub_zfs_load_key_real): Fix error code type. Handle possible error
1254 from PBKDF2.
1255
958ee221
VS
12562011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1257
1258 Illumos support.
1259
1260 * Makefile.util.def (10_illumos): New script.
1261 * configure.ac: Set COND_HOST_ILLUMOS.
1262 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
1263 Support Illumos calls.
1264 (find_partition_start) [__sun__]: Likewise.
1265 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
1266 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
1267 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
1268 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
1269 device.
1270 * util/grub-probe.c (probe) [__sun__]: Do character check.
1271 * util/grub.d/10_illumos.in: New file.
1272
cac14fb6
VS
12732011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1274
1275 Support escaped commas in hostdisk.
1276
1277 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
1278 (find_grub_drive): Use unescape_cmp.
1279 (make_device_name): Escape commas.
1280
78e08dc3
VS
12812011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
1284
9f421dd1
VS
12852011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
1288 variable.
1289
ed64e9e2
VS
12902011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1291
1292 Support trampoline jumps on powerpc.
1293
1294 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
1295 __ia64__ path.
1296 (grub_dl_load_segments): Set mod->sz.
1297 (grub_dl_flush_cache): Flush whole space occupied by module, not just
1298 segments.
1299 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
1300 (jump): Likewise.
1301 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
1302 function.
1303 (trampoline): New struct.
1304 (trampoline_template): New const.
1305 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
1306 * include/grub/dl.h (grub_dl): Add sz element.
1307 [__powerpc__]: Follow __ia64__.
1308 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
1309 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
1310 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
1311 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
1312
3084ede4
VS
13132011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1314
1315 ZFS crypto support.
1316
1317 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
1318 * grub-core/Makefile.core.def (zfscrypt): New module.
1319 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
1320 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
1321 it. All users updated.
1322 (grub_zfs_decrypt): New var.
1323 (grub_zfs_load_key): Likewise.
1324 (zio_checksum_functions): Add SHA256+MAC.
1325 (zio_checksum_verify): Handle incomplete comparison due to MAC.
1326 (zio_read): Handle encrypted blocks.
1327 (zap_verify): Remove incorrect check.
1328 (fzap_iterate): Handle non-standard fzap.
1329 (zap_iterate): Likewise.
1330 (zap_iterate_u64): New function.
1331 (dnode_get_fullpath): Load keys.
1332 * grub-core/fs/zfs/zfscrypt.c: New file.
1333 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
1334 (grub_crypto_ecb_encrypt): Make input const.
1335 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
1336 (grub_crypto_ecb_encrypt): Make input const.
1337 (GRUB_CIPHER_AES): New macro.
1338 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
1339 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
1340 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
1341 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
1342 prefix. All users updated.
1343 (grub_zfs_add_key): New proto.
1344 (grub_zfs_decrypt): Likewise.
1345 (grub_zfs_load_key): Likewise.
1346 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
1347 * util/grub-fstest.c (options): Add -K option.
1348 (argp_parser): Likewise.
1349
b632b404
VS
13502011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1351
1352 Support zle compression on ZFS.
1353
1354 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
1355 (decomp_table): Add zle.
1356 * include/grub/zfs/zio.h (zio_compress): Add zle.
1357
c7ba4f69
VS
13582011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 Support BtrFS embedding.
1361
1362 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
1363 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
1364 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
1365 * util/grub-setup.c (setup): Use fs embedding if available.
1366 Add additional sanity check.
1367
455377d9
VS
13682011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 * util/grub-install.in: Fix condition for config_opt.
1371
c2fd16ca
VS
13722011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 Support third redundancy strip on raidz3.
1375
1376 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
1377 Return error on singularity. All users updated.
1378 (read_device): Don't stop on 3rd failure on raidz3.
1379
8622923b
VS
13802011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1381
1382 Support case-insensitive ZFS subvolumes.
1383
1384 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
1385 All users updated.
1386 (zap_hash): Likewise.
1387 (name_cmp): New function.
1388 (zap_leaf_array_equal): New parameter case_insensitive.
1389 All users updated.
1390 (zap_leaf_lookup): Likewise.
1391 (fzap_lookup): Likewise.
1392 (zap_lookup): Likewise.
1393 (dnode_get_path): New parameter case_insensitive. Retrieve case
1394 sensitiviness of a volume. All users updated.
1395 (dnode_get_fullpath): New parameter case_insensitive.
1396 All users updated.
1397 (grub_zfs_dir): Set info.case_insensitiveness.
1398
95f2e860
VS
13992011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1400
1401 Support second redundancy strip on raidz(2,3).
1402
1403 * grub-core/fs/zfs/zfs.c (powx): New array.
1404 (powx_inv): Likewise.
1405 (poly): New const.
1406 (xor_out): New function.
1407 (gf_mul): Likewise.
1408 (recovery): Likewise.
1409 (read_device): Use second redundancy strip.
1410
11ee4389
VS
14112011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 Use a power of generator representation of GF(256) multiplication group
1414 to save space time and complexity.
1415
1416 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
1417 (raid6_table2): Likewise.
1418 (powx): New array.
1419 (powx_inv): Likewise.
1420 (poly): New const.
1421 (grub_raid_block_mul): Replace with ...
1422 (grub_raid_block_mulx): ...this.
1423 (grub_raid6_init_table): Rewritten.
1424 (grub_raid6_recover): Use power of generator representation.
1425
09e2763f
VS
14262011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
1429 for the right device.
1430
8bec9a28
VS
14312011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1432
1433 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
1434 expected by grub-mkimage and it's more clear since there is no implicit
1435 padding.
1436
dbd3a32e
VS
14372011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1438
1439 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
1440 disk.
1441 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
1442
182c872a
PMH
14432011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
1444
1445 * util/grub-mkrescue.in: Fix handling xorriso option.
1446
1e51cabd
VS
14472011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1448
1449 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
1450 NULL.
1451
9cc3581d 14522011-11-03 crocket <crockabiscuit@gmail.com>
1453
1454 * util/grub.d/10_linux.in: Add Slackware initrd naming.
1455
158dc1ea
VS
14562011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1457
1458 XZ CRC64 and SHA256 support.
1459
1460 * Makefile.util.def (libgrubmods): Add crc64.c.
1461 * grub-core/Makefile.core.def (crc64): New module.
1462 * grub-core/lib/crc64.c: New file.
1463 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
1464 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
1465 Fix the type.
1466 (MAX_HASH_SIZE): New define.
1467 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
1468 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
1469 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
1470 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
1471 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
1472 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
1473 Handle non-crc32 hashes.
1474 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
1475 (dec_stream_header): Handle non-crc32 hashes.
1476 (dec_stream_footer): Likewise.
1477 (dec_block_header): Likewise.
1478 (dec_main): Likewise.
1479 (xz_dec_init): Likewise.
1480 (xz_dec_reset): Likewise.
1481 (xz_dec_end): Likewise.
1482 * util/import_gcry.py: Add CRC64 line.
1483
9d9b3d2f
VS
14842011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1485
1486 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
1487 as well.
1488
7d0ac931
VS
14892011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1490
1491 Make reiserfs label retrieval similar to other *_label functions.
1492
1493 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
1494 (REISERFS_MAX_LABEL_LENGTH): Removed.
1495 (REISERFS_LABEL_OFFSET): Likewise.
1496 (grub_reiserfs_label): Rewritten.
1497
14982011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1499
1500 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
1501 field.
1502
cf5ba824
VS
15032011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1504
1505 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
1506
17744004
VS
15072011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
1510 drive failure on both raidz and raidz2.
1511
aca5aefc
VS
15122011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1513
1514 Fix RAIDZ(2) for >= 5 devices.
1515
1516 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
1517 asize argument. All users updated.
1518
ce8ca56e
VS
15192011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1520
1521 Fix RAIDZ(2).
1522
1523 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
1524 (fill_vdev_info_real): Set ashift.
1525 (read_device): Rewrite RAIDZ part based on reverse engineering.
1526
7c01e783
VS
15272011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
1528
1529 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
1530 don't report potentially unavialiable fields in debug output.
1531 (find_path): Fix double-free and memory leak.
1532
ce109e84
VS
15332011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
1534
1535 Read label on UFS1.
1536
1537 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
1538 (grub_ufs_fs): Always set .label.
1539
87661123
VS
15402011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
1541
1542 Use shifts in UFS.
1543
1544 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
1545 (grub_ufs_data): New field log2_blksz.
1546 (grub_ufs_read_file): Use shifts.
1547 (grub_ufs_mount): Check block size and logarithm it.
1548
46bc1dc2
VS
15492011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
1550
1551 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
1552 long symlinks.
1553
19ee2987
VS
15542011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1555
1556 Handle symlinks and long names on tar and cpio.
1557
1558 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
1559 (ATTR_FILE): Likewise.
1560 (ATTR_DIR): Likewise.
1561 (ATTR_LNK): Likewise.
1562 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
1563 (grub_cpio_find_file): Fill mode, handle linkname field as well as
1564 L and K entries.
1565 (grub_cpio_mount): Zero-fill data.
1566 (handle_symlink): New function.
46bc1dc2
VS
1567 (grub_cpio_dir): Handle symlinks.
1568 (grub_cpio_open): Likewise.
1569 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 1570
c83a08d8
VS
15712011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 Fix iso9660 filename limitations and fix memory leaks.
1574
1575 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
1576 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
1577
45cdd3ea
VS
15782011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1579
1580 Fix JFS file name length limitations.
1581
1582 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
1583 (grub_jfs_diropen): Fix maximum filename length.
1584 (grub_jfs_getent): Fix filename length.
1585 (grub_jfs_lookup_symlink): Fix size checks.
1586
94ef05c2
VS
15872011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1588
1589 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
1590 string.
1591
785ab8c7
VS
15922011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1593
eb0b6b45
VS
1594 Leverage BFS implementation to read AFS.
1595
1596 * Makefile.util.def (libgrubmods): Add afs.c.
1597 * grub-core/Makefile.core.def (afs): New module
1598 * grub-core/fs/afs.c: New file.
1599 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
1600
16012011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1602
1603 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 1604
c4a1628f
VS
16052011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * grub-core/fs/bfs.c: Run indent.
1608
5825b379
VS
16092011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1610
1611 BFS implementation based on the specification.
1612
1613 * grub-core/fs/bfs.c: New file.
1614 * Makefile.util.def (libgrubmods): Add bfs.c.
1615 * grub-core/Makefile.core.def (bfs): New module.
1616
42b2a706
VS
16172011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 * util/grub-fstest.c (cmd_cp): Clarify error message.
1620 (cmd_cmp): Likewise.
1621
61b99bfc
YB
16222011-10-30 Yves Blusseau <blusseau@zetam.org>
1623
1624 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
1625 and befs_be.
1626
faba3d16
VS
16272011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 Remove afs and befs because of copyright problem.
1630
1631 * grub-core/fs/afs.c: Removed.
1632 * grub-core/fs/afs_be.c: Removed.
1633 * grub-core/fs/befs.c: Removed.
1634 * grub-core/fs/befs_be.c: Removed.
1635 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
1636 * grub-core/Makefile.core.def (afs): Removed.
1637 (afs_be): Likewise.
1638 (befs): Likewise.
1639 (befs_be): Likewise.
1640
c39224b0
VS
16412011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1642
1643 Prefer rockridge over Joliet.
1644
1645 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
1646 to ...
1647 (set_rockridge): ... here.
1648 (grub_iso9660_mount): Check rockridge on the primary label when
1649 discovering. Ignore Joliet if Rockridge is present.
1650
e551115a
VS
16512011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1652
1653 Use shifts in nilfs2.
1654
1655 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
1656 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
1657 (grub_nilfs2_palloc_entries_per_group): Replace with ...
1658 (grub_nilfs2_log_palloc_entries_per_group): ... this.
1659 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
1660 (grub_nilfs2_entries_per_block): Replaced with ...
1661 (grub_nilfs2_log_entries_per_block_log): ... this.
1662 (grub_nilfs2_blocks_per_group): Replaced with ...
1663 (grub_nilfs2_blocks_per_group_log): ... this.
1664 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
1665 (grub_nilfs2_blocks_per_desc_block_log): ... this.
1666 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
1667 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
1668 (grub_nilfs2_palloc_entry_offset): Replaced ...
1669 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
1670 (grub_nilfs2_dat_translate): Use shifts.
1671 (grub_nilfs2_read_inode): Likewise.
1672 (GRUB_MOD_INIT): Ensure that logs are correct.
1673
564dd58c
VS
16742011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1675
1676 Use shifts in minix filesystem.
1677
1678 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
1679 (GRUB_MINIX_ZONE2SECT): Likewise.
1680 (grub_minix_data): Replace block_size with log_block_size.
1681 (grub_minix_read_file): Use shifts.
1682 (grub_minix_mount): Check block size and take a logarithm.
1683
ed9ba06d
VS
16842011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 Use shifts in squash4.
1687
1688 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
1689 (squash_mount): Check block size and take logarithm.
1690 (direct_read): Use shifts.
1691
ad03fe76
VS
16922011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1693
1694 Correct befs block counting logic.
1695
1696 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
1697 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
1698 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
1699 (grub_afs_read_inode): Use block_shift.
1700 (RANGE_SHIFT): New definition.
1701 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
1702 unexpected conditions, use shifts and appropriate types.
1703 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
1704
6563f63d
VS
17052011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1706
1707 * grub-core/disk/raid.c (scan_devices): Check partition.
1708 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
1709
5b1ae25f
VS
17102011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1711
1712 Support BFS (befs) UUID.
1713
1714 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
1715 (grub_afs_small_data_element_header): New struct.
1716 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
1717 (grub_afs_read_attribute) [MODE_BFS]: New function.
1718 (grub_afs_iterate_dir): Allocate for complete inode.
1719 (grub_afs_mount): Likewise.
1720 (grub_afs_uuid) [MODE_BFS]: New function.
1721 (grub_afs_fs) [MODE_BFS]: Add .uuid.
1722
f8d82408
VS
17232011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1724
1725 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
1726 (zfs_unmount): Fix memory leak.
1727
5773fb64
VS
17282011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1729
1730 Support NTFS reparse points.
1731
1732 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
1733 (symlink_descriptor): New struct.
1734 (grub_ntfs_read_symlink): New function.
1735 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
1736 (grub_ntfs_open): Likewise.
1737
91c3fdde
VS
17382011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1739
1740 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
1741
3be82e10
VS
17422011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1743
1744 fstest xnu_uuid subcommand.
1745
1746 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
1747 grub-core/commands/xnu_uuid.c.
1748 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
1749 (fstest): Handle xnu_uuid.
1750 (options): Document xnu_uuid.
1751 (argp_parser): Parse xnu_uuid.
1752
8e32442e
VS
17532011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1754
1755 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
1756 -l argument. Add newline at the end if printing.
1757 (GRUB_MOD_INIT): Document -l.
1758
52a05075
VS
17592011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1760
1761 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
1762
1869edb5
VS
17632011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 ZFS multi-device and version 33 support.
1766
1767 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
1768 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
1769 (grub_zfs_data): Add multidev-ice-related fields.
1770 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
1771 (dva_get_offset): Make dva const.
1772 (zfs_fetch_nvlist): New function.
1773 (fill_vdev_info_real): Likewise.
1774 (fill_vdev_info): Likewise.
1775 (check_pool_label): Likewise.
1776 (scan_disk): Likewise.
1777 (scan_devices): Likewise.
1778 (read_device): Likewise.
1779 (read_dva): Likewise.
1780 (zio_read_gang): Use read_dva.
1781 (zio_read_data): Likewise.
1782 (zap_leaf_lookup): Add missing endian conversion.
1783 (zap_verify): Add missing endian conversion. All users updated.
1784 (fzap_lookup): Likewise.
1785 (fzap_iterate): Likewise.
1786 (dnode_get_path): Handle SA bonus.
1787 (nvlist_find_value): Make input const. All users updated.
1788 (unmount_device): New function.
1789 (zfs_unmount): Use unmount_device.
1790 (zfs_mount): Use scan_disk.
1791 (zfs_mtime): New function.
1792 (grub_zfs_open): Handle system attributes.
1793 (fill_fs_info): Likewise.
1794 (grub_zfs_dir): Likewise.
1795 (grub_zfs_fs): Add mtime.
1796 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
1797 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
1798 (SA_MTIME_OFFSET): Likewise.
1799 (SA_SYMLINK_OFFSET): Likewise.
1800 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
1801 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
1802 (fstest): Support zfsinfo.
1803 (argp_parser): Likewise.
1804
186b4028
VS
18052011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
1808 error.
1809
18102011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
1811
1812 ZFS fixes.
1813
1814 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
1815 sharing the same block. Iterate over correct number of indices.
1816 (dnode_get_path): Handle symlinks correctly.
1817
c0584900
VS
18182011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1819
1820 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
1821
67e2bd71
VS
18222011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1823
1824 Read label on HFS+.
1825
1826 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
1827 (grub_hfsplus_btree_search): Fix types.
1828 (grub_hfsplus_label): Implement.
1829
e9cc6b7b
VS
18302011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
1833
19832ddb
VS
18342011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
1837
66b40850
VS
18382011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1839
1840 Fix symlink handling on iso9660.
1841
1842 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
1843 All users updated.
1844 (grub_iso9660_susp_iterate): Accept zero-size iterate.
1845 (grub_iso9660_read_symlink): Moved most of code ...
1846 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
1847
db821363
VS
18482011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
1851 Use union to avoid breaking strict-aliasing rules.
1852
e1211949
VS
18532011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1854
1855 Support multi-extent iso files.
1856
1857 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
1858 Add node.
1859 (grub_fshelp_node): Revamp. All users updated.
1860 (FLAG_*): New enum.
1861 (read_node): New function.
1862 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
1863 All users updated.
1864 (grub_iso9660_mount): Don't attempt to read sua when there is none.
1865 (get_node_size): New function.
1866 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
1867 entries.
1868 Fix memory leak on . and ..
1869 (grub_iso9660_read): Use read_node.
1870 (grub_iso9660_close): Free node.
1871
d4888031
VS
18722011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1873
1874 Fix tar 4G limit and handle paths containing dot.
1875
1876 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
1877 (canonicalize): New function.
1878 (grub_cpio_find_file): Use canonicalize. Store offs in
1879 grub_disk_addr_t.
1880 (grub_cpio_dir): Use grub_disk_addr_t.
1881 (grub_cpio_open): Likewise.
1882
9f12e664
VS
18832011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 Fix handling of uncompressed blocks on squashfs and break 4G limit.
1886
1887 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
1888 unused flags.
1889 (grub_squash_inode): Add long_file and block_size.
1890 (grub_squash_cache_inode): New struct.
1891 (grub_squash_dirent): Make types into enum.
1892 (SQUASH_TYPE_LONG_REGULAR): New type.
1893 (grub_squash_frag_desc): Add field size.
1894 (SQUASH_BLOCK_FLAGS): New enum.
1895 (grub_squash_data): Use grub_squash_cache_inode.
1896 (grub_fshelp_node): Make ino_chunk 64-bit.
1897 (read_chunk): Minor argument change. All users updated.
1898 (squash_mount): Use correct le_to_cpu.
1899 (grub_squash_open): Handle LONG_REGULAR.
1900 (direct_read): New function.
1901 (grub_squash_read_data): Handle blocks correctly.
1902
9f326fba
VS
19032011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
1906
f4d9b64b
VS
19072011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1908
1909 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
1910
5bbd28b8
VS
19112011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
1912
1913 Fix 2G limit on ZFS.
1914
1915 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
1916 types.
1917 (uberblock_verify): Likewise.
1918 (dmu_read): Likewise.
1919 (grub_zfs_read): Likewise. Remove invalid cast.
1920
68c72069
VS
19212011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
1922
1923 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
1924 (grub_jfs_blkno): Fix incorrect shift.
1925 (grub_jfs_read_file): Use more appropriate types.
1926
6e536dc8
VS
19272011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
1928
1929 Support triple indirect on minix2 and minix3.
1930
1931 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
1932 Declare triple_indir_zone.
1933 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
1934 indirect.
1935
e0864e7a
VS
19362011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
1937
1938 Minix FS fixes.
1939
1940 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
1941 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
1942 Rename ctime to mtime. All users updated.
1943 (grub_minix_get_file_block): Fix types and double indirect computations.
1944
89481cab
VS
19452011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1946
1947 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
1948 if no label is found.
1949 (grub_fat_iterate_dir): Fix file size type.
1950 (grub_fat_iterate_dir): Likewise.
1951
f646e143
VS
19522011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
1955 save some space.
1956 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
1957 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
1958
534d769e
VS
19592011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1960
1961 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
1962
e084ba18
VS
19632011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1964
1965 * util/import_gcry.py: Accept space between # and include.
1966
3471ecdf
VS
19672011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
1970
124df5f6
VS
19712011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1972
1973 Fine grainely disable warnings on lexer. Remove Wno-error on it.
1974
1975 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
1976 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
1977 yylex_strncpy.
1978 * grub-core/script/yylex.l: Add fine-grained #pragma.
1979
4defb8d5
VS
19802011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
1983 New inline function.
1984 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
1985 Likewise.
1986 (memset) [GRUB_UTIL]: Likewise.
1987 (memcmp) [GRUB_UTIL]: Likewise.
1988
4e94ae65
VS
19892011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1990
1991 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
1992 inline function rather than a define.
1993
18c575e5
VS
19942011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1995
1996 * util/grub-setup.c: Add missing include.
1997
f8bc22a8
VS
19982011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1999
2000 * util/ieee1275/grub-ofpathname.c: Add missing include.
2001
3ce69fc9
VS
20022011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2003
2004 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
2005 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
2006 Likewise.
2007
d1e293bb
VS
20082011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
2011 grub_memcmp usage.
2012
7a5c54a4
VS
20132011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2014
2015 * util/grub-install.in: Add datarootdir as per automake manual
2016 suggestion.
2017 * util/grub-mknetdir.in: Likewise.
2018
20192011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
2020
2021 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
2022 suggestion.
2023 * util/grub.d/10_kfreebsd.in: Likewise.
2024 * util/grub.d/10_linux.in: Likewise.
2025 * util/grub.d/10_netbsd.in: Likewise.
2026 * util/grub.d/10_windows.in: Likewise.
2027 * util/grub.d/20_linux_xen.in: Likewise.
2028
766f7d08
VS
20292011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2030
2031 Remove redundant grub_kernel_image_size.
2032
2033 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
2034 _edata and _start.
2035 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
2036 the small code. It moves it only by few bytes but simplifies the code.
2037 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
2038 _start.
2039 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
2040 (grub_kernel_image_size): Removed.
2041 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
2042 (grub_kernel_image_size): Removed.
2043 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
2044 compiled with Apple toolchain.
2045 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
2046 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
2047 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
2048 (grub_total_module_size): Likewise.
2049 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
2050 Removed.
2051 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
2052 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
2053 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
2054 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
2055 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
2056 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
2057 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
2058 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
2059 Removed.
2060 (grub_total_module_size): Removed.
2061 * util/grub-mkimage.c (image_target_desc): Remove image_size.
2062 (image_targets): Likewise.
2063 Set .compressed_size to no field on sparc.
2064 (generate_image): Remove kernel_image_size handling.
2065
fcf1d672
SJ
20662011-10-19 Szymon Janc <szymon@janc.net.pl>
2067
2068 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
2069 NULL pointer dereference.
2070
de9c615e
VS
20712011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
2074 done with a dedicated section.
2075
2076 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
2077 Ensure the correct position of boot_path.
2078 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
2079 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
2080 other fields.
2081 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
2082 * include/grub/boot.h: Removed. All references removed.
2083 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
2084 Removed.
2085 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
2086
e55599dc
VS
20872011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2088
2089 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
2090 name.
2091
36dd20ad
VS
20922011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2093
2094 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
2095
f8f72eb8
VS
20962011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2099 Don't add the bogus brackets.
2100
a374751b
VS
21012011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2102
2103 ExFAT support.
2104
2105 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
2106 * grub-core/Makefile.core.def (exfat): New module.
2107 * grub-core/fs/exfat.c: New file.
2108 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
2109 (GRUB_FAT_ATTR_*): Make into an enum.
2110 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
2111 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
2112 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
2113 (GRUB_FAT_MAXFILE): Removed.
2114 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
2115 (grub_current_fat_bpb_t): New type.
2116 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
2117 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
2118 (grub_fat_dir_node_t): New type.
2119 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
2120 (fat_log2) [MODE_EXFAT]: Removed.
2121 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
2122 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
2123 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
2124 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
2125 (grub_fat_label) [MODE_EXFAT]: New function.
2126 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
2127 reserved_first_sector to 0.
2128
544c2487
VS
21292011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 Move grub_reboot out of the kernel.
2132
2133 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
2134 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
2135 * grub-core/lib/efi/reboot.c: ... here.
2136 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
2137 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
2138 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
2139 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
2140 * grub-core/lib/i386/reboot_trampoline.S: ... here.
2141 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
2142 * grub-core/lib/ieee1275/reboot.c: ... here.
2143 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
2144 * grub-core/lib/mips/arc/reboot.c: ... here.
2145 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
2146 * grub-core/lib/mips/loongson/reboot.c: ...here.
2147 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
2148 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
2149 * include/grub/emu/misc.h (grub_reboot): New function declaration.
2150 * include/grub/i386/reboot.h: New file.
2151 * include/grub/mips/loongson/ec.h: Fix includes.
2152 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
2153 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
2154 * grub-core/lib/i386/reboot.c: New file.
2155
a97501d2
VS
21562011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 Make grub_prefix into module to fix the arbitrary limit and save
2159 some space.
2160
2161 * grub-core/kern/emu/main.c (grub_prefix): Removed.
2162 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
2163 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
2164 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
2165 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
2166 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
2167 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
2168 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
2169 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
2170 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
2171 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
2172 * include/grub/ia64/efi/kernel.h: Removed.
2173 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
2174 (grub_prefix): Removed.
2175 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
2176 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
2177 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
2178 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
2179 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
2180 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
2181 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
2182 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
2183 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
2184 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
2185 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
2186 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
2187 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
2188 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
2189 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
2190 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
2191 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
2192 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
2193 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
2194 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
2195 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
2196 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
2197 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
2198 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
2199 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
2200 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
2201 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
2202 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
2203 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
2204 from module.
2205 * util/grub-mkimage.c (image_target_desc): Removed prefix and
2206 prefix_end.
2207 (image_targets): Likewise.
2208 (generate_image): Put prefix as a module.
2209
39705fad
VS
22102011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2211
2212 Replace grub_module_iterate with FOR_MODULES.
2213
2214 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
2215 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
2216 (grub_efi_modules_addr): ...this.
2217 * grub-core/kern/efi/init.c (grub_modbase): New variable.
2218 (grub_efi_init): Set grub_modbase.
2219 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
2220 (grub_modbase): New variable.
2221 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
2222 (grub_modbase): New variable.
2223 (grub_machine_init): Set grub_modbase.
2224 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
2225 (grub_modbase): New variable.
2226 (grub_machine_init): Set grub_modbase.
2227 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
2228 (grub_modbase): New variable.
2229 (grub_machine_init): Set grub_modbase.
2230 * grub-core/kern/main.c (grub_module_iterate): Remove.
2231 (grub_modules_get_end): Use grub_modbase.
2232 (grub_load_modules): Use FOR_MODULES.
2233 (grub_load_config): Likewise.
2234 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
2235 (grub_modbase): New variable.
2236 (grub_machine_init): Set grub_modbase.
2237 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
2238 (grub_modbase): New variable.
2239 (grub_machine_init): Set grub_modbase.
2240 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
2241 Removed.
2242 (grub_modbase): New variable.
2243 (grub_machine_init): Set grub_modbase.
2244 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
2245 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
2246 (grub_module_iterate): Likewise.
2247 (grub_modbase): New variable declaration.
2248 (FOR_MODULES): New macro.
2249
2afb7f6c
VS
22502011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 * configure.ac: Check for __ctzdi2 and __ctzsi2.
2253 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
2254
366e34fa
VS
22552011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2256
2257 Fix few obvious type discrepancies.
2258
2259 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
2260 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
2261 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
2262 variable.
2263 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
2264 and connected types.
2265 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
2266 offset.
2267 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
2268 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
2269 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
2270 and connected types.
2271
177b960e
VS
22722011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2273
2274 Fix python 3.x incompatibilities.
2275
2276 * gentpl.py: Put brackets around print strings.
2277 * util/import_gcry.py: Open explicitly as utf-8.
2278 Use in instead of has_key.
2279
3b619ae1
VS
22802011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
2283 (GRUB_XFS_INO_AGBITS): Make into inline function.
2284 (GRUB_XFS_INO_INOINAG): Likewise.
2285 (GRUB_XFS_INO_AG): Likewise.
2286 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
2287 (GRUB_XFS_EXTENT_OFFSET): Likewise.
2288 (GRUB_XFS_EXTENT_BLOCK): Likewise.
2289 (GRUB_XFS_EXTENT_SIZE): Likewise.
2290 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
2291 (GRUB_XFS_NEXT_DIRENT): Likewise.
2292 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
2293 (grub_xfs_read_file): Fix offset type.
2294
8bcebcb8
RM
22952011-10-15 Robert Millan <rmh@gnu.org>
2296
2297 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
2298
0017e5ef
RM
22992011-10-15 Robert Millan <rmh@gnu.org>
2300
2301 Fix build problem on FreeBSD and GNU/kFreeBSD.
2302
2303 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
2304
d8919552
VS
23052011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
2308
2309 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
2310 types.
2311 (grub_hfsplus_btree_recoffset): Likewise.
2312 (grub_hfsplus_btree_recptr): Likewise.
2313 (grub_hfsplus_find_block): Likewise.
2314 (grub_hfsplus_btree_search): Likewise.
2315 (grub_hfsplus_read_block): Likewise.
2316 (grub_hfsplus_read_file): Likewise.
2317 (grub_hfsplus_mount): Likewise.
2318 (grub_hfsplus_btree_iterate_node): Likewise.
2319 (grub_hfsplus_btree_search): Likewise.
2320 (grub_hfsplus_iterate_dir): Likewise.
2321 (grub_hfsplus_read): A small code simplification.
2322
c81296b6
VS
23232011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2324
2325 * grub-core/kern/emu/hostdisk.c
2326 (convert_system_partition_to_system_disk): Don't assume that children
2327 of mapper nodes are mapper nodes.
2328
0eb8ffb1
VS
23292011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2330
2331 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
2332 * include/grub/misc.h (grub_isxdigit): New function.
2333 * grub-core/video/colors.c (my_isxdigit): Removed. All users
2334 switched to grub_isxdigit.
2335 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
2336 number starting with a letter.
2337
a98f4a08
RM
23382011-10-09 Robert Millan <rmh@gnu.org>
2339
2340 LVM support for FreeBSD and GNU/kFreeBSD.
2341
2342 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
2343 GNU/kFreeBSD.
2344 (LVM_DEV_MAPPER_STRING): Move from here ...
2345 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
2346 * util/getroot.c: Include `<grub/util/lvm.h>'.
2347 (grub_util_get_dev_abstraction): Enable
2348 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
2349 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
2350 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
2351 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
2352 support it.
2353 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
2354 GNU/kFreeBSD.
2355 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
2356 when LVM abstraction is required for ${GRUB_DEVICE}.
2357
050e8e90
SJ
23582011-10-06 Szymon Janc <szymon@janc.net.pl>
2359
2360 Add support for LZO compression in GRUB:
2361 - import of minilzo library,
2362 - LZO decompression for btrfs,
2363 - lzop files decompression.
2364
2365 * grub-core/io/lzopio.c: New file.
2366 * grub-core/lib/adler32.c: Likewise.
2367 * grub-core/lib/minilzo/lzoconf.h: Likewise.
2368 * grub-core/lib/minilzo/lzodefs.h: Likewise.
2369 * grub-core/lib/minilzo/minilzo.c: Likewise.
2370 * grub-core/lib/minilzo/minilzo.h: Likewise.
2371 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
2372 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
2373 grub-core/lib/minilzo/minilzo.c to common.
2374 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
2375 cflags in cppflags.
2376 * grub-core/Makefile.core.def (btrfs): Likewise.
2377 * grub-core/Makefile.core.def (lzopio): New module.
2378 (adler32): Likewise.
2379 * grub-core/fs/btrfs.c: Include minilzo.h.
2380 (GRUB_BTRFS_COMPRESSION_LZO): New define.
2381 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
2382 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
2383 (grub_btrfs_lzo_decompress): New function.
2384 (grub_btrfs_extent_read): Add support for LZO compression type.
2385 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
2386 (GRUB_USHRT_MAX): Likewise.
2387 (GRUB_UINT_MAX): Likewise.
2388 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
2389 (UINT_MAX): Likewise.
2390 (CHAR_BIT): Likewise.
2391 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
2392 grub-core/lib/posix_wrap/limits.h
2393 (UCHAR_MAX): Likewise.
2394 * include/grub/file.h (grub_file_filter_id): New compression filter
2395 GRUB_FILE_FILTER_LZOPIO.
2396 * include/grub/file.h (grub_file_filter_id): Set
2397 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
2398 * include/grub/types.h (grub_get_unaligned16): New function.
2399 (grub_get_unaligned32): Likewise.
2400 (grub_get_unaligned64): Likewise.
2401 * util/import_gcry.py (cryptolist): Add adler32.
2402
0eb8ffb1
VS
24032011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
2406 in perspective decreases the complexity of build system and fixes
2407 compilation right now.
2408
ce79cc99 24092011-10-01 Ales Nesrsta <starous@volny.cz>
2410
2411 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
2412 (fixed problem related to using UHCI with coreboot).
2413
8667a314
BC
24142011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
2415
2416 * gentpl.py: Use Autogen macros so that the output template file
2417 (Makefile.tpl) size is reduced.
2418
fc5efcc0
MK
24192011-09-29 Mads Kiilerich <mads@kiilerich.com>
2420
2421 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
2422 extra_dist.
2423
d1ab689d
ML
24242011-09-29 Mario Limonciello <mario_limonciello@dell.com>
2425
2426 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
2427 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
2428
c05de032
ML
24292011-09-29 Mario Limonciello <mario_limonciello@dell.com>
2430
2431 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
2432 _fullpath.
2433
cca7ccd8
ML
24342011-09-29 Mario Limonciello <mario_limonciello@dell.com>
2435
2436 Remove extra declaration of sleep for mingw32.
2437
2438 * util/misc.c (sleep) [__MINGW32__]: Removed.
2439 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
2440
e0b0dc83
GS
24412011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
2442
2443 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
2444 type and packname.
2445 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
2446 Resurrected.
2447 (NETBSD_BTINFO_BOOTWEDGE): New definition.
2448 (grub_netbsd_btinfo_bootwedge): New struct.
2449 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2450 New function.
2451 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
2452
91a1a164
TH
24532011-09-28 Thomas Haller <thomas.haller@fen-net.de>
2454
2455 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
2456 loader.
2457
2ded951e
AB
24582011-09-28 Andreas Born <futur.andy@googlemail.com>
2459
2460 Fix incorrect identifiers in bash-completion.
2461
2462 * util/bash-completion.d/grub-completion.bash.in
2463 (_grub_mkpasswd-pbkdf2): Rename to ...
2464 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
2465 (_grub_script-check): Rename to ...
2466 (_grub_script_check): ... this. All users updated.
2467
69915030
VS
24682011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2469
2470 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
2471 Return 0 if disk isn't biosdisk.
2472
20fd15f9
GS
24732011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
2474
2475 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
2476 on NetBSD.
2477 * Makefile.util.def (grub-fstest): Likewise.
2478
1a7d7db9
GS
24792011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
2480
2481 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
2482 Get sector size from disk label.
2483
2221ab6c
CW
24842011-09-05 Colin Watson <cjwatson@ubuntu.com>
2485
2486 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
2487 */README* as well as README*.
2488 Reported by: Axel Beckert.
2489
ca51c4a0
VS
24902011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2491
2492 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
2493 case of less than 256 MiB of RAM.
2494
ab80f326
VS
24952011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2496
2497 * grub-core/commands/wildcard.c (make_regex): Handle @.
2498
4155e697
VS
24992011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * util/grub-install.in: Move cryptodisk logic to appropriate place.
2502
ab178c08
SJ
25032011-08-21 Szymon Janc <szymon@janc.net.pl>
2504
2505 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
2506 AC_LANG_CONFTEST macros.
2507
7dc3c686
SJ
25082011-08-20 Szymon Janc <szymon@janc.net.pl>
2509
2510 Add grub-fstest option to uncompress data for commands.
2511
2512 * util/grub-fstest.c (uncompress): New var.
2513 (options): New option -u.
2514
fe8d4a7b
SJ
25152011-08-20 Szymon Janc <szymon@janc.net.pl>
2516
2517 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
2518 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
2519
a5219af1
SJ
25202011-08-20 Szymon Janc <szymon@janc.net.pl>
2521
2522 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
2523 file type was not recognized correctly (not gzip or corrupted).
2524
f87abff5
VS
25252011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2526
2527 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
2528 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
2529
d94497ea
VS
25302011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
2533 loongson.
2534 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
2535 video_radeon_fuloong2e.
2536 * grub-core/video/radeon_fuloong2e.c: New file.
2537 * include/grub/video.h (grub_video_id_t): Add new ID
2538 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
2539
0d1fd011
VS
25402011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2541
2542 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
2543 define.
2544 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
2545 that PRID matches the detected subplatform and reset the subplatform
2546 if it doesn't.
2547
84beb0ee
VS
25482011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2549
2550 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
2551
1227c133
VS
25522011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2553
2554 Fix PCI iterating on functions >= 4.
2555
2556 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
2557 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
2558 Removed.
2559 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
2560 (grub_pci_read): Fix bitmask.
2561 (grub_pci_read_word): Likewise.
2562 (grub_pci_read_byte): Likewise.
2563 (grub_pci_write): Likewise.
2564 (grub_pci_write_word): Likewise.
2565 (grub_pci_write_byte): Likewise.
2566
9594c689
VS
25672011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2568
2569 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
2570 can still be specified in TARGET_CFLAGS)
2571
14a2562c
VS
25722011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2573
2574 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
2575
2576 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
2577 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
2578 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
2579 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
2580 (FULOONG): Rename to ...
2581 (FULOONG2F): ... this. All users updated.
2582 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
2583 (machtype_fuloong2f_str): ... this.
2584 (machtype_fuloong2e_str): New string.
2585 Check for machtype_fuloong2e_str.
2586 * grub-core/loader/mips/linux.c (loongson_machtypes)
2587 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
2588 * grub-core/term/serial.c (loongson_defserial)
2589 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
2590 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
2591 loongson_defserial.
2592 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
2593 Rename to ...
2594 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
2595 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
2596 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
2597 to IMAGE_FULOONG2F_FLASH. All users updated.
2598 (image_targets): Rename images.
2599 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
2600
b526cbb6
SJ
26012011-08-19 Szymon Janc <szymon@janc.net.pl>
2602
2603 Make enable of disk cache statistics code configurable.
2604
2605 * configure.ac: --enable-cache-stats added.
2606 * config.h.in (DISK_CACHE_STATS): New define.
2607 * grub-core/Makefile.core.def (cacheinfo): New command.
2608 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
2609 * grub-core/commands/cacheinfo.c: New file.
2610 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
2611 moved to cacheinfo.c.
2612 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
2613 debug code.
2614 * include/grub/disk.h: Likewise.
2615
fb739ccd
SJ
26162011-08-19 Szymon Janc <szymon@janc.net.pl>
2617
2618 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
2619 * grub-core/Makefile.am: Likewise.
2620
2bba8cfd
VS
26212011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
2624 non-zero pull.
2625
43526629
VS
26262011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
2629 All users updated.
2630 (grub_jfs_lookup_symlink): Use correct starting inode.
2631
5c144cc8
VS
26322011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2633
2634 * util/grub-setup.c (main): Add missing gcry initialisation.
2635
b1257f65
VS
26362011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2637
2638 Don't accept text modes on EFI when booting Linux.
2639
2640 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
2641 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
2642
828bc390
ML
26432011-08-15 Mario Limonciello <mario_limonciello@dell.com>
26442011-08-15 Colin Watson <cjwatson@ubuntu.com>
2645
2646 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
2647 use of "/path/.." as in grub-install for EFI as well as handling
2648 symlinks correctly.
2649 Fixes Debian bug #637768.
2650
5f60ccac
CW
26512011-08-15 Colin Watson <cjwatson@ubuntu.com>
2652
2653 * util/grub-probe.c: Remove duplicate #include.
2654
6dc212f9
RM
26552011-08-10 Robert Millan <rmh@gnu.org>
2656
2657 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
2658
2659 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
2660 function.
2661 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
2662 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
2663
66816d85
RM
26642011-08-03 Robert Millan <rmh@gnu.org>
2665
2666 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
2667 la_array as packed.
2668 Reported by: Zachary Bedell
2669
20168fca
CW
26702011-07-26 Colin Watson <cjwatson@ubuntu.com>
2671
2672 * configure.ac: The Loongson port requires grub-mkfont due to its
2673 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
2674 be built.
2675
303b6246
CW
26762011-07-26 Colin Watson <cjwatson@ubuntu.com>
2677
2678 * util/grub-install.in: Don't source grub-mkconfig_lib until after
2679 processing arguments (otherwise help2man fails when GRUB has not yet
2680 been installed).
2681
6795300e
VS
26822011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2683
41aa28ea
VS
2684 New script grub-mkstandalone.
2685
2686 * Makefile.util.def (grub-mkstandalone): New script.
2687 * docs/man/grub-mkstandalone.h2m: New file.
2688 * util/grub-mkstandalone.in: Likewise.
2689
26902011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2691
2692 Support ATA disks with 4K sectors.
6795300e
VS
2693
2694 * include/grub/ata.h (grub_ata): New member log_sector_size.
2695 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
2696 (grub_ata_identify): Read sector size.
2697 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
2698
92227597
VS
26992011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2700
2701 * util/grub-install.in: Don't use uhci outside of x86.
2702
c77069f5
VS
27032011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2704
2705 * util/grub-mkrescue.in: Add missing quotes.
2706
27072011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
2708
2709 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
2710 dereference.
2711
583168a2
VS
27122011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
2713
2714 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
2715
6be1c01f
VS
27162011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
2717
2718 * include/grub/video.h: add missing EXPORT_FUND on
2719 grub_video_edid_checksum and grub_video_edid_preferred_mode.
2720
a1167439
VS
27212011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
2722
2723 * include/grub/mips/kernel.h: Fix define conflict.
2724
bf66054f
VS
27252011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
2726
2727 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
2728 all four ways.
2729
8fc4fa45
CW
27302011-07-21 Colin Watson <cjwatson@ubuntu.com>
2731
2732 Preferred resolution detection for VBE.
2733
2734 * grub-core/video/video.c (grub_video_edid_checksum): New function.
2735 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
2736 the Flat Panel extension, in line with the X.org VESA driver.
2737 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
2738 New function.
2739 (grub_vbe_bios_get_ddc_capabilities): Likewise.
2740 (grub_vbe_bios_read_edid): Likewise.
2741 (grub_vbe_get_preferred_mode): Likewise.
2742 (grub_video_vbe_setup): When the mode is "auto", try to get the
2743 preferred mode from VBE, and use the largest mode that is no larger
2744 than the preferred mode (some BIOSes expose a preferred mode that is
2745 not in their mode list!). If this fails, fall back to 640x480 as a
2746 safe conservative choice.
2747 (grub_video_vbe_get_edid): New function.
2748 (grub_video_vbe_adapter): Add get_edid.
2749 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
2750 (struct grub_video_adapter): Add get_edid.
2751 (grub_video_edid_checksum): Add prototype.
2752 (grub_video_edid_preferred_mode): Likewise.
2753 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
2754 structure.
2755
2756 * grub-core/commands/videoinfo.c (print_edid): New function.
2757 (grub_cmd_videoinfo): Print EDID if available.
2758
2759 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
2760 is more appropriate on a wider range of platforms than 640x480.
2761 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
2762 documentation.
2763
ca5572a9
VS
27642011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
2767
e4bcf625
VS
27682011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2769
2770 * po/POTFILES.in: Regenerate.
2771
c4edd548
VS
27722011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2773
2774 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
2775 incorrect memory usage.
2776
16a2bab0
VS
27772011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2778
2779 * util/grub-install.in: Source grub-mkconfig_lib.
2780
2e418de6
VS
27812011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
2782
2783 Remove getroot.c from core on emu platform.
2784
2785 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
2786 kern/emu/raid.c.
2787 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
2788 useless.
2789 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
2790 * util/getroot.c (get_win32_path): ... here.
2791 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
2792 * util/getroot.c (fini_libzfs): ... here.
2793 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
2794 * util/getroot.c (grub_get_libzfs_handle): ... here.
2795 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
2796 Moved from here...
2797 * util/getroot.c (grub_find_zpool_from_dir): ... here.
2798 * grub-core/kern/emu/misc.c
2799 (grub_make_system_path_relative_to_its_root): Moved from here...
2800 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
2801 * grub-core/kern/emu/getroot.c: Moved from here ...
2802 * util/getroot.c: ... here. All users updated.
2803 * grub-core/kern/emu/raid.c: Moved from here ...
2804 * util/raid.c: ... here. All users updated.
2805
def9832a
VS
28062011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
2807
2808 * po/POTFILES.in: Regenerate.
2809
cd8fe79a
VS
28102011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
2811
2812 Fix compilation on GNU/Linux.
2813
2814 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
2815 Disable geli.
2816 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
2817 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
2818 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
2819
a251b719
VS
28202011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
28212011-07-07 Michael Gorven <michael@gorven.za.net>
28222011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
2823
2824 LUKS and GELI support.
2825
2826 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
2827 grub-core/disk/luks.c, grub-core/disk/geli.c,
2828 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
2829 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
2830 grub-core/lib/arg.c.
2831 (libgrubmods.a): Remove gcrypts cflags and cppflags.
2832 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
2833 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
2834 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
2835 (grub-bin2h): Add libgcry.a.
2836 (grub-mkimage): Likewise.
2837 (grub-mkrelpath): Likewise.
2838 (grub-script-check): Likewise.
2839 (grub-editenv): Likewise.
2840 (grub-mkpasswd-pbkdf2): Likewise.
2841 (grub-pe2elf): Likewise.
2842 (grub-fstest): Likewise.
2843 (grub-mkfont): Likewise.
2844 (grub-mkdevicemap): Likewise.
2845 (grub-probe): Likewise.
2846 (grub-ofpath): Likewise.
2847 (grub-mklayout): Likewise.
2848 (example_unit_test): Likewise.
2849 (grub-menulst2cfg): Likewise.
2850 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
2851 * grub-core/Makefile.core.def (cryptodisk): New module.
2852 (luks): Likewise.
2853 (geli): Likewise.
2854 * grub-core/disk/AFSplitter.c: New file.
2855 * grub-core/disk/cryptodisk.c: Likewise.
2856 * grub-core/disk/geli.c: Likewise.
2857 * grub-core/disk/luks.c: Likewise.
2858 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
2859 grub_util_is_lvm.
2860 (grub_util_get_dm_abstraction): New function.
2861 (grub_util_follow_gpart_up): Likewise.
2862 (grub_util_get_geom_abstraction): Likewise.
2863 (grub_util_get_dev_abstraction): Use new functions.
2864 (grub_util_pull_device): Pull GELI and LUKS.
2865 (grub_util_get_grub_dev): Handle LUKS and GELI.
2866 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
2867 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
2868 (follow_geom_up): Removed.
2869 (grub_util_fd_seek): New function.
2870 (open_device): Use grub_util_fd_seek.
2871 (nread): Rename to ..
2872 (grub_util_fd_read): ... this. All users updated.
2873 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
2874 (grub_crypto_cbc_decrypt): Likewise.
2875 (grub_crypto_hmac_write): Likewise.
2876 (grub_crypto_hmac_buffer): Likewise.
2877 (grub_password_get): Extend to util.
2878 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
2879 New member modname.
2880 (gcry_md_spec) [GRUB_UTIL]: Likewise.
2881 * include/grub/cryptodisk.h: New file.
2882 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
2883 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
2884 LUKS and GELI.
2885 (grub_util_follow_gpart_up): New proto.
2886 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
2887 (grub_util_fd_read): Likewise.
2888 (grub_cryptodisk_cheat_mount): Likewise.
2889 (grub_util_cryptodisk_print_uuid): Likewise.
2890 (grub_util_get_fd_sectors): Likewise.
2891 * util/grub-fstest.c (mount_crypt): New var.
2892 (fstest): Mount crypto if requested.
2893 (options): New option -C.
2894 (argp_parser): Parse -C.
2895 (main): Init and fini gcry.
2896 * util/grub-install.in: Support cryptodisk install.
2897 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
2898 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
2899 cryptodisk.
2900 (prepare_grub_to_access_device): Likewise.
2901 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
2902 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
2903 (probe_cryptodisk_uuid): New function.
2904 (probe_abstraction): Likewise.
2905 (probe): Use new functions.
2906 * util/import_gcry.py: Create Makefile.utilgcry.def.
2907 Add modname member.
2908
9bfdcbbc
VS
29092011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 Lazy device scanning.
2912
2913 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
2914 (grub-setup): Remove util/raid.c.
2915 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
2916 * grub-core/disk/lvm.c (scan_depth): New variable.
2917 (grub_lvm_iterate): Rescan if necessary.
2918 (find_lv): New function based on grub_lvm_open.
2919 (grub_lvm_open): Use find_lv. Rescan on error.
2920 (is_node_readable): New function.
2921 (is_lv_readable): Likewise.
2922 (grub_lvm_scan_device): Skip already found disks.
2923 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
2924 Stop if searched device is found and readable.
2925 * grub-core/disk/raid.c (inscnt): New variable.
2926 (scan_depth): Likewise.
2927 (scan_devices): New function based on grub_raid_register. Abort if
2928 looked for device is found.
2929 (grub_raid_iterate): Rescan if needed.
2930 (find_array): NEw function based on -grub_raid_open.
2931 (grub_raid_open): Use find_array and rescan.
2932 (insert_array): Set became_readable_at.
2933 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
2934 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
2935 New function.
2936 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
2937 (grub_util_pull_device): New function.
2938 (grub_util_get_grub_dev): Call grub_util_pull_device.
2939 * util/raid.c: Moved to ..
2940 * grub-core/kern/emu/raid.c: ... here.
2941 (grub_util_raid_getmembers): New parameter "bootable".
2942 All users updated. Support 1.x.
2943 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
2944 All users updated.
2945 * include/grub/disk.h (grub_disk_pull_t): New enum.
2946 (grub_disk_dev): Change iterate prototype.
2947 All users updated.
2948 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
2949 New proto.
2950 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
2951 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
2952 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
2953 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
2954 All users updated.
2955 * include/grub/util/raid.h: Removed.
2956
1c358e59
VS
29572011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
2958
2959 * po/POTFILES.in: Regenerate.
2960
abee94ed
VS
29612011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 Unify sparc init with other ieee1275.
2964
2965 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
2966 instead of kern/sparc64/ieee1275/init.c.
2967 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
2968 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
2969 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
2970 grub/machine/kernel.h.
2971 (grub_ieee1275_original_stack) [__sparc__]: New variable.
2972 (grub_claim_heap) [__sparc__]: Use sparc version.
2973 (grub_machine_init): Moved args parsing to
2974 (grub_parse_cmdline): ...this.
2975 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
2976 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
2977 New definition.
2978 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
2979
2980 Move BOOTP to separate file.
2981
2982 * grub-core/Makefile.core.def (net): Add net/bootp.c.
2983 * grub-core/net/net.c: Move all BOOTP functions to
2984 * grub-core/net/bootp.c: ... here.
2985
2986 Use frame interface on PXE.
2987
2988 * grub-core/Makefile.core.def (pxecmd): Removed.
2989 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
2990 * grub-core/commands/i386/pc/pxecmd.c: Removed.
2991 * grub-core/i386/pc/pxe.c: Moved from here ...
2992 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
2993 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
2994 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
2995
2996 EFI network support.
2997
2998 * grub-core/Makefile.core.def (efinet): New module.
2999 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
3000 here...
3001 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
3002 All users updated.
3003 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
3004 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
3005 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
3006 * grub-core/net/drivers/efi/efinet.c: New file.
3007 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
3008 (grub_efi_net_config): New extern var.
3009
3010 Various cleanups and bugfixes.
3011
3012 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
3013 error.
3014 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
3015 disk declared as partition.
3016 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
3017 leak on failure.
3018 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
3019 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
3020 (grub_debug_zalloc): Likewise.
3021 (grub_debug_realloc): Likewise.
3022 (grub_debug_memalign): Likewise.
3023 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
3024 Check that target is IPv4.
3025 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
3026 local-mac-address as fallback.
3027 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
3028 memory leak.
3029 * grub-core/net/ip.c (ipchksum): Rename to ...
3030 (grub_net_ip_chksum): ... this. All users updated.
3031 (grub_net_recv_ip_packets): Special handling for DHCP.
3032 * util/grub-mkimage.c (generate_image): Zero-out aout header.
3033
3034 Unify prefix handling
3035
3036 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
3037 (grub_machine_get_bootlocation): ... this.
3038 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
3039 (grub_machine_get_bootlocation): ... this.
3040 (grub_prefix): New variable.
3041 (prefix): Removed.
3042 (root_dev): New variable.
3043 (dir): Likewise.
3044 (main): Use new variables.
3045 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
3046 Revamped into ...
3047 (grub_machine_get_bootlocation): ... this.
3048 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
3049 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
3050 (grub_machine_get_bootlocation): ... this.
3051 (grub_machine_set_prefix): Removed.
3052 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
3053 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
3054 Revamped into ...
3055 (grub_machine_get_bootlocation): ... this.
3056 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
3057 (grub_set_prefix_and_root): ... this. All users updated.
3058 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
3059 Revamped into ...
3060 (grub_machine_get_bootlocation): ... this.
3061 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
3062 (grub_machine_get_bootlocation): New proto.
3063 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
3064
3065 Less intrusive and more reliable seek on network implementation.
3066
3067 * grub-core/kern/file.c (grub_file_net_seek): Removed.
3068 (grub_file_seek): Don't call grub_file_net_seek.
3069 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
3070 (grub_net_fs_read_real): .. this.
3071 (grub_net_seek_real): Use net->offset.
3072 (grub_net_fs_read): Seek if necessary.
3073
3074 Unify IEEE1275 netwotk config with the other platforms.
3075
3076 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
3077 New variable.
3078 (grub_machine_get_bootlocation): Support network.
3079 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
3080 Support type and device parsing.
3081 (grub_ieee1275_get_device_type): New function.
3082 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
3083 into ...
3084 (grub_ieee1275_net_config_real): ... this.
3085 (grub_ofnet_probecards): Removed.
3086 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
3087 * include/grub/ieee1275/ofnet.h: Removed.
3088 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
3089 extern var.
3090 (grub_ieee1275_get_device_type): New function.
3091
3092 Unify network device closing across platforms and make more robust.
3093
3094 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
3095 grub_grubnet_fini.
3096 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
3097 already.
3098 * grub-core/net/net.c (grub_net_network_level_interface_register):
3099 Update num_ifaces.
3100 (grub_net_card_unregister): Close all interfaces.
3101 (receive_packets): Don't poll if no iterfaces are registered.
3102 Open if necessary.
3103 (grub_net_fini_hw): New function.
3104 (grub_net_restore_hw): Likewise.
3105 (fini_hnd): New variable.
3106 (GRUB_MOD_INIT): Register preboot hook.
3107 (GRUB_MOD_FINI): Run and unregister preboot hook.
3108
3109 Poll network cards when idle.
3110
3111 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
3112 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
3113 * grub-core/net/net.c (receive_packets): Save last poll time.
3114 (grub_net_poll_cards_idle_real): New function.
3115 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
3116 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
3117 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
3118
3119 Rename ofnet interfaces.
3120
3121 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
3122 (grub_ofnet_findcards): Use ofnet_%s names.
3123
3124 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
3125
3126 Cleanup socket opening.
3127
3128 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
3129 (grub_net_fs_close): Likewise.
3130 (grub_net_fs_read_real): Use eof member.
3131 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
3132 (+grub_net_udp_close): New inline function.
3133
3134 * include/grub/net/tftp.h: Moved to the top of ...
3135 * grub-core/net/tftp.c: ... here.
3136 * include/grub/net/ip.h: Moved mostly to the top of ...
3137 * grub-core/net/ip.c: ... here.
3138 * include/grub/net/ethernet.h: Moved mostly to the top of ...
3139 * grub-core/net/ethernet.c: ... here.
3140
3141 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
3142
3143 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
3144 FS name.
3145
3146 * include/grub/net/ip.h (ipv4_ini): Removed.
3147 (ipv4_fini): Likewise.
3148
3149 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
3150 (grub_net_send_ip_packets): Likewise.
3151
cf1337aa
VS
31522011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3153
3154 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
3155 grub_read_cmos prototype.
3156
93c06ff9
VS
31572011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3158
3159 VGA text support in qemu-mips
3160
3161 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
3162 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
3163 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
3164 text.
3165 * grub-core/kern/i386/qemu/init.c: Renamed to ...
3166 * grub-core/kern/vga_init.c: ... this.
3167 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
3168 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
3169 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
3170 Adjust.
3171 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
3172 GRUB_MACHINE_PCI_IO_BASE.
3173
748ccabe
VS
31742011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3175
3176 MIPS qemu flash support.
3177
3178 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
3179 magic.
3180 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
3181 (grub_machine_init): Probe memory if its size isn't known.
3182 * util/grub-mkimage.c (image_targets): Add flash targets.
3183 (generate_image): Handle flash targets.
3184
d7345994
VS
31852011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 MIPS qemu at_keyboard support.
3188
3189 * gentpl.py (videoinkernel): Add qemu-mips.
3190 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
3191 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
3192 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
3193 modules.
3194 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
3195 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
3196 * grub-core/term/serial.c (grub_serial_register)
3197 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
3198
a07a81b3
VS
31992011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 CMOS support on sparc.
3202
3203 * gentpl.py (cmos): Add powerpc and sparc.
3204 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
3205 powerpc and sparc.
3206 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
3207 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
3208 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
3209 grub_set_datetime_cmos.
3210 * grub-core/lib/ieee1275/cmos.c: New file.
3211 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
3212 (find_rtc): Set no_ieee1275_rtc on error.
3213 (grub_get_datetime): Call grub_get_datetime_cmos on error.
3214 (grub_set_datetime): Call grub_set_datetime_cmos on error.
3215 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
3216 fail. Move value to argument. All users updated
3217 (grub_cmos_write): Likewise.
3218 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
3219 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
3220 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
3221 grub_get_datetime_cmos and grub_set_datetime_cmos.
3222
77546584
GS
32232011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
3224
3225 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
3226 sourcing grub-mkconfig_lib.
3227 * util/update-grub_lib.in: Likewise.
3228 * util/grub.d/00_header.in: Likewise.
3229 * util/grub.d/10_hurd.in: Likewise.
3230 * util/grub.d/10_kfreebsd.in: Likewise.
3231 * util/grub.d/10_linux.in: Likewise.
3232 * util/grub.d/10_netbsd.in: Likewise.
3233 * util/grub.d/10_windows.in: Likewise.
3234 * util/grub.d/20_linux_xen.in: Likewise.
3235 * util/grub.d/30_os-prober.in: Likewise.
3236
54894791
CW
32372011-06-28 Colin Watson <cjwatson@ubuntu.com>
3238
3239 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
3240 default_bg_color rather than black.
3241 (grub_gfxterm_fullscreen): Likewise.
3242 (grub_gfxterm_background_color_cmd): Save new background color in
3243 default_bg_color.
3244
8d5d8444
VS
32452011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3246
3247 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
3248
5afeb5bd
VS
32492011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3250
3251 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
3252 mismerge.
3253
ba7df45e
VS
32542011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 Chainloading on coreboot support.
3257
3258 * grub-core/Makefile.core.def (chain): Add coreboot.
3259 * grub-core/loader/i386/coreboot/chainloader.c: New file.
3260
d0b526b2
VS
32612011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3262
3263 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
3264 if it happens.
3265
5ff1d945
VS
32662011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3267
3268 Implement time command.
3269
3270 * grub-core/Makefile.core.def (time): New module.
3271 * grub-core/commands/time.c: New file.
3272 * grub-core/script/parser.y: Remove "time" keyword.
3273 * grub-core/script/yylex.l: Likewise.
3274
5ebaad7e
VS
32752011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3276
3277 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
3278
bdea3798
VS
32792011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3280
3281 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
3282 when handling leftovers.
3283
b28c5655
VS
32842011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3285
3286 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
3287 so that help2man doesn't fail.
3288
b6f945dc
VS
32892011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
3292 type in pointers on sparc64.
3293 (get_card_packet): Likewise.
3294
f9b75e8a
CW
32952011-06-27 Colin Watson <cjwatson@ubuntu.com>
3296
3297 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
3298 with `*'.
3299 (grub_cmd_videoinfo): Fetch current video mode.
3300
1e3d9b86
VS
33012011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3302
3303 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
3304 because of underlying system restrictions.
3305
efff4b1c
VS
33062011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3307
3308 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
3309 necessary.
3310
9fc9ce37
VS
33112011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 Coreboot video support.
3314
3315 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
3316 (vbe): Likewise.
3317 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
3318 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
3319 here ...
3320 * grub-core/kern/i386/int.S: ... here.
3321 * grub-core/video/i386/pc/vbe.c: Updated includes.
3322 * grub-core/video/i386/pc/vga.c: Likewise.
3323 * include/grub/i386/coreboot/memory.h
3324 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
3325 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
3326 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
3327 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
3328 Disable interrupts.
3329 * include/grub/i386/pc/vga.h: Removed. All users updated.
3330
41bec7fe
VS
33312011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
3334 definitions for dprintf.
3335 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
3336
ca80309d
VS
33372011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3338
3339 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
3340 prototype.
3341 (get_card_packet): Likewise.
3342
9e322ce8
YB
33432011-06-26 Yves Blusseau <blusseau@zetam.org>
3344
3345 Display the path of the file when file is not found
3346
3347 * grub-core/fs/fat.c: Display the filename when file is not found.
3348 * grub-core/fs/fshelp.c: Likewise.
3349 * grub-core/fs/hfs.c: Likewise.
3350 * grub-core/fs/jfs.c: Likewise.
3351 * grub-core/fs/minix.c: Likewise.
3352 * grub-core/fs/ufs.c: Likewise.
3353 * grub-core/fs/btrfs.c: Likewise.
3354 * grub-core/commands/i386/pc/play.c: Likewise.
3355
cbf597af
SJ
33562011-06-26 Szymon Janc <szymon@janc.net.pl>
3357
3358 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
3359 pointer checks before calling grub_free().
3360 * grub-core/commands/wildcard.c (match_devices): Likewise.
3361 * grub-core/commands/wildcard.c (match_files): Likewise.
3362 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
3363 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
3364 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
3365 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
3366 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
3367 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
3368 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
3369 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
3370 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
3371
6295b32f
P
33722011-06-25 Patrick <p55@mailinator.com>
3373
3374 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
3375
77c0840b
VS
33762011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3377
3378 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
3379 (grub_pxe_send): Likewise.
3380 (GRUB_MOD_INIT): Fix types.
3381
40ea05de
SJ
33822011-06-24 Szymon Janc <szymon@janc.net.pl>
3383
3384 * grub-core/io/xzio.c: Fix code style issues
3385
90162423
MRA
33862011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
33872011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
3388
3389 Network infrastructure.
3390 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
3391
3392 * include/grub/net/arp.h: New file.
90162423
MRA
3393 * include/grub/net/device.h: Likewise.
3394 * include/grub/net/ethernet.h: Likewise.
3395 * include/grub/net/ip.h: Likewise.
3396 * include/grub/net/netbuff.h: Likewise.
3397 * include/grub/net/tftp.h: Likewise.
3398 * include/grub/net/udp.h: Likewise.
3399 * include/grub/ieee1275/ofnet.h: Likewise.
3400 * include/grub/emu/export.h: Likewise.
3401 * include/grub/net.h: Likewise.
3402 * grub-core/net/arp.c: Likewise.
3403 * grub-core/net/ethernet.c: Likewise.
3404 * grub-core/net/ip.c: Likewise.
3405 * grub-core/net/udp.c: Likewise.
3406 * grub-core/net/tftp.c: Likewise.
3407 * grub-core/net/netbuff.c: Likewise.
3408 * grub-core/net/net.c: Likewise.
3409 * grub-core/net/drivers/emu/emunet.c: Likewise.
3410 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
3411 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
3412 export.h.
3413 * grub-core/Makefile.core.def (net): New module.
3414 (tftp): Likewise.
3415 (ofnet): Likewise.
3416 (emunet): Likewise.
3417 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
3418 network protocols.
3419 * grub-core/kern/device.c (grub_net_open) : New variable.
3420 (grub_device_open): Handle network device.
3421 (grub_device_close): Likewise.
3422 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
3423 (grub_grubnet_fini): Likewise.
3424 (grub_file_seek): Seek in network device.
3425 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
3426 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
3427 network root.
3428 (grub_machine_fini): Call grub_grubnet_fini.
3429 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
3430 network.
3431 (grub_ieee1275_get_aliasdevname): New function.
3432 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
3433 Add unofficial Solaris network info.
3434 (grub_multiboot_make_mbi): Likewise.
3435 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
3436 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
3437 * include/grub/device.h (grub_fs): Removed.
3438 * include/grub/err.h (grub_err_t): Add network-related values.
3439 * include/grub/i386/pc/pxe.h: Removed bootp parts.
3440 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
3441 (grub_ieee1275_get_aliasdevname): New proto.
3442 * include/grub/net.h: Rewritten.
423a1849 3443
031f22a0
VS
34442011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3445
3446 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
3447 names.
3448
4388ca72
VS
34492011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3450
3451 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
3452 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
3453 it truncates the output.
3454 Reported by: Ximin Luo.
3455
98e2f506
VS
34562011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3457
3458 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
3459
2a5e94d8
VS
34602011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3461
3462 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
3463 partmap before abstraction.
3464
535c1910
AK
34652011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
3466
3467 * util/grub-mkconfig_lib.in: Add missing quotes.
3468
bc09e1a2
VS
34692011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3470
3471 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
3472 old method if mountinfo would return /dev/root and /dev/root doesn't
3473 exist.
3474
290766fb
VS
34752011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 ZFS zlib support
3478
3479 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
3480 (decomp_table): Add zlib entries.
3481 (zio_read): USe 8 bits for compression function rather than 3.
3482 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
3483
34842011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3485
3486 * grub-core/disk/ahci.c: Add missing license statements.
3487 * grub-core/fs/romfs.c: Likewise.
3488 * grub-core/lib/ia64/setjmp.S: Likewise.
3489 * grub-core/loader/i386/pc/freedos.c: Likewise.
3490 * grub-core/loader/ia64/efi/linux.c: Likewise.
3491 * grub-core/video/colors.c: Likewise.
3492 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
3493
5ab3f48a
VS
34942011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3495
3496 AHCI support.
3497
3498 * grub-core/Makefile.core.def (ata_pthru): Removed.
3499 (ahci): New module.
3500 (pata): Likewise.
3501 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
3502 on unload.
3503 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
3504 readwrite.
3505 (grub_hdparm_do_check_powermode_cmd): Likewise.
3506 (grub_hdparm_do_smart_cmd): Likewise.
3507 (grub_hdparm_set_val_cmd): Likewise.
3508 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
3509 * grub-core/disk/ahci.c: New file.
3510 * grub-core/disk/ata.c: Factor out the low-level part into ...
3511 * grub-core/disk/pata.c: ... here.
3512 * grub-core/disk/ata_pthru.c: Contents moved to ...
3513 * grub-core/disk/pata.c: ... here.
3514 * grub-core/disk/scsi.c (grub_scsi_names): New array.
3515 (grub_scsi_iterate): Use grub_scsi_names.
3516 (grub_scsi_open): Likewise.
3517 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
3518 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
3519 (grub_ata_regs_t): New struct.
3520 (grub_disk_ata_pass_through_parms): Likewise.
3521 (grub_ata_device): Renamed to ...
3522 (grub_ata): ... this.
3523 (grub_ata_dev): New struct.
3524 Removed all low-level inline functions.
3525 * include/grub/scsi.h: Add PATA and AHCI subsystems.
3526 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
3527 iterate hooks and open. All users updated.
3528 * util/grub-install.in: Handle AHCI disk module.
3529
c31dc5f5
SJ
35302011-06-23 Szymon Janc <szymon@janc.net.pl>
3531
3532 Add support for DRI and RSTn markers in JPEG files.
3533
3534 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
3535 (JPEG_MARKER_RST0): Likewise.
3536 (JPEG_MARKER_RST1): Likewise.
3537 (JPEG_MARKER_RST2): Likewise.
3538 (JPEG_MARKER_RST3): Likewise.
3539 (JPEG_MARKER_RST4): Likewise.
3540 (JPEG_MARKER_RST5): Likewise.
3541 (JPEG_MARKER_RST6): Likewise.
3542 (JPEG_MARKER_RST7): Likewise.
3543 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
3544 (grub_jpeg_decode_dri): New function.
3545 (grub_jpeg_decode_sos): Move image data related part into
3546 grub_jpeg_decode_data function.
3547 (grub_jpeg_decode_data): New function.
3548 (grub_jpeg_reset): New function.
3549 (grub_jpeg_decode_jpeg): Handle new markers.
3550
fe12fd5b
VS
35512011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3552
3553 * util/ieee1275/ofpath.c (check_sas): Close fd.
3554 (main): Free of_path.
3555 Reported by: David Volgyes <dvolgyes>.
3556
03147f46
VS
35572011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3558
3559 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
3560 Reported by: David Volgyes <dvolgyes>.
3561
cad3237f
VS
35622011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3563
3564 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
3565 file after stat.
3566 Reported by: David Volgyes <dvolgyes>.
3567
13548d26
VS
35682011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3569
3570 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
3571
3572 Reported by: David Volgyes <dvolgyes>.
3573
e061a1b5
VS
35742011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3575
3576 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
3577 Prevent memory leak.
3578
1abe47dc
VS
35792011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
3582 (main): Close file.
e061a1b5 3583 Reported by: David Volgyes <dvolgyes>.
1abe47dc 3584
fbc62666
VS
35852011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
3588 to continue if allocation is failed.
3589
3590 Reported by: David Volgyes <dvolgyes>.
3591
e98c83e9
DV
35922011-06-23 David Volgyes <dvolgyes>
3593
3594 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
3595 dereference.
3596
a199a8cd
VS
35972011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3598
3599 Fix spurious warning.
3600
3601 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
3602 (acorn_partition_map_find): Use .bin member.
3603
e2d1dba0
VS
36042011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3605
3606 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
3607 /dev/root as a valid device.
3608
8a5d6919
JM
36092011-06-23 Jim Meyering <meyering@redhat.com>
3610
e2d1dba0
VS
3611 Avoid NULL deref in grub_device_open.
3612
8a5d6919
JM
3613 * grub-core/kern/device.c (grub_device_open): Don't dereference
3614 a NULL pointer upon failed grub_env_get.
3615
f7db6f4a
VS
36162011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 Support non-512B sectors and agglomerate reads.
3619
3620 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
3621 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
3622 (disk_io_guid): Removed.
3623 (make_devices): Locate solely by BlockIO.
3624 (grub_efidisk_open): Fill log_sector_size and total_sectors.
3625 (grub_efidisk_read): Use read_blocks.
3626 (grub_efidisk_write): Use write_blocks.
3627 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
3628 log_sector_size.
3629 (get_safe_sectors): Handle non-512B sectors.
3630 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
3631 sectors.
3632 (grub_biosdisk_write): Handle non-512B sectors.
3633 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
3634 (grub_scsi_read): Remove special non-512B block handling (now handled
3635 one level up).
3636 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
3637 and do sanity checks.
3638 (grub_disk_adjust_range): Handle non-512B sectors.
3639 (transform_sector): New function.
3640 (grub_disk_read_small): Likewise.
3641 (grub_disk_read): Rewritten.
3642 (grub_disk_write): Handle non-512B sectors.
3643 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
3644 log_sector_size.
3645 (open_device): Use log_sector_size.
3646 (grub_util_biosdisk_read): Likewise.
3647 (grub_util_biosdisk_write): Likewise.
3648 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
3649 non-512B sectors.
3650 (pc_partition_map_embed): Likewise.
3651 * include/grub/disk.h (grub_disk): New field log_sector_size.
3652 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
3653 (GRUB_DISK_CACHE_BITS): Increased to 6.
3654 * util/grub-fstest.c (fstest): New command testload.
3655 (argp_parser): Likewise.
3656
881ac815
RM
36572011-06-16 Robert Millan <rmh@gnu.org>
3658
3659 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
3660 `ata' driver on kernel of FreeBSD 9.
3661
3662 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
3663 (get_ataraid_disk_name): New functions.
3664 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
3665 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
3666 get_ataraid_disk_name() and get_ada_disk_name().
3667
1e9aef7d
CW
36682011-06-13 Colin Watson <cjwatson@ubuntu.com>
3669
3670 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
3671 input format.
3672
351c7c8a
CW
36732011-05-29 Colin Watson <cjwatson@ubuntu.com>
3674
3675 * docs/grub.texi (Obtaining and Building GRUB): Substitute
3676 `ftp.gnu.org' for `alpha.gnu.org'.
3677
6b4e6430
CW
36782011-05-27 Colin Watson <cjwatson@ubuntu.com>
3679
3680 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
3681 partitions under /dev/disk/by-id/.
3682
c64db050
CW
36832011-05-27 Colin Watson <cjwatson@ubuntu.com>
3684
3685 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
3686 after ten consecutive open failures. Scanning all the way up to
3687 10000 is excessive and can cause serious performance problems in
3688 some configurations.
3689 Fixes Ubuntu bug #787461.
3690
245f4aba
VS
36912011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3692
3693 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
3694 opening new one.
3695
f767c929
VS
36962011-05-21 Colin Watson <cjwatson@ubuntu.com>
36972011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3698
3699 Don't stat devices unless we have to.
3700
3701 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
3702 dir == /dev/mapper.
3703 (grub_guess_root_device): Use already known os_dev if possible.
3704 * grub-core/kern/emu/hostdisk.c
3705 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
3706 if device is known to be a dm one.
3707
f35fa3a6
CW
37082011-05-20 Colin Watson <cjwatson@ubuntu.com>
3709
3710 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
3711 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
3712 Reported by: Pawel Tecza.
3713
9a79fcf2
VS
37142011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
3715
3716 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
3717 (lsefisystab): Likewise.
3718 (lssal): Likewise.
3719 (lsefimmap): Likewise.
3720 (hdparm): Enable on qemu-mips.
3721 (setjmp): Add ia64 nodist.
3722 (serial): Simplify tags.
3723
63e3eea9
CW
37242011-05-18 Colin Watson <cjwatson@ubuntu.com>
3725
3726 * Makefile.util.def (grub-ofpathname): Install manual page.
3727
09728256
CW
37282011-05-18 Colin Watson <cjwatson@ubuntu.com>
3729
3730 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
3731
8b63a142
CW
37322011-05-18 Colin Watson <cjwatson@ubuntu.com>
3733
3734 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
3735
e775d8ed
VS
37362011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3737
3738 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
3739 into dprintf.
3740
bf947d36
VS
37412011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3742
3743 Use full 64-bit division.
3744
3745 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
3746 (grub_divmod64): ... this.
3747 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
3748 version.
3749
b84f26c5
CW
37502011-05-18 Colin Watson <cjwatson@ubuntu.com>
3751
3752 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
3753 `source'.
3754
5626056f
CW
37552011-05-18 Colin Watson <cjwatson@ubuntu.com>
3756
3757 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
3758 to avoid accidents when debugging with 'sh -x'.
3759 * grub-core/gensyminfo.sh.in: Likewise.
3760 * tests/example_scripted_test.in: Likewise.
3761 * tests/grub_cmd_regexp.in: Likewise.
3762 * tests/grub_script_blanklines.in: Likewise.
3763 * tests/grub_script_dollar.in: Likewise.
3764 * tests/grub_script_expansion.in: Likewise.
3765 * tests/grub_script_final_semicolon.in: Likewise.
3766 * tests/partmap_test.in: Likewise.
3767 * tests/util/grub-shell-tester.in: Likewise.
3768 * tests/util/grub-shell.in: Likewise.
3769
e2965f4a
CW
37702011-05-18 Colin Watson <cjwatson@ubuntu.com>
3771
3772 Move gfxmenu color handling to video, so that gfxterm can use it
3773 too.
3774
3775 * grub-core/gfxmenu/named_colors.c: Move to ...
3776 * grub-core/video/colors.c: ... here. Rename
3777 grub_gui_get_named_color to grub_video_get_named_color.
3778 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
3779 * grub-core/video/colors.c (my_isxdigit): ... here.
3780 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
3781 Move to ...
3782 * grub-core/video/colors.c (parse_hex_color_component): ... here.
3783 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
3784 to ...
3785 * grub-core/video/colors.c (grub_video_parse_color): ... here.
3786
3787 * include/grub/gui.h (grub_gui_color_t): Move to ...
3788 * include/grub/video.h (grub_video_rgba_color_t): ... here.
3789 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
3790 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
3791 * include/grub/gui.h (grub_gui_map_color): Move to ...
3792 * include/grub/video.h (grub_video_map_rgba_color): ... here.
3793 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
3794 to ...
3795 * include/grub/video.h (grub_video_get_named_color): ... here.
3796 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
3797 * include/grub/video.h (grub_video_parse_color): ... here.
3798
3799 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
3800 video/colors.c.
3801 (gfxmenu): Remove gfxmenu/named_colors.c.
3802 (video) [videomodules]: Add video/colors.c.
3803
3804 Add a background_color command.
3805
3806 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
3807 function.
3808 (GRUB_MOD_INIT): Register background_color command.
3809 (GRUB_MOD_FINI): Unregister background_color command.
3810 (redraw_screen_rect): Allow blend/replace of text layer to be
3811 controlled independently from whether there is a background bitmap.
3812 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
3813 changing bitmap.
3814
1e4b4390
VS
38152011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3816
26618ff0
VS
3817 Patch BPB in ntldr and chainloader --bpb.
3818
1e4b4390
VS
3819 * grub-core/fs/fat.c: Include grub/fat.h.
3820 (grub_fat_bpb): Moved to ...
3821 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
3822 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
3823 grub/ntfs.h.
3824 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
3825 Moved from here...
3826 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
3827 here.
3828 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
3829 New function.
3830 (grub_chainloader_cmd): Patch BPB if --bpb is given.
3831 (GRUB_MOD_INIT): Show --bpb.
3832 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
3833 * grub-core/normal/main.c (features): New variable.
3834 (GRUB_MOD_INIT): Set feature_* variables.
3835 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
3836 proto.
3837 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
3838
cf02731e
VS
38392011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
3842 for cleanness.
3843
e3a1073f
VS
38442011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3845
3846 FreeDOS direct loading support.
3847
3848 * docs/grub.texi (Supported OS): Add FreeDOS.
3849 * grub-core/Makefile.core.def (freedos): New module.
3850 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
3851 variable.
3852 (grub_relocator16_boot): Handle %ebx.
3853 * grub-core/lib/i386/relocator16.S: Likewise.
3854 * grub-core/loader/i386/pc/freedos.c: New file.
3855
05caa461
VS
38562011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 Long Linux command line support.
3859
3860 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
3861 (maximal_cmdline_size): New variable.
3862 (allocate_pages): Use maximal_cmdline_size.
3863 (grub_cmd_linux): Set and use maximal_cmdline_size.
3864 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
3865 (allocate_pages): Use maximal_cmdline_size.
3866 (grub_cmd_linux): Set and use maximal_cmdline_size.
3867 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
3868 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
3869 and cmdline_size.
3870
a2491e23
VS
38712011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
38722011-05-18 Colin Watson <cjwatson@ubuntu.com>
3873
3874 Improve devmapper support
3875
3876 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
3877 (grub_util_is_lvm): New function.
3878 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
3879 than lvm if not dmraid.
3880 Handle mapped md nodes.
3881 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
3882 (grub_util_device_is_mapped): ... this. Make always available. All users
3883 updated.
3884 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
3885 (convert_system_partition_to_system_disk): Handle lvm, mpath and
3886 dmraid nodes.
3887 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
3888
6ad6223e
VS
38892011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3890
3891 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
3892
3893 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
3894 * grub-core/modinfo.sh.in: New file.
3895 * grub-core/Makefile.core.def (modinfo.sh): New script.
3896 * util/grub-mknetdir.in: Use modinfo.sh.
3897 * util/grub-mkrescue.in: Likewise.
3898
543a8f6e
VS
38992011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3900
3901 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
3902 Fix potential usage of Elf32 instead of Elf64 when compiling on
3903 32-bit architecture. Add endianness macros while on it.
3904
4959e111
VS
39052011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3906
3907 Use mipsel- rather than mips- in directories involving mipsel ports to
3908 allow both endiannesses coexist.
3909
3910 * configure.ac: proparate target_cpu=mipsel rather than resetting to
3911 mips. All conditions adjusted.
3912 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
3913 variable.
3914 * util/grub-install.in: Adjust conditions to take renaming into account.
3915 * util/grub-mkimage.c (image_targets): Likewise. New target
3916 mips-qemu_mips-elf for bigendian mips.
3917
35341bbc
VS
39182011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3919
3920 Avoid unnecessary copying on MIPS.
3921
3922 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
3923 early if src == dest.
3924 * util/grub-mkimage.c (generate_image): Arange for src == dest if
3925 compression is none.
3926
b772baed
VS
39272011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3928
3929 Reduce memory footprint on SGI by putting modules before the kernel
3930 as opposed to after.
3931
3932 * grub-core/Makefile.core.def (kernel): Increase linking address.
3933 (none_decompress): Likewise.
3934 (xz_decompress): Likewise.
3935 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
3936 address.
3937 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
3938 layout change.
3939 (grub_arch_modules_addr): New function.
3940 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
3941 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
3942 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
3943 here.
3944 * grub-core/kern/mips/startup.S (total_size): Rename to ...
3945 (grub_total_modules_size): ... this. Make global.
3946 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
3947 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
3948 New definition.
3949 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
3950 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
3951 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
3952 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
3953 * util/grub-mkimage.c (image_target_desc): New flag
3954 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
3955 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
3956 (generate_image): Handle images with modules before kernel.
3957
566a1917
VS
39582011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 Prevent potential loss of memory map by overwrite on qemu-mips.
3961
3962 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
3963 Save ram size in $s4.
3964 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
3965 All users changed to grub_arch_memsize.
3966 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
3967 Loongson.
3968 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
3969 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
3970 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
3971 external variable.
3972
5d420cd9
CW
39732011-05-17 Colin Watson <cjwatson@ubuntu.com>
3974
3975 * .bzrignore: Remove grub-dumpbios.
3976
d064b830
CW
39772011-05-17 Colin Watson <cjwatson@ubuntu.com>
3978
3979 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
3980 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
3981 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
3982 existing options which append).
3983 * docs/grub.texi (Simple configuration): Document new options.
3984 Reported by: Ian Jackson. Fixes Debian bug #617538.
3985
3ca2b466
CW
39862011-05-17 Colin Watson <cjwatson@ubuntu.com>
3987
3988 * util/grub-fstest.c (cmd_cat): New function.
3989 (fstest): Handle CMD_CAT.
3990 (options): Add cat.
3991 (argp_parser): Handle cat.
3992
24c9143a
CW
39932011-05-17 Colin Watson <cjwatson@ubuntu.com>
3994
3995 * Makefile.util.def (grub-bin2h): Don't install.
3996 * docs/man/grub-bin2h.h2m: Remove.
3997
90f7ac19
VS
39982011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
4001 place.
4002
8d4a5178
VS
40032011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4004
4005 Reenable qemu-mips port.
4006
4007 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
4008 Fix small arc bug while on it.
4009 * gentpl.py: Handle qemu_mips.
4010 * grub-core/Makefile.am: Likewise.
4011 * grub-core/Makefile.core.def: Likewise.
4012 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
4013 inappropriate includes.
4014 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
4015 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
4016 * grub-core/kern/main.c (grub_modules_get_end)
4017 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
4018 * grub-core/kern/mips/qemu-mips: Moved to ..
4019 * grub-core/kern/mips/qemu_mips: ... this.
4020 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
4021 (grub_machine_init): Call terminfo_init and serial_init.
4022 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
4023 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
4024 New variable.
4025 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
4026 parameter passing.
4027 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
4028 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
4029 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
4030 * include/grub/mips/qemu_mips/cmos.h: New file.
4031 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
4032 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
4033 Removed.
4034 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
4035 Use correct mips-style address.
4036 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
4037 (GRUB_TICKS_PER_SECOND): Removed.
4038 (grub_get_rtc): Likewise.
4039 (grub_cpu_idle): Likewise.
4040 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
4041 New definition.
4042 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
4043 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
4044 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
4045 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
4046 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
4047 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
4048 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
4049 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
4050
400b9371
VS
40512011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 SGI ARCS port.
4054
4055 * Makefile.util.def (libgrubmods.a): Add dvh.c.
4056 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
4057 platforms.
4058 * configure.ac: New target mips-arc.
4059 * gentpl.py: Likewise.
4060 * grub-core/Makefile.am: Likewise.
4061 * grub-core/Makefile.core.def: Likewise.
4062 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
4063 (none_decompress): Likewise.
4064 (lsdev): New module.
4065 (datetime): Use lib/arc/datetime.c on ARC.
4066 (part_dvh): New module.
4067 * grub-core/commands/arc/lsdev.c: New file.
4068 * grub-core/disk/arc/arcdisk.c: Likewise.
4069 * grub-core/kern/mips/arc/init.c: Likewise.
4070 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
4071 aligned addresses.
4072 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
4073 support.
4074 (grub_arch_dl_relocate_symbols): Likewise.
4075 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
4076 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
4077 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
4078 platforms.
4079 * grub-core/lib/arc/datetime.c: New file.
4080 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
4081 pci.h on non-loongson.
4082 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
4083 (grub_linux_boot): Set unused registers to 0.
4084 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
4085 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
4086 * grub-core/mmap/mips/uppermem.c: ...here.
4087 * grub-core/partmap/dvh.c: New file.
4088 * grub-core/term/arc/console.c: Likewise.
4089 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
4090 (grub_terminfo_set_current): Add terminal "arc".
4091 (grub_terminfo_readkey): Support ARC sequences.
4092 * include/grub/arc/arc.h: New file.
4093 * include/grub/arc/console.h: Likewise.
4094 * include/grub/disk.h (grub_disk_dev_id): Add
4095 GRUB_DISK_DEVICE_ARCDISK_ID.
4096 * include/grub/mips/arc/kernel.h: New file.
4097 * include/grub/mips/arc/memory.h: Likewise.
4098 * include/grub/mips/arc/time.h: Likewise.
4099 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
4100 * include/grub/mips/kernel.h (grub_halt): ... here.
4101 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
4102 here...
4103 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
4104 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
4105 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
4106 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
4107 proto.
4108 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
4109 from here ...
4110 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
4111 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
4112 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
4113 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
4114 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
4115 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
4116 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
4117 (grub_phys_addr_t): Moved from here ...
4118 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
4119 (grub_vtop): Moved from here ...
4120 * include/grub/mips/memory.h (grub_vtop): ... here.
4121 (grub_map_memory): Moved from here ...
4122 * include/grub/mips/memory.h (grub_map_memory): ... here.
4123 (grub_unmap_memory): Moved from here ...
4124 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
4125 (grub_machine_mmap_iterate): Moved from here ...
4126 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
4127 (grub_mmap_get_lower): Moved from here ...
4128 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
4129 (grub_mmap_get_upper): Moved from here ...
4130 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
4131 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
4132 here ...
4133 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
4134 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
4135 here ...
4136 * include/grub/mips/time.h (grub_get_rtc): ... here.
4137 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
4138 here ...
4139 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
4140 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
4141 here ...
4142 * include/grub/mips/time.h (grub_cpu_idle): ... here.
4143 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
4144 definition.
4145 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
4146 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
4147 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
4148 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
4149 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
4150 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
4151 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
4152 (GRUB_MACHINE_LINK_ADDR): Likewise.
4153 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
4154 to 6.
4155 * util/grub-install.in: Run dvhtool on ARC.
4156 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 4157 (generate_image): Handle ECOFF output for mips-arc.
400b9371 4158
c8ecc840
VS
41592011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4160
4161 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
4162 blocks.
4163
153a4b55
VS
41642011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4165
4166 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
4167 after enabling port.
4168
ff44d107
VS
41692011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4170
4171 Skip incorrect USB devices.
4172
4173 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
4174 configcnt == 0.
4175 * include/grub/usb.h (grub_usb_err_t): New enum value
4176 GRUB_USB_ERR_BADDEVICE.
4177
638dbe4f
VS
41782011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4179
4180 Fuloong video init support.
4181
4182 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
4183 well.
4184 (grub_vga_read_arx): New function.
4185 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
4186 definition.
4187 (framebuffer): New members io, mmioptr and mmiobase.
4188 (read_sis_cmd): New function.
4189 (write_sis_cmd): Likewise.
4190 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
4191 rather than 640x400.
4192 * grub-core/video/sis315_init.c: New file.
4193
c3fc520c
VS
41942011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
4197 non-loongson.
4198 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
4199 to grub_dl_register_symbol.
4200
67b1e5c9
VS
42012011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 Fix compilation errors.
4204
4205 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
4206 potentially unused.
4207 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
4208 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
4209 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
4210 to loongson machines.
4211
b756f75f
VS
42122011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4213
4214 Several FS mtime support.
4215
4216 * grub-core/fs/affs.c (grub_affs_time): New struct.
4217 (grub_affs_file): New field mtime.
4218 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
4219 type. Removed 'size'. New field 'di'. All users updated.
4220 (grub_affs_mount): Simplify checsum checking.
4221 (grub_affs_iterate_dir): New helper grub_affs_create_node.
4222 (grub_affs_dir): Handle mtime.
4223 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
4224 (grub_cpio_dir): Likewise.
4225 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
4226 (grub_hfs_filerec): New field mtime.
4227 (grub_hfs_dir): Handle mtime.
4228 (grub_hfs_mtime): New function.
4229 (grub_hfs_fs): Register grub_hfs_mtime.
4230 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
4231 (grub_iso9660_dir): New field mtime.
4232 (grub_fshelp_node): New field dirent.
4233 (iso9660_to_unixtime): New function.
4234 (iso9660_to_unixtime2): Likewise.
4235 (grub_iso9660_read_symlink): Use node->dirent.
4236 (grub_iso9660_iterate_dir): Likewise.
4237 (grub_iso9660_dir): Set mtime.
4238 (grub_iso9660_mtime): New function.
4239 (grub_iso9660_fs): Register grub_iso9660_mtime.
4240 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
4241 (grub_jfs_inode): New fields atime, ctime and mtime.
4242 (grub_jfs_dir): Set mtime.
4243 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
4244 * grub-core/fs/ntfs.c (list_file): Set mtime.
4245 (grub_ntfs_dir): Likewise.
4246 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
4247 (grub_reiserfs_iterate_dir): Set mtime.
4248 (grub_reiserfs_dir): Likewise.
4249 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
4250 (grub_fshelp_node): Likewise.
4251 (grub_sfs_iterate_dir): Set mtime.
4252 (grub_sfs_dir): Likewise.
4253 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
4254 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
4255 (grub_xfs_inode): New fields atime, mtime, ctime.
4256 (grub_xfs_dir): Set mtime.
4257 * include/grub/datetime.h (grub_datetime2unixtime): New function.
4258 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
4259 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
4260
4261 Support UDF symlinks.
4262
4263 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
4264 (grub_ufs_read_symlink): New function. All users updated.
4265
4266 Check amiga partmap checksum.
4267
4268 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
4269 (grub_amiga_partition): Likewise.
4270 (amiga_partition_map_checksum): New function.
4271 (amiga_partition_map_iterate): Check checksum.
4272
5470225d
VS
42732011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 ROMFS support.
4276
4277 * Makefile.util.def (libgrubmods.a): Add romfs.
4278 * grub-core/Makefile.core.def (romfs): New module.
4279 * grub-core/fs/romfs.c: New file.
4280
d4680a35
VS
42812011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4282
4283 Squashfs v4 support.
4284
4285 * Makefile.util.def (libgrubmods.a): Add squash4.
4286 * grub-core/Makefile.core.def (squash4): New module.
4287 * grub-core/fs/squash4.c: New file.
4288 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
4289 disk_input_start, disk_input.
4290 (get_byte): Handle disk_input.
4291 (grub_zlib_disk_read): New function.
4292 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
4293
bcb18e74
FZ
42942011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
42952011-05-15 Feiran Zheng <famcool@gmail.com>
4296
4297 * Makefile.util.def (libgrubmods.a): Add minix3.
4298 * grub-core/Makefile.core.def (minix3): New module.
4299 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
4300 (GRUB_MINIX_BSIZE): Removed.
4301 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
4302 (grub_minix_ino_t): New type.
4303 (grub_minix_le_to_cpu_ino): New macro.
4304 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
4305 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
4306 (grub_minix_data): New field block_size.
4307 (grub_minix_read_file): Handle 64-bit correctly.
4308 * grub-core/fs/minix3.c: New file.
4309
32297d5f
TG
43102011-05-15 Tristan Gingold <gingold@free.fr>
43112011-05-15 Robert Millan <rmh.grub@aybabtu.com>
43122011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 IA64 support.
4315
4316 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
4317 * configure.ac: Add ia64-efi target.
4318 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
4319 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
4320 * gentpl.py: Add ia64_efi platform.
4321 Rename x86_efi to efi and Add ia64-efi. All users updated.
4322 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
4323 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
4324 Remove kern/generic/rtc_get_time_ms.c on EFI.
4325 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
4326 kern/ia64/dl_helper.c on ia64-efi.
4327 Add kern/emu/cache.c on emu.
4328 (linux): Use on loader/ia64/efi/linux.c on ia64.
4329 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
4330 whether symbol is a function.
4331 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
4332 (grub_symbol): New field 'isfunc'.
4333 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
4334 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
4335 (grub_dl_load_segments): Place all sections into the same region.
4336 [__ia64__]: Create trampolines and got.
4337 [GRUB_MACHINE_EMU]: Call mprotect.
4338 (grub_dl_resolve_symbols): Resolve symbol type as well.
4339 [__ia64__]: Create function descriptors.
4340 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
4341 (grub_rtc_get_time_ms): ... this. Expressions simplified.
4342 (grub_get_rtc): New function.
4343 * grub-core/kern/emu/cache.c [__ia64__]: New file.
4344 * grub-core/kern/emu/cache.S: Renamed to ...
4345 * grub-core/kern/emu/cache_s.S: ... this.
4346 [__ia64__]: Add a nop.
4347 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
4348 [__ia64__]: New function.
4349 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
4350 * grub-core/kern/ia64/dl.c: New file.
4351 * grub-core/kern/ia64/dl_helper.c: Likewise.
4352 * grub-core/kern/ia64/efi/init.c: New file.
4353 * grub-core/kern/ia64/efi/startup.S: Likewise.
4354 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
4355 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
4356 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
4357 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
4358 * grub-core/loader/ia64/efi/linux.c: New file.
4359 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
4360 (GRUB_MOD_DEP): Likewise.
4361 (grub_dl) [__ia64__]: New fields got and tramp.
4362 (grub_dl): New field 'base'.
4363 (grub_dl_register_symbol): New argument isfunc. All users updated.
4364 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
4365 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
4366 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
4367 (grub_ia64_dl_get_tramp_got_size): New proto.
4368 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
4369 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
4370 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
4371 * include/grub/efi/api.h: Skip call wrappers on ia64.
4372 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
4373 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
4374 * include/grub/elf.h (ELF_ST_INFO): New definition.
4375 * include/grub/ia64/efi/kernel.h: New file.
4376 * include/grub/ia64/efi/memory.h: Likewise.
4377 * include/grub/ia64/efi/time.h: Likewise.
4378 * include/grub/ia64/kernel.h: Likewise.
4379 * include/grub/ia64/setjmp.h: Likewise (from glibc).
4380 * include/grub/ia64/time.h: New file.
4381 * include/grub/ia64/types.h: Likewise.
4382 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
4383 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
4384 New protos.
4385 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
4386 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
4387 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
4388 * util/grub-mkimage.c (image_target_desc): New field pe_target.
4389 All users updated.
4390 (EFI64_HEADER_SIZE): New definition. All users updated.
4391 (image_targets): Add ia64-efi.
4392 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
4393 jumpers_addr. All users updated.
4394 Create function descriptors.
4395 (count_funcs): New function.
4396 (unaligned_uint32): New struct.
4397 (MASK20): New definition.
4398 (MASK19): Likewise.
4399 (MASKF21): Likewise.
4400 (add_value_to_slot_20b): New function.
4401 (add_value_to_slot_21_real): Likewise.
4402 (add_value_to_slot_21): Likewise.
4403 (ia64_kernel_trampoline): New struct.
4404 (nopm): New variable.
4405 (jump): Likewise.
4406 (make_trampoline): New function.
4407 (relocate_addresses): Handle ia64.
4408 (make_reloc_section): Likewise.
4409 (load_image): Likewise.
4410
983b414d
VS
44112011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4412
4413 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
4414 warning. Move variables before code while on it.
4415
5d063cdc
VS
44162011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4417
4418 Fuloong support.
4419
4420 * configure.ac: Rename yeeloong platform to loongson. All users updated.
4421 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
4422 * grub-core/boot/mips/loongson/fuloong.S: New file.
4423 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
4424 Explicitly init CS5536.
4425 [FULOONG]: Don't use serial until CS5536 is available.
4426 Set GPIO based on dumps.
4427 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
4428 [FULOONG]: Handle GPIO and memory controller differences.
4429 Parse machine type in $a2.
4430 * grub-core/boot/mips/startup_raw.S: Determine and save the
4431 architecture.
4432 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
4433 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
4434 init on architecture type.
4435 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
4436 SIS315E. Don't init at_keyboard on fuloong.
4437 (grub_halt): Support Fuloong.
4438 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
4439 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
4440 (loongson_machtypes): New array.
4441 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
4442 type.
4443 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
4444 config. All users updated. Handle CS5536 serial.
4445 * grub-core/term/serial.c (grub_serial_register): Conditionalise
4446 default port on machine type. Register serial as inactive.
4447 * grub-core/video/sis315pro.c: New file.
4448 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
4449 definition.
4450 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
4451 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
4452 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
4453 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
4454 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
4455 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
4456 to ...
4457 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
4458 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
4459 definition.
4460 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
4461 (grub_arch_machine): New extern var.
4462 * include/grub/mips/loongson/serial.h
4463 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
4464 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
4465 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
4466 (GRUB_MACHINE_SERIAL_PORT0): ... this.
4467 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
4468 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
4469 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
4470 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
4471 * include/grub/term.h (grub_term_register_input_inactive): New inline
4472 function.
4473 (grub_term_register_output_inactive): Likewise.
4474 * include/grub/video.h (grub_video_driver_id): New value
4475 GRUB_VIDEO_DRIVER_SIS315PRO.
4476 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
4477 New field "names". All users updated.
4478 New field value IMAGE_FULOONG_FLASH.
4479 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
4480
6ada82d1
JU
44812011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
4482
4483 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
4484 and add some clarification.
4485
90c571a4
VS
44862011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4487
4488 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
4489 platforms if kernel is compressed.
4490
de04eecf
VS
44912011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
4494 unused modules since currently referrence counter isn't reliable and
4495 there isn't much memory to recover there anyway.
4496
57688121
VS
44972011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4498
4499 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
4500 rather than resetting it to allow modules to reference themselves
4501 in init.
4502
3d2c7e35
VS
45032011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4504
4505 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
4506 counter on dependencies since grub_dl_unref already handles this.
4507
b25db218
VS
45082011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4509
4510 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
4511 on error if not already done.
4512
25a45338
VS
45132011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 Fix few potential memory misusage.
4516
4517 * grub-core/font/font.c (load_font_index): Don't free char_index to
4518 avoid double free.
b25db218
VS
4519 (grub_font_load): Zero-fill font at alloc for safety.
4520 Close file on error.
4521 (free_font): Free bmp_idx.
25a45338 4522
0cac83df
VS
45232011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4524
4525 * docs/grub.texi (Installation): Fix several outdated claims.
4526
2217a143
VS
45272011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4528
4529 Handle module_license on windows.
4530
4531 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
4532 sections shifted.
4533 (insert_string): Make argument const char * instead of char *.
4534 (write_section_data): Handle long section names.
4535 Handle module_license.
4536
d4de6b01
VS
45372011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4538
4539 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
4540 handle class-free menuentries.
4541 (grub_normal_add_menu_entry): Add a check to be sure.
4542
4c2a3b43
VS
45432011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
4546 PgUp and PgDown.
4547
85c6210f
VS
45482011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4549
4550 * configure.ac: Bump version to 1.99.
4551
36084912
VS
45522011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4553
4554 Give ATA device a bit more time on first try in order to allow disks
4555 to spin up.
4556
4557 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
4558 if dev->present is 1. Reset dev->present on failure.
4559 (grub_ata_device_initialize): Set dev->present to 1.
4560 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
4561 (grub_ata_device): New member 'present'.
4562
bda0e219
VS
45632011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4564
4565 * util/grub-mkimage.c (generate_image): Update hash.
4566
19e1c41b
VS
45672011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4568
4569 Flush caches on DMA memory.
4570
4571 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
4572 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
4573 (grub_dma_free): Likewise.
4574 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
4575
91bbcc0c
VS
45762011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4577
4578 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
4579 to avoid asm treating ld and sd as macros.
4580
60ddfad3
VS
45812011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4582
4583 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
4584 decompressor.
4585
a298aa04
VS
45862011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4587
4588 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
4589 grub_decompress_core since later would fail if grub_decompress_core
4590 is too far.
4591
9b44feca
VS
45922011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4593
4594 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
4595 R_MIPS_JALR since it's used by newer compiler.
4596
56dbe7b4
VS
45972011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4598
4599 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
4600
52856af2
VS
46012011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4602
4603 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
4604 file_path to 0 for surety.
4605 (grub_chainloader_boot): Set exit_data to NULL.
4606 Unset the loader once done.
4607 (grub_cmd_chainloader): Fix confusing error message if file is empty.
4608
9c9bfc6d
VS
46092011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4610
4611 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
4612 unknown key into a dprintf.
4613
dd94a3df
VS
46142011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4615
4616 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
4617 on first non-existant partition.
4618
fa68d99c
VS
46192011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
4622 openning fails.
4623 Reported by: Mark Korenberg.
4624
157effb7
VS
46252011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4626
4627 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
4628 overflow.
4629
ea75312f
VS
46302011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4631
4632 * util/grub-mkimage.c (main): Explicitely flush and sync the output
4633 before closing to ensure that it will be readable by grub-setup.
4634
072b5d31
VS
46352011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4636
4637 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
4638 (devpath_1): Use MAKE_PIWG_PATH.
4639 (devpath_2): Likewise.
4640 (devpath_3): Likewise.
4641 (devpath_4): Likewise.
4642 (devpath_5): Likewise.
4643 (devpath_6): Likewise.
4644
4645 The appleldr.mod was checked that to be binary identical to previous
4646 version.
4647
7fae0051
Z
46482011-05-05 Zach <mikezackles>
4649
4650 Support 2010 Macbooks.
4651
4652 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
4653 (devs): Add devpath_6.
4654
7c515bee
VS
46552011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4656
4657 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
4658 /dev/random. /dev/urandom is good enough for our purposes (salting).
4659
ed660bd8
VS
46602011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4661
4662 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
4663
ee5614b7
VS
46642011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4665
4666 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
4667 hexadecimal.
4668
664889a6
VS
46692011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4670
4671 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
4672 and not 0 on failure.
4673
bd405bbc
CW
46742011-05-03 Colin Watson <cjwatson@ubuntu.com>
4675
4676 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
4677 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
4678 disk; otherwise grub_fs_probe will not fall back to the next
4679 filesystem.
4680 (grub_pxefs_open): Likewise, for consistency.
4681 Reported and tested by: Ezekiel Grave.
4682
4ebff753
CW
46832011-05-03 Colin Watson <cjwatson@ubuntu.com>
4684
4685 * tests/partmap_test.in: Don't hardcode path to parted.
4686 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
4687
8f942553
CW
46882011-05-01 Colin Watson <cjwatson@ubuntu.com>
4689
4690 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
4691 of `ls' to find out which devices are available.
4692
3c62402d
VS
46932011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
4696 than source address for efi mmap buffer.
4697
723f63f2
VS
46982011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4699
4700 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
4701 wrong action on non-detecting the magic.
4702
68797f92
VS
47032011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4704
4705 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
4706 already supplied by another part of the module (fixes compilation on
4707 FreeBSD).
4708
6be8715d
VS
47092011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4710
4711 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
4712 match the one used by mdadm.
4713
e91dba5b
CW
47142011-04-21 Colin Watson <cjwatson@ubuntu.com>
4715
4716 * po/README: Add instructions for creating po/LINGUAS.
4717
c85140b3
CW
47182011-04-21 Colin Watson <cjwatson@ubuntu.com>
4719
4720 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
4721 #551428.
4722
4723 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
4724 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
4725 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
4726 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
4727 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
4728 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
4729 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
4730 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
4731 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
4732 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
4733 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
4734 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
4735 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
4736 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
4737 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
4738 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
4739 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
4740 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
4741 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
4742 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
4743 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
4744 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
4745
92051871
CW
47462011-04-21 Colin Watson <cjwatson@ubuntu.com>
4747
4748 * grub-core/kern/emu/getroot.c
4749 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
4750 test that was incorrectly reintroduced in r3214.
4751 Reported by: Ian Dall. Fixes Savannah bug #33133.
4752
b13f79a4
CW
47532011-04-21 Colin Watson <cjwatson@ubuntu.com>
4754
4755 Fix stack pointer handling in 16-bit relocator.
4756
4757 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
4758 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
4759 Fixes Ubuntu bug #683904.
4760
9b710a88
VS
47612011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4762
4763 * configure.ac: Bump version to 1.99~rc2.
4764
d97e7b59
VS
47652011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4766
4767 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
4768 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
4769 * grub-core/lib/x86_64/setjmp.S: Likewise.
4770 * grub-core/lib/mips/setjmp.S: Likewise.
4771 * grub-core/lib/powerpc/setjmp.S: Likewise.
4772 * grub-core/lib/sparc64/setjmp.S: Likewise.
4773
0624551c
VS
47742011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4775
4776 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
4777 * grub-core/lib/efi/datetime.c: Likewise.
4778
e8f28d4c
VS
47792011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
4782 New function.
4783 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
4784 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
4785 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
4786
bba79a15
VS
47872011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
4790 bitmap.
4791 (grub_gfxterm_term_init): Likewise.
4792
abc474ef
VS
47932011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 Take into account the decorations the computing menu entry width.
4796
4797 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
4798 (grub_gfxmenu_create_box): Register get_border_width.
4799 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
4800 if available.
4801 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
4802 get_border_width.
4803
e74b3947
EP
48042011-04-18 Endres Puschner <code@e7p.de>
4805
4806 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
4807 Don't skip first class.
4808
34faa595
VS
48092011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4810
4811 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
4812 chunks.
4813 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
4814
93a777e3
VS
48152011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 Complete 64-bit division support.
4818
4819 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
4820 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
4821 * include/grub/misc.h (grub_divmod64): Rename to ...
4822 (grub_divmod64_full): ... this.
4823 (grub_divmod64): New inline function.
4824
a5102d94
VS
48252011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4826
4827 * util/grub-mkimage.c (generate_image): Add forgotten comma.
4828
f3fb7b36
VS
48292011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4830
4831 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
4832 performing the necessary test.
4833
9ac718b0
VS
48342011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4835
4836 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
4837 (kfreebsd.elf): Likewise.
4838 (pc-chainloader.elf): Likewise.
4839 (ntldr.elf): Likewise.
4840
50d2cc5a
VS
48412011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4842
4843 Identify RAID by its UUID rather than (guessed) name.
4844
4845 * grub-core/disk/raid.c (ascii2hex): New function.
4846 (grub_raid_open): Accept mduuid/%s specification.
4847 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
4848 (get_mdadm_uuid): ... this.
4849 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
4850
e03f7bea
VS
48512011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
4852
4853 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
4854 to negative size.
4855
e74c3112
CW
48562011-04-13 Colin Watson <cjwatson@ubuntu.com>
4857
4858 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
4859 btrfs subvolume.
4860 * util/grub.d/20_linux_xen.in: Likewise.
4861
78fa584f
CW
48622011-04-13 Colin Watson <cjwatson@ubuntu.com>
4863
4864 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
4865 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
4866
4867 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
4868 Build a list of relevant visible mounts using the mnt_id and
4869 parent_mnt_id fields, and then scan that list at the end.
4870
9d5f8162
CW
48712011-04-12 Colin Watson <cjwatson@ubuntu.com>
4872
4873 * docs/grub.texi (normal): New section.
4874 (normal_exit): New section.
4875 (Embedded configuration): Add reference to normal.
4876 (GRUB only offers a rescue shell): Likewise.
4877 * docs/grub-dev.texi (Error Handling): Fix typo.
4878
09a9d66f
CW
48792011-04-12 Colin Watson <cjwatson@ubuntu.com>
4880
4881 * NEWS: Drop obsolete entry about probe-only btrfs support.
4882
0c676933
CW
48832011-04-12 Colin Watson <cjwatson@ubuntu.com>
4884
4885 * util/import_gcry.py: Fix typo.
4886
ec9f5e0d
VS
48872011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4888
4889 * NEWS: Add btrfs support.
4890
fe6b2cba
VS
48912011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
48922011-04-11 Colin Watson <cjwatson@ubuntu.com>
4893
4894 BtrFS support. Written by me (Vladimir) with important bugfixes and
4895 even more important testing by Colin.
4896
4897 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
4898 * grub-core/Makefile.core.def (btrfs): Add crc.c.
4899 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
4900 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
4901 mem_input_off and mem_input. All users updated to accept in-RAM input.
4902 (gzio_seek): New function.
4903 (test_zlib_header): Likewise.
4904 (grub_gzio_read): Likewise.
4905 (grub_zlib_decompress): Likewise.
4906 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
4907 Accept partial and non-virtual mounts.
4908 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
4909 avoid receiving /dev/dm-X as device.
4910 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
4911 Handle bind and partial mounts.
4912 * grub-core/lib/crc.c: New file.
4913 * include/grub/deflate.h: Likewise.
4914 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
4915 proto.
4916 * include/grub/lib/crc.h: New file.
4917
e745cf0c
VS
49182011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4919
4920 Implement automatic module license checking according to new GNU
4921 guidelines.
4922
4923 * grub-core/kern/dl.c (grub_dl_check_license): New function.
4924 (grub_dl_load_core): Use grub_dl_check_license.
4925 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
4926 (GRUB_MOD_LICENSE): Likewise.
4927 (GRUB_MOD_DUAL_LICENSE): Likewise.
4928 All modules updated.
4929
2a9bc016
CW
49302011-04-11 Colin Watson <cjwatson@ubuntu.com>
4931
4932 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
4933 reserved_first_sector to 1. btrfs reserves plenty of space for boot
4934 loaders.
4935 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
4936
8a3bc88e
VS
49372011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4938
4939 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
4940
af869a4a
VS
49412011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4942
4943 * util/grub-fstest.c (read_file): Report GRUB error if file opening
4944 failed.
4945
9ee8d94f
VS
49462011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4947
4948 * grub-core/kern/file.c (grub_file_open): Don't take into account the
4949 parenthesis in the middle of the filename.
4950
b01abe3e
VS
49512011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4952
4953 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
4954 rather than trying to put initrd way too high.
4955 Reported by: Ryan Lortie <desrt@desrt.ca>
4956
335bda1e
VS
49572011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
4960 improperly removed string.
4961
5ca1a64d
VS
49622011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4963
4964 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
4965 is_disk.
4966 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
4967 (open_device) Likewise.
4968 (grub_util_biosdisk_close): Likewise.
d8ce9995 4969 Reported by: Mark Korenberg.
5ca1a64d 4970
cbac5b1e
AK
49712011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
4972
4973 * util/grub-mkconfig_lib.in: Add missing quotes.
4974
088cdb65
CW
49752011-04-10 Colin Watson <cjwatson@ubuntu.com>
4976
4977 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
4978 is NULL.
4979
8b8a81fa
VS
49802011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4981
4982 Dynamically count the number of lines for the lower banner.
4983
4984 * grub-core/normal/menu_entry.c (per_term_screen): New member
4985 num_entries.
4986 (print_down): Use num_entries.
4987 (update_screen): Likewise.
4988 (grub_menu_entry_run): Set num_entries.
4989 * grub-core/normal/menu_text.c (menu_viewer_data): New member
4990 num_entries.
4991 (grub_print_message_indented): Move real part to ...
4992 (grub_print_message_indented_real): ... here. Additional argument
4993 dry_run.
4994 (draw_border): Additional argument num_entries.
4995 (print_message): Additional argument dry_run.
4996 (print_entries): Receive menu viewer data.
4997 (grub_menu_init_page): New argment num_entries.
4998 (menu_text_set_chosen_entry): Use num_entries.
4999 (grub_menu_try_text): Likewise.
5000 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
5001 All users updated.
5002 (grub_ucs4_count_lines): New function.
5003 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
5004 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
5005 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
5006 (grub_term_border_height): Likewise.
5007 (grub_term_num_entries): Likewise.
5008
277f955b
VS
50092011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
5012 Remove now unused string.
5013
536ce85a
CW
50142011-04-09 Colin Watson <cjwatson@ubuntu.com>
5015
5016 * docs/grub-dev.texi (Finding your way around): Update for 1.99
5017 build system.
5018 (Getting started): GRUB is developed in Bazaar now, not Subversion.
5019
5020 (Comment): Fix typo.
5021 (Getting started): General copy-editing.
5022 (Typical Development Experience): Likewise.
5023 (Error Handling): Likewise.
5024 (Video API): Likewise.
5025
2cf09e32
CW
50262011-04-09 Colin Watson <cjwatson@ubuntu.com>
5027
5028 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
5029 throughout.
5030
1ec652f4
VS
50312011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5032
5033 * util/grub-mkimage.c (main): Handle special naming of yeeloong
5034 directory.
5035
2c583728
CW
50362011-04-08 Colin Watson <cjwatson@ubuntu.com>
5037
5038 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
5039 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
5040 "development".
5041
d7a565e9
VS
50422011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5043
5044 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
5045 grub_strcpy since the lines aren't necessarily 0-terminated.
5046
7c2e4909
VS
50472011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5048
5049 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
5050 root on legacy.
5051
34c09785
VS
50522011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5053
5054 * grub-core/commands/probe.c (options): Argument to set isn't optional.
5055 (GRUB_MOD_INIT): DEVICE isn't optional.
5056
6a6f8058
VS
50572011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5058
5059 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
5060 word on new line if it's too long anyway. Fixes a hang.
5061
2e335e90
VS
50622011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5063
5064 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
5065 const.
5066 * util/grub-setup.c (main): Reuse md device name if available.
5067 * util/raid.c (grub_util_raid_getmembers): Receive device name and
5068 not GRUB name as argument.
5069 Based on patch by: Florian Wagner <fwagner>.
5070
10a7a867
VS
50712011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5072
5073 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5074 Place mbi on low memory for better compatibility.
5075
7a3d6cd9
VS
50762011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5077
5078 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
5079
18dd6b47
VS
50802011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
50812011-04-08 Colin Watson <cjwatson@ubuntu.com>
5082
5083 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 5084 * conf/Makefile.common: Likewise.
18dd6b47 5085
3c0e3f14
VS
50862011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5087
f7148863
VS
5088 * grub-core/normal/menu.c: Add missing include.
5089
50902011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5091
5092 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 5093
6d1fa41f
MZ
50942011-04-08 Martin Zuther <mzuther@mzuther.de>
5095
5096 * util/grub-mkconfig.in: Ignore emacsen backup.
5097
478182a8
VS
50982011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5099
5100 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
5101 on open.
5102 (grub_util_biosdisk_close): Likewise.
5103
72a89a54
VS
51042011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5105
5106 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
5107 const attribute and use grub_isdigit.
5108
b5ebecfa
A
51092011-04-06 Andrey <dev_null@ukr.net>
5110
5111 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
5112 gcc warning.
5113
7755f66e
VS
51142011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5115
5116 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
5117 useful grub_dprintf's.
5118
461121ff
VS
51192011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5120
5121 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
5122
2a961775
VS
51232011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5124
5125 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
5126
adf594cc
VS
51272011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5128
5129 Output errors if theme loading failed.
5130
5131 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
5132 grub_gfxterm_fullscreen on error paths to ...
5133 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
5134 theme loading error.
5135
665900a3
VS
51362011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5137
5138 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
5139 space for older compilers.
5140 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
5141
a562b479
VS
51422011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5143
5144 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
5145 and report them as not RAID members since they are useless for GRUB.
5146 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5147
850e9373
VS
51482011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 Increase LVM implementation robustness in order not to crash on
5151 configurations like pvmove. Previously code assumed that in some places
5152 only lvs or only pvs are used whereas it seems that they are used
5153 interchangeably.
5154
5155 * grub-core/disk/lvm.c (read_node): New function.
5156 (read_lv): Use read_node.
5157 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
5158 Match volumes only at the end when all lvs are found. Take both
5159 pvs (first) and lvs (second) into account.
5160 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
5161 mirror_* into node_*. All users updated.
5162 (grub_lvm_stripe): Merge this ...
5163 (grub_lvm_mirror): ... and this ...
5164 (grub_lvm_node): ... into this. All users updated.
5165
6f332153
VS
51662011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5167
5168 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
5169 of function to allow further scanning for LVMs.
5170
829ea451
VS
51712011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5172
5173 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
5174 on failed seek as it breaks open fd reusage.
5175
09ceb9a5
VS
51762011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5177
5178 * util/grub-install.in: Add a recommendation to use --recheck before
5179 reporting bugs.
5180
67e11623
VS
51812011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
5184 are obtained.
5185
caee5efd
VS
51862011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5187
5188 GRUB developper manual based on existing Internals section and
5189 contributions by the various authors with active copyright assignment.
5190
5191 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
5192 * docs/font_char_metrics.png: New file.
5193 * docs/font_char_metrics.txt: Likewise.
5194 * docs/grub-dev.texi: Likewise.
5195 * docs/grub.texi (Internals): Move from here ...
5196 * docs/grub-dev.texi: ... here.
5197
2cccc747
CW
51982011-04-01 Colin Watson <cjwatson@ubuntu.com>
5199
5200 Store the loopback device as data on loopback grub_disk structures,
5201 rather than the file it points to. This fixes use of freed memory
5202 if an existing loopback device is replaced.
5203
5204 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
5205 disk->data, not dev->file.
5206 (grub_loopback_read): Adjust file assignment to match.
5207 Fixes Ubuntu bug #742967.
5208
186ae367
CW
52092011-04-01 Colin Watson <cjwatson@ubuntu.com>
5210
5211 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
5212 when replacing an existing device.
5213
cfed2ad0
VS
52142011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5215
5216 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
5217 memory corruptions.
5218
5219 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
5220 unsigned.
5221 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
5222 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
5223 (grub_jfs_read_inode): Likewise.
5224 (grub_jfs_opendir): Likewise. Remove now useless casts.
5225 (grub_jfs_getent): Likewise.
5226 Make ino a grub_uint32_t rather than int.
5227 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
5228 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
5229 division and module with bit operations.
5230 (grub_jfs_find_file): Make ino a grub_uint32_t.
5231 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
5232
05d2ed32
CW
52332011-04-01 Colin Watson <cjwatson@ubuntu.com>
5234
5235 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
5236 warning. (This was in fact always initialised before use, but GCC
5237 wasn't smart enough to prove that.)
5238 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
5239
91dc6073
VS
52402011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5241
5242 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
5243 stack alignment.
5244 (efi_wrap_1): Likewise.
5245 (efi_wrap_2): Likewise.
5246 (efi_wrap_3): Likewise.
5247 (efi_wrap_4): Likewise.
5248 (efi_wrap_5): Likewise.
5249 (efi_wrap_6): Likewise.
5250 (efi_wrap_10): Likewise.
5251 Based on information by: Red Hat/Peter Jones.
5252
a8afc1d1
CW
52532011-03-31 Colin Watson <cjwatson@ubuntu.com>
5254
5255 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
5256 set-but-not-used variable.
5257
a826cc7d
CW
52582011-03-31 Colin Watson <cjwatson@ubuntu.com>
5259
5260 * docs/grub.texi (Simple configuration): Be more explicit about
5261 GRUB_DEFAULT, and add an example.
5262 Reported by: Leslie Rhorer.
5263
875b67ba
CW
52642011-03-30 Colin Watson <cjwatson@ubuntu.com>
5265
5266 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
5267 shell".
5268
fd7cd914
AS
52692011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
5270
5271 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
5272 * util/grub.d/20_linux_xen.in: Likewise.
5273
090b1b6a
VS
52742011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5275
5276 * util/grub.d/10_linux.in: Try alternative config filenames where
5277 we parse config file.
5278 * util/grub.d/20_linux_xen.in: Likewise.
5279
baad885c
AS
52802011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
5281
5282 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
5283 * util/grub.d/20_linux_xen.in: Likewise.
5284
241e41f5
VS
52852011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5286
5287 * grub-core/disk/raid.c (insert_array): Add few potentially
5288 useful grub_util_info.
5289 (grub_raid_register): Likewise.
5290
56445fb2
VS
52912011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5292
5293 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
5294 Preserve partition number in mdadm code path.
5295
c871b1c6
VS
52962011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5297
5298 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
5299 few potentially useful grub_util_info.
5300
5e631b4f
CW
53012011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5302
5303 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
5304
2d5d0333
CW
53052011-03-30 Colin Watson <cjwatson@ubuntu.com>
5306
5307 * docs/grub.texi (default): Use @example rather than nested
5308 itemized lists to avoid breaking gendocs.
5309
3d7ed04e
CW
53102011-03-30 Colin Watson <cjwatson@ubuntu.com>
5311
5312 * docs/grub.texi (Future): Update.
5313
abf04200 53142011-03-30 Colin Watson <cjwatson@ubuntu.com>
5315
5316 * docs/grub.texi (Environment): New chapter.
5317 (Changes from GRUB Legacy): Link to "Environment block" section for
5318 details of limitations.
5319 (Simple configuration): Likewise. Link to documentation of gfxmode
5320 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
5321 respectively.
5322 (Shell-like scripting): Note that normal variables are stored in the
5323 environment.
5324 (gettext): Link to documentation of lang and locale_dir.
5325 (list_env): New section.
5326 (load_env): New section.
5327 (save_env): New section.
5328
5329 (Reporting bugs): Fix typo.
5330
e1ad0edd
VS
53312011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5332
5333 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
5334 the example.
5335
5d803174
VS
53362011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5337
5338 * grub-core/term/at_keyboard.c (set_scancodes)
5339 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
5340
2a2da1d0
CW
53412011-03-30 Colin Watson <cjwatson@ubuntu.com>
5342
5343 * docs/grub.texi (Menu-specific commands): Remove some semantics
5344 that were true in GRUB Legacy but not in GRUB 2.
5345 (submenu): New section.
5346 (false): New section.
5347 (read): New section.
5348 (true): New section.
5349
a7527639
CW
53502011-03-30 Colin Watson <cjwatson@ubuntu.com>
5351
5352 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
5353
53542011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
5355
5356 * docs/grub.texi (Simple configuration): Explain some of the
5357 current limitations of grub-mkconfig.
8a748df2 5358 Reported by: Leslie Rhorer.
e30af029 5359
fc858482
VS
53602011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5361
5362 Old macs search for boot.efi rather than for bootia32.efi.
5363
5364 * util/grub-install.in: Copy bootia32.efi to boot.efi.
5365 * util/grub-mkrescue.in: Likewise.
5366 Suggested by: Peter Jones.
5367
e1eb511d
VS
53682011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5369
5370 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
5371
70e75364
VS
53722011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5373
5374 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
5375 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
5376 (grub_lvm_mirror): New struct.
5377 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
5378 (grub_lvm_iterate): Iterate only visible volumes.
5379 (grub_lvm_read): Factor out to ..
5380 (read_lv): ... this. Support mirrors.
5381 (grub_lvm_read): New wrapper function.
5382 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
5383 stripped or mirrored.
5384
fc18f6a3
VS
53852011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5386
5387 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
5388
5c650f4c
CW
53892011-03-29 Colin Watson <cjwatson@ubuntu.com>
5390
5391 * docs/grub.texi (loopback): New section.
5392
61d7156b
CW
53932011-03-29 Colin Watson <cjwatson@ubuntu.com>
5394
5395 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
5396 removed -p option.
5397
994b8264
CW
53982011-03-29 Colin Watson <cjwatson@ubuntu.com>
5399
5400 * docs/grub.texi (BIOS installation): New section, partly based on
5401 previous text in other sections.
5402 (Installing GRUB using grub-install): Replace BIOS discussion with a
5403 cross-reference.
5404 (Images): Likewise.
5405
9e4d19e0
VS
54062011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 * grub-core/kern/emu/hostdisk.c (find_partition_start)
5409 [HAVE_DIOCGDINFO]: Add safety checks.
5410
a307c0b2
VS
54112011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5412
5413 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
5414 per default compiled in kernel and prior to 8.0 isn't shipped at all.
5415
b4db4f39
CW
54162011-03-29 Colin Watson <cjwatson@ubuntu.com>
5417
5418 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
5419 real_sb->size is zero (e.g. RAID-0), get the disk size from
5420 real_sb->data_size instead.
5421 Fixes Ubuntu bug #743136.
5422
35e5f84c
VS
54232011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
5426 printf clauses for printing size and start.
5427
d2e29d81
VS
54282011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5429
5430 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
5431 Reported and tested by: Timothy Nikkel.
5432
ed5587af
VS
54332011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5434
5435 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
5436 (dirty_region_add_real): ... this.
5437 (dirty_region_add): Don't discard margin refresh when performing
5438 scheduled repaint.
5439
a1dc717c
VS
54402011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5441
5442 * grub-core/lib/relocator.c (allocate_regstart)
5443 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
5444 terminals are capabple of malloc-free operation.
5445 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
5446 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
5447
9f3677d3
VS
54482011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
5449
5450 * util/grub-setup.c: Copy the partition table zone if floppy support
5451 is disabled, even if no partition table is found.
5452
5453 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
5454 during POST if an invalid partition table is contained in the PBR
5455 of the active partition when GRUB is installed to a partition.
5456
24148725
CW
54572011-03-28 Colin Watson <cjwatson@debian.org>
5458
5459 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
5460 comment.
5461
f329eda7
CW
54622011-03-28 Colin Watson <cjwatson@debian.org>
5463
5464 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
5465 to be specific about what kind of RAID device we're scanning for.
5466
c482ad98
SG
54672011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
5468
5469 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
5470 return freed string.
5471
5ee04984
VS
54722011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5473
5474 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
5475
f4727da9
VS
54762011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5477
5478 Use libgeom on FreeBSD to detect partitions.
5479
5480 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
5481 (grub-mkrelpath): Likewise.
5482 (grub-script-check): Likewise.
5483 (grub-editenv): Likewise.
5484 (grub-mkpasswd-pbkdf2): Likewise.
5485 (grub-fstest): Likewise.
5486 (grub-mkfont): Likewise.
5487 (grub-mkdevicemap): Likewise.
5488 (grub-probe): Likewise.
5489 (grub-setup): Likewise.
5490 (grub-ofpathname): Likewise.
5491 (grub-mklayout): Likewise.
5492 (example_unit_test): Likewise.
5493 (grub-menulst2cfg): Likewise.
5494 * grub-core/Makefile.core.def (grub-emu): Likewise.
5495 (grub-emu-lite): Likewise.
5496 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
5497 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
5498 define HAVE_DIOCGDINFO.
5499 (follow_geom_up) [FreeBSD]: New function.
5500 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
5501 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
5502 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
5503 unconditionally of HAVE_DIOCGDINFO.
5504
82fe6c75
VS
55052011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5506
5507 Fix FreeBSD compilation problem.
5508
5509 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
5510 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
5511
4c6c9431
CW
55122011-03-24 Colin Watson <cjwatson@ubuntu.com>
5513
5514 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
5515 Switch back to page zero before loading a kernel, since some kernel
5516 drivers expect that.
5517 Thanks to: Felix Kuehling.
5518
c7064d94
VS
55192011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5520
5521 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
5522 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
5523 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
5524
3f71cded
VS
55252011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5526
5527 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
5528 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
5529
ef6de21a
VS
55302011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5531
5532 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
5533 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
5534 malloc is disabled.
5535
8bc66a2c
VS
55362011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5537
5538 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
5539 for modules headers when counting the needed allocation size.
5540
5657722c
VS
55412011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5542
5543 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
5544 if no ASCII character is found to prevent crash.
5545
41a85f55
AK
55462011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
5547
5548 * grub-core/video/bitmap.c (match_extension): Ignore case.
5549
59e1e5f1
VS
55502011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5551
5552 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
5553
bd4d051a
VS
55542011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5555
5556 * grub-core/script/parser.y: Declare "time" as valid argument.
5557
bae7fcc1
PJ
55582011-03-23 Peter Jones <pjones@redhat.com>
5559
5560 Fix incorrect assert failure reporting.
5561
5562 * grub-core/tests/example_functional_test.c (example_test): Add
5563 a failure comment.
5564 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
5565 (failure_start): ...this. Check that malloc succeeded.
5566 Don't call xvasprintf. Return failure struct.
5567 (failure_append_vtext): New function.
5568 (failure_append_text): Likewise.
5569 (add_failure): Likewise.
5570 (grub_test_assert_helper): Likewise.
5571 * include/grub/test.h (grub_test_assert_helper): New declaration.
5572 (grub_test_assert): Macro rewritten.
5573
537dc9be
VS
55742011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5575
5576 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
5577
fa3e01bf
VS
55782011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5579
5580 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
5581
b1d28404
VS
55822011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5583
5584 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
5585 into GRUB-style one.
5586
2e3e2e09
VS
55872011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5588
5589 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
5590 error and not grub_errno.
5591 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
5592
ed57e557
VS
55932011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5594
5595 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
5596 GRUB_USB_SPEED_NONE in case of failure and not the error code.
5597
d1611f01
VS
55982011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5599
5600 * grub-core/efiemu/i386/pc/cfgtables.c
5601 (grub_machine_efiemu_init_tables): Make declaration a prototype.
5602 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
5603 (grub_xnu_unlock): Likewise.
5604 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
5605
7d4e39d6
VS
56062011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5607
5608 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
5609 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
5610 * grub-core/commands/hashsum.c (aliases): Likewise.
5611 * grub-core/commands/setpci.c (pci_registers): Likewise.
5612 * grub-core/disk/usbms.c (attach_hook): Likewise.
5613 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
5614 (zio_checksum_table): Likewise.
5615 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
5616 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
5617 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
5618 * grub-core/lib/relocator.c (leftovers): Likewise.
5619 (extra_blocks): Likewise.
5620 * grub-core/loader/i386/bsd.c (relocator): Likewise.
5621 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
5622 (modules_last): Likewise.
5623 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
5624 (devices): Likewise.
5625 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
5626 (modules_last): Likewise.
5627 * grub-core/normal/auth.c (users): Likewise.
5628 * grub-core/normal/context.c (initial_menu): Likewise.
5629 (current_menu): Likewise.
5630 * grub-core/normal/crypto.c (crypto_specs): Likewise.
5631 * grub-core/term/serial.c (grub_serial_ports): Likewise.
5632 (grub_serial_terminfo_input_template): Likewise.
5633 (grub_serial_terminfo_output_template): Likewise.
5634 (grub_serial_terminfo_input): Likewise.
5635 (grub_serial_terminfo_output): Likewise.
5636 (registered): Likewise.
5637 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
5638
40fc4659
VS
56392011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5640
5641 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
5642 grub_video_mode_type_t.
5643 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
5644 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
5645 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
5646
2da48d28
VS
56472011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5648
5649 * util/grub-install.in: Correct the x86-64 name as x86_64.
5650
9b43bf39
CW
56512011-03-11 Colin Watson <cjwatson@ubuntu.com>
5652
5653 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
5654 initial chunk read from the kernel always includes GRUB's multiboot
5655 header, which is now outside the first sector.
5656
be1a7ce0
CW
56572011-03-09 Colin Watson <cjwatson@ubuntu.com>
5658
5659 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
5660 cached mmap_size, so that this works correctly when called multiple
5661 times.
5662 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
5663
83a3c48d
CW
56642011-03-09 Colin Watson <cjwatson@ubuntu.com>
5665
5666 * docs/grub.texi (Simple configuration): Tidy up formatting.
5667
57d75699
SJ
56682011-03-07 Szymon Janc <szymon@janc.net.pl>
5669
5670 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
5671 Set-but-not-used variable removed.
5672
028501a0
VS
56732011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5674
5675 Workaround yet another IEEE1275 bug.
5676
5677 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
5678 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
5679 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
5680 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
5681 is set.
5682 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5683 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
5684
d998657d
VS
56852011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5686
5687 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
5688 error.
5689
fee7cdd4
CW
56902011-02-11 Colin Watson <cjwatson@ubuntu.com>
5691
5692 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
5693 empty, since in that case we can only generate either nothing or a
5694 syntactically invalid configuration file.
5695 Reported by: Michal Suchanek. Fixes Debian bug #612898.
5696
97286eb5
CW
56972011-02-09 Colin Watson <cjwatson@ubuntu.com>
5698
5699 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
5700 (Making a GRUB bootable CD-ROM): Likewise.
5701 (Invoking grub-mkrescue): New section.
5702 Reported by: Yann Dirson. Fixes Debian bug #612585.
5703
22b28eb3
CW
57042011-02-09 Colin Watson <cjwatson@ubuntu.com>
5705
5706 * util/grub-install.in: Remove unnecessary brackets from tr
5707 arguments.
5708 * util/grub.d/10_hurd.in: Likewise.
5709 * util/grub.d/10_kfreebsd.in: Likewise.
5710 * util/grub.d/10_linux.in: Likewise.
5711 * util/grub.d/20_linux_xen.in: Likewise.
5712 Reported by: Jamie Heilman. Fixes Debian bug #612564.
5713
7e735e43
CW
57142011-02-08 Colin Watson <cjwatson@ubuntu.com>
5715
5716 * include/grub/file.h (not_easly_seekable): Rename to ...
5717 (not_easily_seekable): ... this. Update all users.
5718
800f1881
CW
57192011-01-28 Colin Watson <cjwatson@ubuntu.com>
5720
5721 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
5722 grub-mkrescue.
5723
3281d3d6
VS
57242011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5725
5726 * util/grub-mkimage.c (generate_image): Refuse to create the images
5727 bigger than the actual flash (512K) in Loongson machines. 512K is also
5728 the biggest chip supported by them.
5729
3533413c
VS
57302011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5731
5732 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
5733
73ae4f4f
VS
57342011-01-22 Anthony DeRobertis <anthony@derobert.net>
5735
5736 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
5737 super_offset field.
5738
37f4f608
VS
57392011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5740
5741 * util/grub-install.in: Ignore install device on platforms
5742 where it doesn't make sense. Always use UUIDs except on pc, efi and
5743 sparc64.
5744 Reported by: Daniel Kahn Gillmor.
5745
03a4ccb5
VS
57462011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5747
5748 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
5749
ffc8f4d8
VS
57502011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5751
5752 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
5753 (iterate_real): Don't rely on partition being non-NULL.
5754
80f23be7
VS
57552011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5756
5757 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
5758 supported platforms. Put a compile time assert for this rather than
5759 generate a warning with 32-bit shift.
5760
5d4f4dd5
VS
57612011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5762
5763 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
5764 logical expression more readable.
5765
e489601a
VS
57662011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5767
5768 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
5769 even if some elements have a name.
5770 Reported by: Alexander GQ Gerasiov.
5771
96e0a6ea
CW
57722011-01-22 Colin Watson <cjwatson@ubuntu.com>
5773
5774 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
5775 path unreadable if `grub-probe -t abstraction' fails, for example if
5776 memberlist fails on an LVM volume group.
5777 Reported by: Darius Jahandarie.
5778
81431e2b
CW
57792011-01-22 Colin Watson <cjwatson@ubuntu.com>
5780
5781 * docs/grub.texi (Simple configuration): Document
5782 GRUB_PRELOAD_MODULES.
5783
5e79d66a
CW
57842011-01-17 Colin Watson <cjwatson@ubuntu.com>
5785
5786 * .bzrignore: Remove nonexistent grub-pbkdf2.
5787
646ada34
VS
57882011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5789
5790 * configure.ac: Bump version to 1.99~rc1.
5791
04360337
VS
57922011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5793
5794 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
5795 for safety.
5796
46c9db88
VS
57972011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5798
5799 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
5800 module.
5801
58022011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
5803
5804 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
5805
4fbf1852
VS
58062011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5807
5808 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
5809 diskdevid.
5810
f1632d4d
VS
58112011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5812
5813 Fix compilation on cygwin.
5814
5815 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
5816 -R .drectve on cygwin.
5817 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
5818 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
5819 (COND_CYGWIN): New condition.
5820 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
5821 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
5822 not @TARGET_OBJ2ELF@.
5823 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
5824 type to determine whether aux is to be used.
5825
0b5e127b
VS
58262011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5827
5828 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
5829 realpath'ed device string.
5830 Handle floppy (somewhat).
5831 Issue error in unknown case rather than garbage.
5832 Reported by: Axel Beckert.
5833
173b71e9
VS
58342011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5835
5836 * util/grub.d/00_header.in (load_video): Handle the case when no video
5837 drivers available.
5838 Thanks to: Axel Beckert.
5839
f8f479db
VS
58402011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5841
5842 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
5843 variable. Fixes problem on big endian platforms.
5844
8fc0a245
VS
58452011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5846
5847 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
5848 It doesn't work well there.
5849
b8494fbe
VS
58502011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5851
5852 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
5853 warning.
5854 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
5855 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
5856 counter.
5857
b44a558c
VS
58582011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5859
5860 Use alias->path rather than buggy "canon".
5861
5862 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
5863 (ofdisk_hash_add): New argument curcan. All users updated.
5864
51fa856c
CW
58652011-01-11 Colin Watson <cjwatson@ubuntu.com>
5866
5867 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
5868
9da068a5
VS
58692011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5870
5871 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
5872 loadmask before doing any calculations. Use correct type for offset.
5873 (grub_linux_load64): Likewise.
5874
86205c94
CW
58752011-01-11 Colin Watson <cjwatson@ubuntu.com>
5876
5877 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
5878 with NULL.
5879 (console_grub_equivalences_unshift): Likewise.
5880 Reported by: Daniel Dehennin.
5881
4531a206
VS
58822011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5883
5884 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
5885 (set_env_limn_ro): Likewise.
5886 (GRUB_MOD_INIT): Likewise.
5887 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
5888 ARRAY_SIZE while on it.
5889 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
5890 * grub-core/normal/context.c (grub_env_export): Move from here ...
5891 * grub-core/kern/env.c (grub_env_export): ... here.
5892 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
5893 prefix.
5894 * grub-core/kern/main.c (grub_main): Export root and prefix.
5895 * include/grub/env.h (grub_env_export): Export.
5896 Reported by: Seth Goldberg.
5897
45146057
VS
58982011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5899
5900 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5901 Take into account space used by ELF sections and multiboot palette.
5902 Reported by: Grégoire Sutre.
5903
f093110b
VS
59042011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5905
5906 * BUGS: New file.
5907
3395fe52
VS
59082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5909
5910 Pass more appropriate video id to Linux.
5911
5912 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
5913 grub_video_get_driver_id and variable gfxpayloadforcelfb to
5914 fill have_vga.
5915 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
5916 shift params->lfb_size.
5917 * include/grub/i386/linux.h: Make an enume out of have_vga values.
5918
c2fa6cbb
VS
59192011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5920
5921 * util/grub-menulst2cfg.c: Add missing include of misc.h.
5922
b3ff6ff0
VS
59232011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5924
5925 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
5926 separator and pass bootpath/devid even if only one of them is available.
5927 Reported by: Seth Goldberg.
5928
ae67942e
VS
59292011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5930
5931 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
5932 implementations bug on them.
5933
5934 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
5935 memory.
5936 (filter_memory_map): Likewise.
5937
d570097a
VS
59382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
5941 Reported by: nebuchadnezzar.
5942
a508e776
VS
59432011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5944
5945 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
5946 Reported by: nebuchadnezzar.
5947
dcb883b1
VS
59482011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5949
5950 Submenu default support.
5951
5952 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
5953 auto_boot. All users updated.
5954 Declared static.
5955 Handle chosen and default with submenus.
5956 (grub_menu_execute_with_fallback): Declared static.
5957 Don't notify failure if autobooted. Upper level does it.
5958 (menuentry_eq): New function.
5959 (get_entry_number): Use menuentry_eq.
5960 (show_menu): New parameter "autobooted". All users updated.
5961 (grub_show_menu): Likewise.
5962 * include/grub/normal.h (grub_show_menu): Likewise.
5963 * include/grub/menu.h (grub_menu_execute_entry): Removed.
5964 (grub_menu_execute_with_fallback): Likewise.
5965
6fef99b4
VS
59662011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5967
5968 * util/grub-mklayout.c (usage): Update help text.
5969
47a77af5
VS
59702011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5971
5972 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
5973
ce6bb3ee
VS
59742011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5975
5976 * util/grub-menulst2cfg.c (main): Trim the line.
5977
db87be2a
VS
59782011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5979
5980 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
5981 (grub_machine_init): Don't check amount of low memory as reportedly
5982 INT 12h can be broken and if low memory is too low we wouldn't have
5983 gotten into grub_machine_init anyway.
5984
c49849cc
VS
59852011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5986
5987 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
5988 (grub_machine_mmap_iterate): Take low memory into account
5989
b1969b30
VS
59902011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5991
5992 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
5993 badfs.
5994 Reported by: TiCPU.
5995
cf0eaf13
VS
59962011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5997
5998 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
5999 members errors.
6000
1f060f39
GS
60012011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
6002
6003 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
6004 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
6005
a21e5672
GS
60062011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
6007
6008 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
6009 openbsd and netbsd types being in part_bsd module.
6010
c88172fa
VS
60112011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6012
6013 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
6014 (_FILE_OFFSET_BITS): Likewise.
6015 Reported by: Seth Goldberg.
6016
53798c4b
GS
60172011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6018
6019 * configure.ac: Check for libdevmapper header.
6020
e7121b69
VS
60212011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6022
6023 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
6024 avoid aliasing.
6025 (fzap_lookup): Likewise.
6026 (dnode_get): Likewise.
6027 (make_mdn): Likewise.
6028 (zfs_mount): Likewise.
6029 (fzap_iterate): Use temporary pointer to avoid aliasing.
6030 (grub_zfs_read): Likewise.
6031 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
6032 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
6033 pointers to avoid aliasing.
6034 (grub_cmd_xnu_kernel64): Likewise.
6035 (grub_xnu_load_driver): Likewise.
6036
fc836af9
VS
60372011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6038
6039 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
6040 aliasing warning.
6041 (grub_cmd_terminal_output): Likewise.
6042 Reported and tested by: Grégoire Sutre.
6043
f9f37648
VS
60442011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6045
6046 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
6047 warning.
6048 Reported and tested by: Grégoire Sutre.
6049
ec1dfd63
VS
60502011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 * configure.ac: Do CPU substitution even if it's specified explicitly.
6053 Reported and tested by: Alain Greppin.
6054
9462775a
VS
60552011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
6058 Reported and tested by: Alain Greppin.
6059
0fd48e35
VS
60602011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6061
6062 Satisfy some bison versions need for inttypes.h.
6063
6064 * grub-core/lib/posix_wrap/inttypes.h: New file.
6065 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
6066 (int16_t): Likewise.
6067 (int32_t): Likewise.
6068 (int64_t): Likewise.
6069 Reported and tested by: Alain Greppin.
6070
43f1bc83
VS
60712011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6072
6073 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
6074 Silence spurious warning.
6075 Reported and tested by: Alain Greppin.
6076
64d1f041
SJ
60772011-01-07 Szymon Janc <szymon@janc.net.pl>
6078
6079 * docs/grub.texi (Support automatic decompression): Update with xz
6080 decompression support.
6081
25953e10
SJ
60822011-01-07 Szymon Janc <szymon@janc.net.pl>
6083
6084 Improve loaders' kernel command line handling.
6085
6086 * grub-core/lib/cmdline.c: New file.
6087 * include/grub/lib/cmdline.h: Likewise.
6088 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
6089 grub_create_loader_cmdline to create kernel command line.
6090 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6091 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
6092 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
6093 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
6094 (linux): Add lib/cmdline.c on common.
6095
e72d259f
VS
60962011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6097
6098 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
6099 inopos might be unaligned.
6100
c0cf26da
VS
61012011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6102
6103 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
6104 endian transformations.
6105 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6106 Based on report by: Doug Nazar.
6107
0ca09e6c
DN
61082011-01-07 Doug Nazar <nazard.michi@gmail.com>
6109
6110 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
6111 array->members[i].start_sector.
6112 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6113
014b6806
VS
61142011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6115
6116 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
6117 Reported and tested by: Grégoire Sutre.
6118
415502c2
CW
61192011-01-06 Colin Watson <cjwatson@ubuntu.com>
6120
6121 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
6122 avoid causing test failures by clearing the screen.
6123
71b6a2b7
CW
61242011-01-06 Colin Watson <cjwatson@ubuntu.com>
6125
6126 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
6127 Fix prefix check to handle the case where dir ends with a slash
6128 (most significantly, "/" itself).
6129 Reported by: Michael Vogt.
6130
b3f8d28a
VS
61312011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6132
6133 Run terminfo_cls on initing terminfo output to clear the screen and
6134 move the cursor to (0,0).
6135
6136 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
6137 Call grub_terminfo_output_init.
6138 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
6139 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
6140 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
6141
4c3e4f37
VS
61422011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6143
6144 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
6145 only when needed.
6146
488f71f1
VS
61472011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6148
6149 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
6150 CTRL.
6151
18a38098
VS
61522011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6153
6154 The E820 type 5 is BADRAM, not EXEC_CODE.
6155
6156 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
6157 (GRUB_E820_BADRAM): New define.
6158 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
6159 into reserved. Propagate BADRAM.
6160 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
6161 (GRUB_E820_BADRAM): New define.
6162
9eae2084
VS
61632011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6164
6165 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
6166 Ignore the memory post-4G.
6167 (grub_relocator_firmware_alloc_region): Additional debug statement.
6168
ebc71d28
VS
61692011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6170
6171 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
6172 names.
6173 Reported by: David Pravec.
6174
446fa400
VS
61752011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6176
6177 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
6178 BIOSes.
6179
a0159f37
VS
61802011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
6183 Prevent overflow.
6184 (grub_reed_solomon_recover): Likewise.
6185
e5146ca1
VS
61862011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6187
6188 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
6189
61902011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
6191
6192 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
6193 variable.
6194
5b1bdf12
CW
61952011-01-04 Colin Watson <cjwatson@ubuntu.com>
6196
6197 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
6198 descriptions of extract_legacy_entries_source and
6199 extract_legacy_entries_configfile.
6200 Reported by: Seung Soo, Ha.
6201
99d925aa
CW
62022011-01-03 Colin Watson <cjwatson@ubuntu.com>
6203
6204 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
6205 on devices that do not implement function 0.
6206
4af0504b
DV
62072011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
6208
6209 * grub-core/fs/hfsplus.c: Make parent unsigned.
6210 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
6211 overflows.
6212 (grub_hfsplus_cmp_extkey): Likewise
6213
469ee10a
VS
62142011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 * util/grub-install.in: Correctly use bootloader_id and not
6217 GRUB_DISTRIBUTOR on efibootmgr line.
6218
323a8e9c
VS
62192011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6220
6221 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
6222
1b394975
IC
62232010-12-31 Ian Campbell <ijc@hellion.org.uk>
6224
6225 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
6226 Xen and reorder menu item wording to make it clearer that this entry
6227 will launch Xen. Print separate messages when loading Xen and
6228 Linux.
6229
275bff5f
VS
62302010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6231
6232 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
6233 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
6234 loop in case of incorrect amiga partmap.
6235
307806cb
VS
62362010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6237
6238 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
6239 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
6240 Reported by:EHeM.
6241
b12b923e
VS
62422010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6243
6244 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
6245 spurious warning.
6246 Reported by: crocket
6247
14b48a19
VS
62482010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6249
6250 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
6251 Preload EFIemu.
6252 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
6253
693db2df
VS
62542010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6255
6256 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
6257 is loaded
6258 (grub_cmd_xnu_kextdir): Likewise.
6259 (grub_cmd_xnu_splash): Likewise.
6260
c7638645
VS
62612010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6262
6263 Avoid using Reed-Solomon with 0 redundancy.
6264
6265 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
6266 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
6267 or 0 redundancy.
6268 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
6269 (grub_reed_solomon_recover): Likewise.
6270
25dd4780
VS
62712010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 Don't use disk subsystem in freebsd_boot.
6274
6275 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
6276 (freebsd_biosdev): Likewise.
6277 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
6278 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
6279
0b2db943
VS
62802010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6281
6282 Handling of files of unknown size is currently limited. They can't be
6283 used e.g. for initrd or modules. Moreover gzip handling of not
6284 easily seekable files is buggy. Disable unknown file size for now. May
6285 be inefficient but works.
6286
6287 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
6288 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
6289
5c408d0f
MP
62902010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
6291
6292 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
6293 floppy probe.
6294
190a011a
JD
62952010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
6296
6297 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
6298
022d01b8
SL
62992010-12-25 Shea Levy <shlevy>
6300
6301 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
6302
c4855fdc
VS
63032010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6304
6305 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
6306 Windows Server 2008.
6307 Reported by: Devin Giddings.
6308
0354b867
VS
63092010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6310
6311 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
6312 writing an error message because of async power management.
6313 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
6314 (grub_reboot): Likewise.
6315
ab66c69f
JU
63162010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
6317
6318 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
6319 keep unit tests from failing when they shouldn't.
6320
1426ef35
CW
63212010-12-21 Colin Watson <cjwatson@ubuntu.com>
6322
6323 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
6324 previous patch increased the size of the RS code by 20 bytes (at
6325 least with gcc-4.4), so increase this by 20 bytes to match.
6326 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6327
20641b6b
CW
63282010-12-21 Colin Watson <cjwatson@ubuntu.com>
6329
6330 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
6331 scratch area. Make sure to initialise chosen in standalone mode as
6332 well as non-standalone.
6333 Reported by: Robert Hooker and Andy Whitcroft.
6334 Tested by: Andy Whitcroft.
6335
d060ad60
CW
63362010-12-21 Colin Watson <cjwatson@ubuntu.com>
6337
6338 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
6339 constructing a new unescaped string and passing it to grub_xputs in
6340 one go, rather than passing characters to grub_printf one at a time.
6341
b889cfad
CW
63422010-12-21 Colin Watson <cjwatson@ubuntu.com>
6343
6344 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
6345 initialising utf16.
6346
4e01b6c8
CW
63472010-12-21 Colin Watson <cjwatson@ubuntu.com>
6348
6349 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
6350 comment. Add an extra layer of quotation, requiring the output of
6351 this function to be used in a printf format string.
6352 (gettext_printf): New function.
6353 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
6354 Extract translatable strings from here-documents and use a temporary
6355 variable instead, so that xgettext can find them.
6356 * util/grub.d/10_kfreebsd.in: Likewise.
6357 * util/grub.d/10_linux.in: Likewise.
6358 * util/grub.d/20_linux_xen.in: Likewise.
6359
6360 * po/grub.d.sed: New file.
6361 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
6362 arguments. Set c-format flags on all strings extracted from
6363 util/grub.d/ (xgettext refuses to include these itself for strings
6364 it extracted from a shell file, but these really are c-format).
6365
5318fe98
VS
63662010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6367
6368 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
6369 Avoid next pointing to nowhere.
6370
6c85b743
VS
63712010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6372
6373 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
6374 rather than assuming than rootblock is exactly in the middle.
6375 (grub_affs_label): Likewise.
6376
a2a08a35
VS
63772010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6378
6379 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
6380 reserved_first_sector to 0.
6381 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
6382 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
6383 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
6384
7059d1ec
VS
63852010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6386
6387 Fix handling of UTF-16 UDF labels.
6388
6389 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
6390 (read_string): .. here.
6391 (grub_udf_label): Use read_string.
6392
30aff4cb
BC
63932010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
6394
6395 * grub-core/normal/menu_entry.c (run): Execute commands from menu
6396 editor under argument scope.
6397 Reported by: Jordan Uggla
6398
5cf86f4b
VS
63992010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6400
6401 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
6402
32570200
CW
64032010-12-18 Colin Watson <cjwatson@ubuntu.com>
6404
6405 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
6406 line, and other keys scroll an entire page (previous handling was
6407 for \r and \n to scroll a page and other keys to scroll two lines).
6408
e1dffcf2
VS
64092010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6410
6411 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6412 Set ptrdest to correct get_physical_target_address rather than
6413 incorrect get_virtual_current_address.
6414
b04298cf 64152010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
6416
6417 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
6418 correct cat to grub_uint8_t * rather than grub_uint32_t *.
6419
5367ecd3
CW
64202010-12-10 Colin Watson <cjwatson@ubuntu.com>
6421
6422 * .bzrignore: Ignore grub-core/rs_decoder.S.
6423
1fb430f8
CW
64242010-12-10 Colin Watson <cjwatson@ubuntu.com>
6425
6426 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
6427 .mo/.mo.gz opening sequence to ...
6428 (grub_mofile_open_lang): ... here.
6429 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
6430 * util/grub.d/00_header.in (grub_lang): Include country part of
6431 locale.
6432 Reported by: Mario Limonciello.
6433
a94a6671
RM
64342010-12-09 Robert Millan <rmh@gnu.org>
6435
6436 * NEWS: Document addition of ZFS support.
6437
24b7938b
CW
64382010-12-04 Colin Watson <cjwatson@ubuntu.com>
6439
6440 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
6441 rather than `/ 2', as the latter requires -Wa,--divide which would
6442 require bumping our minimum binutils version.
6443
bddc3ef6
BC
64442010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
6445
6446 * util/grub-script-check.c (main): Print script line number on
6447 error.
6448
bf78d5b2
RM
64492010-12-01 Robert Millan <rmh@gnu.org>
6450
6451 * grub-core/fs/zfs/zfs.c: New file.
6452 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
6453 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
6454 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
6455 * grub-core/fs/zfs/zfsinfo.c: Likewise.
6456
6457 * include/grub/zfs/dmu.h: Likewise.
6458 * include/grub/zfs/dmu_objset.h: Likewise.
6459 * include/grub/zfs/dnode.h: Likewise.
6460 * include/grub/zfs/dsl_dataset.h: Likewise.
6461 * include/grub/zfs/dsl_dir.h: Likewise.
6462 * include/grub/zfs/sa_impl.h: Likewise.
6463 * include/grub/zfs/spa.h: Likewise.
6464 * include/grub/zfs/uberblock_impl.h: Likewise.
6465 * include/grub/zfs/vdev_impl.h: Likewise.
6466 * include/grub/zfs/zap_impl.h: Likewise.
6467 * include/grub/zfs/zap_leaf.h: Likewise.
6468 * include/grub/zfs/zfs.h: Likewise.
6469 * include/grub/zfs/zfs_acl.h: Likewise.
6470 * include/grub/zfs/zfs_znode.h: Likewise.
6471 * include/grub/zfs/zil.h: Likewise.
6472 * include/grub/zfs/zio.h: Likewise.
6473 * include/grub/zfs/zio_checksum.h: Likewise.
6474
6475 * Makefile.util.def: Build ZFS into libgrubmods.
6476 * grub-core/Makefile.core.def: Build zfs.mod.
6477
3f0f3831
SJ
64782010-11-30 Szymon Janc <szymon@janc.net.pl>
6479
6480 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
6481 variable.
6482 * grub-core/commands/wildcard.c (match_files): Likewise.
6483
3a4253b2
RM
64842010-11-30 Robert Millan <rmh@gnu.org>
6485
6486 * grub-core/loader/i386/bsd.c
6487 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
6488 whether kernel is loaded using grub_loader_is_loaded(), rather
6489 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
6490 certain error conditions.
6491
8c317b27
RM
64922010-11-30 Robert Millan <rmh@gnu.org>
6493
c5c9cd3e
RM
6494 * grub-core/commands/echo.c: Include `<grub/term.h>'.
6495 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 6496
49d3ab46
VS
64972010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
6498
6499 Avoid using tricks for initialising endian variables.
6500
6501 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
6502 Make const.
6503 (GRUB_MOD_INIT): Don't byte-swap.
6504 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
6505 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
6506 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
6507 (grub_swap_bytes32_compile_time): Likewise.
6508 (grub_cpu_to_le32_compile_time): Likewise.
6509 (grub_cpu_to_le16_compile_time): Likewise.
6510
f420a804
VS
65112010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
6512
6513 * util/grub-setup.c (setup): Stop recommending --force. People who
6514 understand the dangers of blocklists are able to find this option
6515 anyway and the ones who don't shouldn't use it anyway.
6516
4e7db17b
RM
65172010-11-26 Robert Millan <rmh@gnu.org>
6518
6519 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
6520 Update all users.
6521
9be57a0d
CW
65222010-11-26 Colin Watson <cjwatson@ubuntu.com>
6523
6524 Fix LVM-on-RAID probing.
6525
6526 * util/grub-probe.c (probe): Remember which disk was detected as
6527 RAID (perhaps an LVM physical volume). Use that disk's raidname
6528 rather than that of the top-level disk.
6529
2c7859b3 65302010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 6531
d7647bb6
BC
6532 Fix cmdline argument quotes for setparams command of menuentry
6533 definitions.
7e623b0d
BC
6534
6535 * grub-core/commands/menuentry.c (setparams_prefix): Use single
6536 quotes for arguments.
f866fe80 6537 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 6538 grub_strchrsub function instead.
f866fe80 6539
7955bea0 6540 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 6541
74f72a64
CW
65422010-11-24 Colin Watson <cjwatson@ubuntu.com>
6543
6544 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
6545 effort by skipping "." and ".." entries up-front.
6546 Suggested by: Michael Lazarev.
6547
5a407278
CW
65482010-11-24 Colin Watson <cjwatson@ubuntu.com>
6549
6550 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
6551 ldflags to ldadd, to fix link line ordering.
6552 (none_decompress): Likewise.
6553
3030d8ec
CW
65542010-11-24 Colin Watson <cjwatson@ubuntu.com>
6555
6556 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
6557 platforms.
6558 (grub-emu-lite): Remove kern/emu/cache.S.
6559
b7fbac12
CW
65602010-11-23 Colin Watson <cjwatson@ubuntu.com>
6561
6562 * util/deviceiter.c (compare_devices): If the by-id link for a
6563 device couldn't be resolved, fall back to sorting by the by-id link
6564 rather than segfaulting.
6565 Reported and tested by: Daniel Mierswa.
6566
5225f328
CW
65672010-11-23 Colin Watson <cjwatson@ubuntu.com>
6568
6569 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
6570 ldflags, to fix link line ordering.
6571
038b3ce8
CW
65722010-11-23 Colin Watson <cjwatson@ubuntu.com>
6573
6574 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
6575 linkers are picky about this.
6576
bf16e98e
CW
65772010-11-23 Colin Watson <cjwatson@ubuntu.com>
6578
6579 * grub-core/Makefile.am (command.lst): Adjust sed expression
6580 ordering so that extended and priority commands aren't treated as
6581 ordinary commands.
6582
7242bab6
CW
65832010-11-23 Colin Watson <cjwatson@ubuntu.com>
6584
6585 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
6586 Remove byte-swapping function calls, which are not valid in
6587 structure initialisers.
6588 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
6589 non-const.
6590 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
6591 grub_gpt_partition_type_bios_boot.
6592
14e8b279
CW
65932010-11-22 Colin Watson <cjwatson@ubuntu.com>
6594
6595 Fix test program build on GNU/kFreeBSD.
6596
6597 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
6598 $(LIBNVPAIR)' library dependencies.
6599
e6f63338 66002010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
6601
6602 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
6603
cf8ffc38
CW
66042010-11-22 Colin Watson <cjwatson@ubuntu.com>
6605
6606 * util/grub-install.in: Remove excessive quoting that broke
6607 installations to RAID devices.
6608
7f8b0fd7
VS
66092010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
6610
6611 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
6612 bootloader version instead of 0.
6613
dfd240b1
VS
66142010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
6615
6616 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
6617 warning.
6618
7b61e609
VS
66192010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
6620
6621 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
6622 retrieve the metadat sector if size isn't known.
6623 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6624
9dfe92d0
RM
66252010-11-18 Robert Millan <rmh@gnu.org>
6626
6627 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
6628 with grub_memcmp().
6629
41cc919e
VS
66302010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
6631
6632 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
6633 arrow.
6634 Reported by: Jordan Uggla.
6635
1afcc914
VS
66362010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6637
6638 Make better UTF compliant.
6639
6640 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
6641 sequences as incorrect.
6642 (grub_is_valid_utf8): Likewise.
6643 (grub_utf8_to_ucs4): Likewise.
6644 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
6645 (grub_ucs4_to_utf8_alloc): Likewise.
6646 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
6647
f1808884
VS
66482010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6649
6650 Make legacy_source behave like source.
6651
6652 * grub-core/commands/legacycfg.c (legacy_file): Don't call
6653 grub_show_menu.
6654 (grub_cmd_legacy_source): Call grub_show_menu if needed.
6655
24ec575b
CW
66562010-11-16 Colin Watson <cjwatson@debian.org>
6657
6658 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
6659 (-Wunused implies -Wunused-parameter, but not vice versa).
6660
72b7c7aa
CW
66612010-11-16 Colin Watson <cjwatson@ubuntu.com>
6662
6663 * configure.ac: Make error messages less confusing by testing for
6664 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
6665 accepted, but produces a diagnostic if something else is wrong).
6666
e98937aa
VS
66672010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
6668
6669 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
6670 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
6671 (now unused).
6672 (grub_keyboard_controller_init)
6673 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
6674 read the initial state since controller isn't inited yet.
6675
f6bbabc3
VS
66762010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
6677
6678 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
6679 allocate_regbeg may need to create new chunk header.
6680
22e7dbb2
VS
66812010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6682
6683 Fix quoting in legacy parser.
6684
6685 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
6686 single quotes.
6687 (grub_legacy_parse): Likewise.
6688 Reported by: Jordan Uggla.
6689 Tested by: Jordan Uggla.
6690
03f80960
VS
66912010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6692
6693 Don't add -lgcc on i386 and x86_64.
6694
6695 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
6696 * conf/Makefile.common (LDADD_KERNEL): Likewise.
6697 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
6698
779dc15b
VS
66992010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6700
6701 * configure.ac: Add -Wno-trampolines when supported.
6702
d20a3b37
MV
67032010-11-14 Modestas Vainius <modax@debian.org>
6704
6705 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
6706 fakeraid.
6707
e5360933
GC
67082010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
6709
6710 Add generic logical block size support for UDF.
6711
6712 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
6713 (GRUB_UDF_BLKSZ): Removed.
6714 (struct grub_udf_data): New field "lbshift" to hold the logical block
6715 size of the file system in log2 format. All users updated.
6716 (sblocklist): Change type to unsigned.
6717 (grub_udf_mount): Change type of "sblklist" to unsigned.
6718 Move AVDP search before VRS recognition, because the latter requires
6719 knowledge of the logical block size, which is detected during the
6720 former.
6721 Detect and validate logical block size during AVDP search, adding
6722 support for block sizes 512, 1024 and 4096.
6723 Make VRS recognition independent of block size.
6724
cb0229c5
GC
67252010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
6726
6727 Properly handle deleted files on UDF.
6728
6729 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
6730 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
6731 set.
6732
406858a8
GC
67332010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
6734
6735 Support reading files larger than 2 GiB.
6736
6737 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
6738 "offset" to grub_off_t.
6739 (grub_udf_read_file): Likewise for parameter "pos".
6740
130da6a7
VS
67412010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6742
6743 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
6744 unavailable.
6745 (Simple configuration): Refer to Changes from GRUB Legacy about
6746 save_env availability.
6747
65e93f6b
VS
67482010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6749
6750 * util/grub-install.in: Ignore empty partition table detection
6751 instead of trying to include part_ module.
6752
1fd08bf1
VS
67532010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6754
6755 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
6756 LVM on RAID support.
6757
de1a024f
VS
67582010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6759
6760 Properly define WORDS_BIGENDIAN in wrapped environments.
6761
6762 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
6763 definition.
6764 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
6765
6766 Reported by: Manoel Rebelo Abranches.
6767 Tested by: Manoel Rebelo Abranches.
6768
bc5dd0b9
VS
67692010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6770
6771 * util/grub-mkconfig.in: Fix quoting.
6772
58c184be
VS
67732010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6774
6775 Support big ext2 files.
6776
6777 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
6778 (grub_ext2_read_block): Support triple indirect blocks.
6779 (grub_ext2_read_file): Use 64-bit types and read size_high.
6780 (grub_ext2_open): Read size_high.
6781 Reported by: Ximin Luo.
6782 Tested by: Manoel Rebelo Abranches.
6783
5f0c02b3
VS
67842010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6785
6786 * util/grub-install.in: Handle filenames containing spaces.
6787 Reported by: Jordan Uggla.
6788 Tested by: Jordan Uggla.
6789
4417aae6
VS
67902010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6791
6792 * util/grub-mkconfig.in (grub_script_check): New variable.
6793 Use grub_script_check instead of grub-script-check.
6794 Reported by: Barry Jackson.
6795
7625a68e
VS
67962010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6797
6798 * docs/grub.texi (menu): Correct the order.
6799 Reported by: D. Hugh Redelmeier.
6800
10001ac5
VS
68012010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6802
6803 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
6804 jump.
6805
9c4cf53b
MRA
68062010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
6807
10001ac5
VS
6808 * include/grub/elfload.h (grub_elf32_size): New parameter.
6809 All users updated.
9c4cf53b
MRA
6810 Return maximum segments alignment.
6811 (grub_elf64_size): Likewise.
6812 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
6813 Return maximum segments alignment.
6814 (grub_elf64_size): Likewise.
6815 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
6816 (grub_linux_claimmap_iterate): New function. Uses the
6817 "available" property in the "memory" node for memory allocation
6818 for kernel in the PowerPC loader.
9c4cf53b
MRA
6819 (grub_linux_load32): Correctly find linux entry point offset.
6820 (grub_linux_load64): Likewise.
6821
d2bf06bf
RM
68222010-11-07 Robert Millan <rmh@gnu.org>
6823
6824 On mips-yeeloong, build with -march=loongson2f when this flag is
6825 available (GCC >= 4.4).
6826 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
6827 `-march=mips3'.
6828 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
6829 or otherwise add -march=mips3.
6830
898c99a2
BC
68312010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
6832
87220a68
BC
6833 Suppress shell expansion on echo '*' and echo "*" like cases.
6834 Reported by: Jordan Uggla.
898c99a2
BC
6835
6836 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
6837 string arguments before shell expansion.
6838 * tests/grub_cmd_echo.in: New testcases.
6839
4f9b406a
RM
68402010-11-07 Robert Millan <rmh@gnu.org>
6841
6842 * conf/mips-qemu-mips.rmk: Remove stale file from previous
6843 transition.
6844
80c6d25e
VS
68452010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
6846
6847 * grub-core/kern/emu/hostdisk.c
6848 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
6849
4a1a0153
VS
68502010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6851
6852 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
6853 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
6854 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
6855
34706ddc
VS
68562010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6857
6858 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
6859
6972dea9
VS
68602010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6861
6862 * util/grub-install.in: Replace useless recomendation to pass
6863 --modules with a recomendation to report a bug.
6864
9c693bd6
VS
68652010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6866
6867 Properly register serial terminfo.
6868 Reported by: Jordan Uggla
6869
6870 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
6871 const.
6872 (grub_serial_terminfo_output_template): Likewise.
6873 (grub_cmd_serial): Register "serial" with terminfo.
6874 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
6875 grub_serial_terminfo_output.
6876
6c9e4c0c
RM
68772010-11-05 Robert Millan <rmh@gnu.org>
6878
6879 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
6880 needed).
6881
b9b3839f
RM
68822010-11-05 Robert Millan <rmh@gnu.org>
6883
6884 On Yeeloong, pass machine type information to Linux.
6885
6886 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
6887 (LOONGSON_MACHTYPE): New macro, set to
6888 "machtype=lemote-yeeloong-2f-8.9inches".
6889 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
6890 additional argument to Linux.
6891
1a3aaff4
RM
68922010-11-04 Robert Millan <rmh@gnu.org>
6893
6894 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
6895 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
6896 (its SATA disks are detected as slaveless IDE master drives on
6897 kFreeBSD).
6898 Reported by Carsten Aulbert.
6899
a75f4f62
CW
69002010-11-02 Colin Watson <cjwatson@ubuntu.com>
6901
6902 * util/bin2h.c (main): Fix spelling error in generated output.
6903
33b4b0c6
GS
69042010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
6905
6906 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
6907
2b36fbf4
VS
69082010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6909
6910 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
6911 vga= option is supplied.
6912
74aaf558
VS
69132010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6914
6915 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
6916 * util/grub.d/10_kfreebsd.in: Likewise.
6917 * util/grub.d/10_linux.in: Likewise.
6918 * util/grub.d/20_linux_xen.in: Likewise.
6919
6428dec3
VS
69202010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6921
6922 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
6923 argument as an argument to no-argument option.
6924
f8729d98
VS
69252010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6926
6927 * util/grub.d/10_linux.in: Add missing load_video with explicit
6928 GRUB_GFXPAYLOAD_LINUX.
6929
89d68fa6
VS
69302010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6931
6932 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
6933
3a1197cd
VS
69342010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6935
6936 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
6937 elements with invlid index.
6938 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6939 * grub-core/disk/raid.c (insert_array): Automatically reallocate
6940 members.
6941 * include/grub/raid.h (grub_raid_member): New struct.
6942 (grub_raid_array): Transform devices and start_sector into usage of
6943 grub_raid_member. All users updated
6944 (allocated_devs): New member.
6945
71574288
VS
69462010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6947
6948 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
6949 is modified
6950
8d40ec65
BC
69512010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
6952
6953 NetBSD build fix for getline function conflict from gnulib.
6954
6955 * Makefile.util.def (libgrubkern.a): New library for grub kernel
6956 components that depend on gnulib headers.
6957 (libgrubmods.a): Renamed from earlier libgrub.a.
6958 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
6959
95b9257e
VS
69602010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6961
6962 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
6963 install rather than creating a broken install.
6964
26c53dc6
VS
69652010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6966
6967 * util/grub-setup.c (argp): Remove misleading example of installing to
6968 a partition.
6969
4171b3c5
VS
69702010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6971
6972 * util/grub-setup.c (setup): Clarify the error message.
6973
18568d18
VS
69742010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6975
6976 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
6977
4f6a2e21
VS
69782010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6979
6980 * grub-core/kern/emu/misc.c
6981 (grub_make_system_path_relative_to_its_root)
6982 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
6983
69842010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
6985
6986 * grub-core/kern/emu/misc.c
6987 (grub_make_system_path_relative_to_its_root): Revert r2882.
6988
e138c458
VS
69892010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
6990
6991 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
6992 useless field head. All users updated.
6993 (free_subchunk): Correct handling of IN_REGION subchunk.
6994
0cbcdf0e
CW
69952010-10-22 Colin Watson <cjwatson@ubuntu.com>
6996
6997 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
6998 (Supported kernels): Likewise.
6999
b65ea155
GS
70002010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
7001
7002 Make mktemp invocations portable.
7003
7004 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
7005 exit if mktemp fails.
7006 * tests/grub_script_blockarg.in: Likewise.
7007 * tests/partmap_test.in: Likewise.
7008 * tests/util/grub-shell-tester.in: Likewise.
7009 * tests/util/grub-shell.in: Likewise.
7010 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7011 * Makefile.am: Likewise, and chain shell commands with `&&'
7012 instead of ';'.
7013 * util/grub-mkrescue.in: Use the same explicit template as above, and
7014 exit if mktemp fails.
7015
05f43cdd
BC
70162010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
7017
7018 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
7019 Linux kernel, reported by Dennis Schridde.
7020
800e6a9b
SJ
70212010-10-17 Szymon Janc <szymon@janc.net.pl>
7022
7023 * grub-core/normal/auth.c (grub_auth_check_authentication):
7024 Set-but-not-used variable removed.
7025
d82df574
VS
70262010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7027
7028 * docs/grub.texi (GNU/Linux): Document APM unavailability with
7029 32-bit linux protocol.
7030
7bced458
VS
70312010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7032
7033 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
7034 cursor shape for sanity.
7035
5b027690
VS
70362010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7037
7038 * docs/grub.texi (Installation): Document buggy BIOS install.
7039
ba5f65cf
VS
70402010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7041
7042 * docs/grub.texi (Installation): Indent.
7043
fdf2ec9c
VS
70442010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7045
7046 * util/grub-setup.c (setup): New parameter allow_floppy.
7047 (arguments): New member allow_floppy.
7048 (argp_parser): Handle --allow-floppy.
7049 (main): Pass allow_floppy.
7050 * util/grub-install.in: New option --allow-floppy passed though to
7051 grub-setup.
7052
861dfd4c
VS
70532010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7054
7055 * util/grub-install.in: Handle partitionless disks.
7056
f77a8c24
VS
70572010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7058
7059 * util/grub-setup.c (setup): Don't clean blocklists before readability
7060 verfification.
7061
27d9ee32
VS
70622010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7063
7064 * docs/grub.texi (Installation): Document embedding zone. Remove
7065 obsolete grub-install example.
7066
6bdda8f8
SJ
70672010-10-16 Szymon Janc <szymon@janc.net.pl>
7068
7069 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
7070 Set-but-not-used variable ifdef'ed.
7071 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
7072 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
7073 variable removed.
7074 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
7075 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
7076 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
7077 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
7078 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
7079 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
7080 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
7081 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
7082 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
7083 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
7084 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
7085 Likewise.
7086
e19b016b
VS
70872010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7088
7089 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
7090 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
7091 enum value.
7092
6c8d3002
VS
70932010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7094
7095 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
7096 synonym to _S5_. Needed for some DSDTs.
7097
c32b51c9
VS
70982010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7099
7100 Userspace ACPI parser debugging.
7101
7102 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
7103 headers and add relevant defines. Don't include standard headers.
7104 (main) [GRUB_DSDT_TEST]: New function.
7105 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
7106 Don't declare functions.
7107
fbfbeb39
VS
71082010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7109
7110 Remove dead grub_efi_mm_fini.
7111
7112 * grub-core/kern/efi/mm.c (allocated_page): Removed.
7113 (ALLOCATED_PAGES_SIZE): Likewise.
7114 (MAX_ALLOCATED_PAGES): Likewise.
7115 (allocated_pages): Likewise.
7116 (grub_efi_allocate_pages): Don't record allocated pages.
7117 (grub_efi_free_pages): Likewise.
7118 (grub_efi_mm_init): Likewise.
7119 (grub_efi_mm_fini): Removed.
7120
65f7ed7c
VS
71212010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7122
7123 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
7124 (grub_efi_mm_init): Take into account the memory map size increase.
7125
24977b44
VS
71262010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7127
7128 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
7129 (serial_hw_put): Wait based on real time rather than port reads. Don't
7130 roken ports.
7131 * include/grub/serial.h (grub_serial_port): New field broken.
7132
1eb01cd2
RM
71332010-10-16 Robert Millan <rmh@gnu.org>
7134
7135 * grub-core/kern/emu/misc.c
7136 (grub_make_system_path_relative_to_its_root): Fix premature return
7137 when processing non-root ZFS filesystems.
5f8b440b 7138 Reported by Sergio Talens-Oliag.
1eb01cd2 7139
2d5fed60
RM
71402010-10-15 Robert Millan <rmh@gnu.org>
7141
7142 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
7143 guarantee compressed ones are processed first.
7144
d0f4c1ea
VS
71452010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7146
7147 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
7148 grub_efiemu_autocore.
7149
d87c681f
VS
71502010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7151
7152 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
7153 rather than 0x1b.
7154 (grub_console_getkey): Use correct jae opcode rather than ja.
7155
219b3564
RM
71562010-10-12 Robert Millan <rmh@gnu.org>
7157
7158 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
7159 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
7160 variable. All references updated.
7161
7162 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
7163
20c6bb7e
VS
71642010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
7165
7166 Correctly distinguish mdraid flavours.
7167
7168 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
7169 (insert_array): New argument raid.
7170 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
7171 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
7172 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
7173
74baff84
VS
71742010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
7175
7176 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
7177 handling of special keys.
7178
3ef068df 71792010-10-02 Aleš Nesrsta <starous@volny.cz>
7180
c7980ad9
VS
7181 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
7182 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 7183
a9455194 71842010-10-02 Aleš Nesrsta <starous@volny.cz>
7185
c7980ad9
VS
7186 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
7187 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
7188 users updated.
a9455194 7189 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 7190 Use right endpoint when querying descriptor.
a9455194 7191
441cfe65
VS
71922010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
7193
7194 Clear out 0x80 color bit on EFI.
7195 Tested by: decoder
7196 Reported by: decoder and meta tech.
7197
7198 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
7199 (grub_console_setcolorstate): Clear out 0x80 bit.
7200 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
7201 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
7202 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
7203
bf26bcc4
VS
72042010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
7205
7206 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
7207 Set to "auto".
7208
6e3c515d
VS
72092010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7210
7211 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
7212 mo_file after freeing.
7213
e6d983ba
VS
72142010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7215
7216 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
7217
74ccb5b5
VS
72182010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7219
7220 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
7221 flags.
7222
17821956
VS
72232010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7224
7225 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
7226 usage.
7227
ee74fa48
VS
72282010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7229
7230 Put terminfo into core on ieee1275 and yeeloong (needed for console).
7231
7232 * gentpl.py: New groups terminfoinkernel and terminfomodule.
7233 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
7234 and terminfo.h when needed.
7235 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
7236 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
7237 (terminfo): Enable only on terminfokernel.
7238 (extcmd): Likewise.
7239 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
7240 * include/grub/lib/arg.h: Likewise.
7241 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
7242 incorrect usage of ->.
7243
aa438e68
VS
72442010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7245
7246 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
7247 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
7248
57994012
VS
72492010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7250
7251 Fix coreboot compilation.
7252
7253 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
7254 Take VBE info into account even if only text is supported.
7255 (fill_vbe_info): Take into account the case when only VGA text
7256 is supported.
7257 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
7258 on coreboot, multiboot and qemu.
7259
2a406611
VS
72602010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7261
7262 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
7263 debug messages.
7264 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
7265
d33613fc
VS
72662010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7267
7268 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
7269 parameters.
7270
44a1b432
VS
72712010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7272
7273 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
7274 if they were BSD-style.
7275
edde54e6
VS
72762010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7277
7278 * grub-core/boot/i386/pc/lnxboot.S: Replace
7279 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
7280 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
7281
b65830fa
VS
72822010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7283
7284 Write embedding zone using Reed-Solomon.
7285
7286 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
7287 * grub-core/Makefile.am (rs_decoder.S): New target.
7288 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
7289 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
7290 (multiboot): Move to RS part.
7291 (post_reed_solomon): New label.
7292 (grub_boot_drive): Move to non-RS part since it's modified in memory
7293 on boot.
7294 Include rs_decoder.S.
7295 * grub-core/lib/reed_solomon.c: New file.
7296 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
7297 New definition.
7298 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
7299 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
7300 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
7301 * include/grub/partition.h (grub_partition_map): Change prototype of
7302 embed to allow returning additional sectors.
7303 * include/grub/reed_solomon.h: New file.
7304 * util/grub-setup.c (setup): Handle Reed-Solomon.
7305
0b4b227f
CW
73062010-09-28 Colin Watson <cjwatson@ubuntu.com>
7307
7308 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
7309 i386 and x86-64 definedness tests.
7310
f772623b
YB
73112010-09-27 Yves Blusseau <blusseau@zetam.org>
7312
7313 Fix generation of kernel_syms.lst
7314
7315 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
7316 ASM_PREFIX
7317
8e57a6ca
RM
73182010-09-26 Robert Millan <rmh@gnu.org>
7319
7320 Support degraded ZFS arrays in "grub-probe -t device" resolution.
7321
7322 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
7323 the pool is an array of devices, iterate through it and return the
7324 first device that passes a stat() test (instead of blindly returning
7325 the first one).
7326
f9130836
RM
73272010-09-26 Robert Millan <rmh@gnu.org>
7328
7329 Build fixes for GNU/kFreeBSD.
7330
7331 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
7332 to programs that require ZFS conversion.
7333 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
7334 kernels that don't have FLOPPY_MAJOR.
7335
96510faf
BC
73362010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
7337
7338 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
7339
449333eb
BC
73402010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
7341
7342 Fix grub-emu build.
7343
7344 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
7345 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
7346 mdraid09 and mdraid1x.
7347
e1fd1939
CW
73482010-09-24 Colin Watson <cjwatson@ubuntu.com>
7349
7350 Re-enable grub-extras.
7351
7352 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
7353 avoid confusing Automake. Run autogen only twice, once for the top
7354 level and once for grub-core. Add Makefile.util.def and
7355 Makefile.core.def from extra modules to the appropriate autogen
7356 invocations. If Makefile.common exists in an extra module, include
7357 it in both Makefile.util.am and grub-core/Makefile.core.am;
7358 similarly, include any Makefile.util.common file in Makefile.util.am
7359 and any Makefile.core.common file in grub-core/Makefile.core.am.
7360 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
7361 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
7362 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
7363 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
7364
7365 * gentpl.py (gvar_add): Turn GVARS into a set.
7366 (global_variable_initializers): Sort global variables on output.
7367 (vars_init): New function.
7368 (first_time): Likewise.
7369 (library): Ensure that non-global variable initialisations are
7370 emitted before the first time we emit code for a library block.
7371 Append to variables rather than setting them. Only emit
7372 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
7373 each conditional path.
7374 (program): installdir() emits an Autogen macro, so must be passed to
7375 var_add rather than gvar_add.
7376 (data): Likewise.
7377 (script): Likewise.
7378 (rules): New function, centralising handling for different target
7379 types. Set up Guile association lists for first_time and vars_init,
7380 and send most output to a diversion so that variable initialisations
7381 can be emitted first.
7382 (module_rules): Use new rules function.
7383 (kernel_rules): Likewise.
7384 (image_rules): Likewise.
7385 (library_rules): Likewise.
7386 (program_rules): Likewise.
7387 (script_rules): Likewise.
7388 (data_rules): Likewise.
7389
7390 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
7391
7392 * .bzrignore: Add contrib and grub-core/contrib. Remove
7393 grub-core/Makefile.gcry.am.
7394
1d12cf29
YB
73952010-09-24 Yves Blusseau <blusseau@zetam.org>
7396
7397 * grub-core/lib/LzFind.c: Add missing include.
7398 * grub-core/lib/LzmaEnc.c: Likewise.
7399 * grub-core/script/lexer.c: Likewise.
7400 * grub-core/script/yylex.l: Likewise.
7401 * util/grub-macho2img.c: Likewise.
7402 * util/grub-menulst2cfg.c: Likewise.
7403 * util/grub-mklayout.c: Likewise.
7404 * util/grub-mkpasswd-pbkdf2.c
7405 * util/grub-mkrelpath.c: Likewise.
7406 * util/resolve.c: Likewise.
7407
dd363028
BC
74082010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
7409
7410 * Makefile.util.def (example_unit_test): Add
7411 grub-core/gnulib/libgnu.a.
7412
f5a109e2
GS
74132010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
7414
7415 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
7416
6d0fa83c
VS
74172010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
7418
7419 Support xz compression on yeeloong.
7420
7421 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
7422 * configure.ac: Check for LZMA.
7423 * grub-core/Makefile.core.def (xz_decompress): New target.
7424 (none_decompress): Likewise.
7425 * grub-core/boot/decompressor/minilib.c: New file.
7426 * grub-core/boot/decompressor/none.c: Likewise.
7427 * grub-core/boot/decompressor/xz.c: Likewise.
7428 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
7429 * grub-core/kern/mips/cache_flush.S: Likewise.
7430 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
7431 * grub-core/kern/mips/startup.S: Move first stage to ...
7432 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
7433 nomacro.
7434 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
7435 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
7436 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
7437 Allocate statically.
7438 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
7439 Allocate statically or use scratch. Don't check CRC32.
7440 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
7441 Allocate statically. Don't check CRC32.
7442 * include/grub/decompressor.h: New file.
7443 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
7444 Removed.
7445 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
7446 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
7447 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
7448 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
7449 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
7450 * util/grub-mkimage.c (grub_compression_t): New type.
7451 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
7452 (image_target_desc): New field default_compression.
7453 (image_targets): Adjust yeeloong targets.
7454 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
7455 (compress_kernel): New parameter comp.
7456 (generate_image): Likewise. Handle new compression case.
7457 (options): New option --compression
7458 (help): Likewise.
7459 (main): Handle new option.
7460
1b655af6
GS
74612010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
7462
7463 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
7464
8f03f0b5
CW
74652010-09-22 Colin Watson <cjwatson@ubuntu.com>
7466
7467 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
7468 typo in __i386__ conditional.
7469
7835dfd3
VS
74702010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
7471
7472 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
7473 include.
7474
e255597e
VS
74752010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
7476
6d0fa83c 7477 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
7478
7479 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
7480 new tags as supported.
7481 (acpiv2_size): New function.
7482 (grub_multiboot_get_mbi_size): Take new tags into account.
7483 (grub_multiboot_make_mbi): Add new tags.
7484 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 7485
6cc14051 74862010-09-21 Aleš Nesrsta <starous@volny.cz>
7487
7488 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
7489 Added missing configuration of USB device.
7490
df7769d8
CW
74912010-09-21 Colin Watson <cjwatson@ubuntu.com>
7492
7493 * grub-core/normal/menu_entry.c (run): Make sure we always return
7494 a value.
7495
b031012d
CW
74962010-09-21 Colin Watson <cjwatson@ubuntu.com>
7497
7498 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
7499 NumberOfPages is UINT64 according to the UEFI specification, not
7500 UINTN. Fix printf format.
7501
174de8f3
CW
75022010-09-21 Colin Watson <cjwatson@ubuntu.com>
7503
7504 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
7505 `err' to grub_usb_err_t.
7506 Reported and tested by: KESHAV P.R.
7507
d7dbe923
CW
75082010-09-21 Colin Watson <cjwatson@ubuntu.com>
7509
7510 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
7511 tpart non-const, so that we can assign to it. (Since this is a
7512 typedef, the constness refers to the pointer rather than what it
7513 points to.)
7514
8d5e2af3
CW
75152010-09-21 Colin Watson <cjwatson@ubuntu.com>
7516
7517 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
7518 $(top_srcdir)/grub-core/gnulib as well as
7519 $(top_builddir)/grub-core/gnulib.
7520 Reported by: KESHAV P.R.
7521
5c527783
CW
75222010-09-21 Colin Watson <cjwatson@ubuntu.com>
7523
7524 * util/grub-install.in: Fix the bootloader ID option to be
7525 consistently --bootloader-id, not --bootloader_id.
7526 Reported by: KESHAV P.R.
7527
d309a16e
CW
75282010-09-21 Colin Watson <cjwatson@ubuntu.com>
7529
7530 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
7531 check hash checksum." consistently translatable.
7532
b830cd16
YB
75332010-09-21 Yves Blusseau <blusseau@zetam.org>
7534
7535 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
7536 $(top_builddir).
7537
c4fe27a8
CW
75382010-09-21 Colin Watson <cjwatson@ubuntu.com>
7539
7540 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
7541 (GRUB_MOD_INIT): Register sha1sum command.
7542 (GRUB_MOD_FINI): Unregister sha1sum command.
7543
a4c1d277
YB
75442010-09-21 Yves Blusseau <blusseau@zetam.org>
7545
7546 Keep boot and grub directory names in sync with utils scripts
7547
7548 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
7549 * config.h.in: Add previous macros.
7550 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
7551 * util/grub-install.in: Use $bootdir and $grubdir variables.
7552
4eff79d2
CW
75532010-09-21 Colin Watson <cjwatson@ubuntu.com>
7554
7555 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
7556 convert partition names to disk names if the new `convert' parameter
7557 is set.
7558 (grub_util_biosdisk_get_grub_dev): If opening the disk device
7559 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
7560 disk in its own right. This can happen with Xen disk images.
7561
934d7e44
YB
75622010-09-21 Yves Blusseau <blusseau@zetam.org>
7563
7564 * util/grub-editenv.c: Update strings to avoid warnings when generating
7565 grub.pot file.
7566 * util/grub-setup.c: Likewise.
934d7e44 7567
df3367cc
VS
75682010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
7569
7570 * configure.ac: Change version to 1.99~beta0.
7571
77a94e98
VS
75722010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
7573
7574 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
7575 Add BADRAM.
7576 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
7577 Likewise.
7578 * include/multiboot.h: Resynced with specification.
7579 * include/multiboot2.h: Likewise.
7580
269004c1
CW
75812010-09-21 Colin Watson <cjwatson@ubuntu.com>
7582
7583 Fix po directory handling.
7584
7585 * configure.ac: Create po/Makefile.in rather than po/Makefile.
7586 * grub-core/gnulib/Makefile.am: Import gettext module.
7587 * m4/gnulib-cache.m4: Likewise.
7588 * m4/gnulib-comp.m4: Likewise.
7589 * m4/gettext.m4: New file, from gnulib.
7590 * m4/glibc2.m4: Likewise.
7591 * m4/iconv.m4: Likewise.
7592 * m4/intdiv0.m4: Likewise.
7593 * m4/intl.m4: Likewise.
7594 * m4/intldir.m4: Likewise.
7595 * m4/intlmacosx.m4: Likewise.
7596 * m4/intmax.m4: Likewise.
7597 * m4/inttypes-pri.m4: Likewise.
7598 * m4/lcmessage.m4: Likewise.
7599 * m4/lib-ld.m4: Likewise.
7600 * m4/lib-link.m4: Likewise.
7601 * m4/lib-prefix.m4: Likewise.
7602 * m4/lock.m4: Likewise.
7603 * m4/nls.m4: Likewise.
7604 * m4/po.m4: Likewise.
7605 * m4/printf-posix.m4: Likewise.
7606 * m4/progtest.m4: Likewise.
7607 * m4/threadlib.m4: Likewise.
7608 * m4/uintmax_t.m4: Likewise.
7609 * m4/visibility.m4: Likewise.
7610 * po/Makefile.am: Remove.
7611 * po/Makefile.in.in: New file, from gettext.
7612 ($(DOMAIN).pot-update): Support POTFILES-shell.
7613 * po/Makevars: New file.
7614 * po/POTFILES-shell: Rename to ...
7615 * po/POTFILES-shell.in: ... this. Update.
7616 * po/POTFILES: Rename to ...
7617 * po/POTFILES.in: ... this. Update.
7618 * po/Rules-quot: New file, from gettext.
7619 * po/boldquot.sed: Likewise.
7620 * po/en@boldquot.header: Likewise.
7621 * po/en@quot.header: Likewise.
7622 * po/insert-header.sin: Likewise.
7623 * po/quot.sed: Likewise.
7624 * po/remove-potcdate.sin: Likewise.
7625
3e0fa5d0
VS
76262010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7627
7628 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
7629
ade9bd66
VS
76302010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7631
7632 * util/grub.d/20_linux_xen.in: Use submenus.
7633
fc55cc4c
VS
76342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7635
7636 Support submenus.
7637
7638 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
7639 parameter submenu. All users updated.
7640 * grub-core/normal/main.c (free_menu): Rename to ...
7641 (grub_normal_free_menu): ... this. Made global.
7642 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
7643 if requested.
7644 * grub-core/normal/menu_entry.c (screen): New field submenu.
7645 (make_screen): Set submenu.
7646 (run): Open new context if requested.
7647 * include/grub/menu.h (grub_menu_entry): New field submenu.
7648 * include/grub/normal.h (grub_normal_free_menu): New proto.
7649
600cedf7
VS
76502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7651
7652 Menu entries extractor.
7653
7654 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
7655 variants.
7656 (GRUB_MOD_INIT): Register new variants.
7657 (GRUB_MOD_FINI): Unregister new variants.
7658 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
7659 into grub_cmd_legacy_source.
7660 (grub_cmd_legacy_source): Implement extractor variants.
7661 (GRUB_MOD_INIT): Register new variants.
7662 (GRUB_MOD_FINI): Unregister new variants.
7663 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
7664 as an extractor.
7665 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
7666 search as an extractor.
7667 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
7668 test as an extractor.
7669 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
7670 as an extractor.
7671 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
7672 (grub_env_new_context): New function.
7673 (grub_env_context_open): Likewise.
7674 (grub_env_extractor_open): Likewise.
7675 (grub_env_extractor_close): Likewise.
7676 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
7677 grub_extractor_level.
7678 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
7679 * include/grub/env.h (grub_env_extractor_open): New proto.
7680 (grub_env_extractor_close): Likewise.
7681 * include/grub/normal.h (grub_extractor_level): New external variable.
7682
7bda3a87
VS
76832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7684
7685 Make cutmem accept a region specification.
7686 Suggested by: Samuel Thibault
7687
7688 * grub-core/mmap/mmap.c (parsemem): New function.
7689 (grub_cmd_cutmem): Handle new arguments.
7690
2ea57f88
VS
76912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7692
7693 New command cutmem.
7694
7695 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
7696 (GRUB_MOD_INIT): Register new command.
7697 (GRUB_MOD_FINI): Unregister new command.
7698
74342e31
VS
76992010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7700
7701 Support some annoying BSD and Minix subpartitions.
7702
7703 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
7704 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
7705 Properly handle concatenation.
7706 * grub-core/kern/device.c (grub_device_iterate): Likewise.
7707 * grub-core/normal/completion.c (iterate_partition): Likewise.
7708 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
7709 contain partition. All users updated.
7710 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
7711 struct.
7712 (grub_openbsdlabel_partition_map): Likewise.
7713 (bsdlabel_partition_map_iterate): Rename to ..
7714 (iterate_real): ... this. New arguments sector, freebsd and pmap.
7715 (bsdlabel_partition_map_iterate): New function.
7716 (netopenbsdlabel_partition_map_iterate): Likewise.
7717 (netbsdlabel_partition_map_iterate): Likewise.
7718 (openbsdlabel_partition_map_iterate): Likewise.
7719 (GRUB_MOD_INIT): Register new partmaps.
7720 (GRUB_MOD_FINI): Unregister new partmaps.
7721 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
7722 (grub_partition_msdos_iterate): ... this. All users updated.
7723 Don't support embedding other than in a minix partition.
7724 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
7725 proto.
7726 * include/grub/partition.h (grub_partition): New field msdostype.
7727 * util/grub-install.in: Handle openbsd and netbsd types being in
7728 part_bsd module.
7729
1e8d555b
VS
77302010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7731
7732 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
7733
7734 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
7735 * grub-core/Makefile.core.def (mdraid): Renamed to ...
7736 (mdraid09): ... this.
7737 (mdraid1x): New module.
7738 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
7739 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
7740
899d8af4
VS
77412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7742
7743 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
7744 vsprintf.
7745
40901acd
CW
77462010-09-20 Colin Watson <cjwatson@ubuntu.com>
7747
7748 * grub-core/commands/efi/lsefimmap.c: Correct header.
7749 * NEWS: Update.
7750
dfe3b247
CW
77512010-09-20 Colin Watson <cjwatson@ubuntu.com>
7752
7753 * util/grub-editenv.c (argp_parser): Don't pass translated strings
7754 as printf format strings; the translations might contain '%' which
7755 could cause a crash.
7756 (main): Likewise.
7757 * util/grub-fstest.c (argp_parser): Likewise.
7758 * util/grub-setup.c (argp_parser): Likewise.
7759 (main): Likewise.
7760
3286a4b4
VS
77612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7762
7763 Use argp in grub-fstest.
7764
7765 * util/grub-fstest.c: Don't include getopt.h.
7766 Include argp.h.
7767 (root): New variable.
7768 (args_count): Likewise.
7769 (nparm): Likewise.
7770 (num_disks): Likewise.
7771 (images): Likewise.
7772 (cmd): Likewise.
7773 (debug_str): Likewise.
7774 (args): Likewise.
7775 (options): Transformed to argp.
7776 (usage): Removed.
7777 (main): Split argument parsing into ...
7778 (argp_parser): ... this. Changed to argp format.
7779 (argp): New variable.
7780 (main): Use argp_parse.
7781
3dccbe4b
TG
77822010-09-20 Tristan Gingold <gingold@free.fr>
77832010-09-20 Robert Millan <rmh.grub@aybabtu.com>
77842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7785
7786 * grub-core/commands/efi/lsefimmap.c: New file.
7787 * grub-core/Makefile.core.def (lsefimmap): New module.
7788 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
7789
38c259a7
VS
77902010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7791
7792 Pause the execution (10s max) if any errors are displayed so the user
7793 has a chance to see them.
7794
7795 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
7796 (grub_print_error): Increment grub_err_printed_errors.
7797 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
7798 execution if any errors were displayed.
7799 (show_menu): Remove old code for pause.
7800 * grub-core/normal/menu_entry.c (run): Likewise.
7801 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
7802 users updated.
7803 (grub_normal_get_char_counter): Likewise.
7804 * include/grub/err.h (grub_err_printed_errors): New external variable.
7805 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
7806
f218b09c
VS
78072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7808
7809 Support multiboot VBE info.
7810
7811 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
7812 Take VBE info into account.
7813 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
7814 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
7815 Call fill_vbe_info when appropriate.
7816 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
7817 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
7818 as supported.
7819 (grub_multiboot_get_mbi_size): Take new tags into account.
7820 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
7821 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
7822 Call fill_vbe_tag when appropriate.
7823 (grub_multiboot_make_mbi): Properly align tags.
7824 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
7825 function.
7826 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
7827 proto.
7828 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
7829
a9cc5438
VS
78302010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7831
7832 Suport manual terminal geometry specification.
7833
7834 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
7835 Save state in grub_ofconsole_terminfo_output.
7836 (grub_ofconsole_term): Use grub_terminfo_getwh.
7837 (grub_ofconsole_getwh): Removed.
7838 * grub-core/term/serial.c (grub_serial_getwh): Removed.
7839 (grub_serial_term): Use grub_terminfo_getwh.
7840 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
7841 (options): New struct.
7842 (OPTION_*): New enum.
7843 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
7844 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
7845 width and height.
7846 (grub_terminfo_getwh): New proto.
7847 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
7848
1a8fed20
VS
78492010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7850
7851 Handle legacy "terminal" command.
7852
7853 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
7854 and FLAG_TERMINAL.
7855 (legacy_commands): Add terminal and title.
7856 (grub_legacy_parse): Handle terminal. Simplify title handling.
7857
41e9c57d
VS
78582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7859
7860 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
7861 parameters overflow.
7862
61c874c5
CW
78632010-09-20 Colin Watson <cjwatson@ubuntu.com>
7864
7865 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
7866 widthspec.h.
7867
7868 * docs/grub.texi (Shell-like scripting): Document `!'.
7869 (Network): Simplify using new i386-pc-pxe format. Mention
7870 grub-mknetdir.
7871
7872 * NEWS: Update.
7873
943682b4
CW
78742010-09-20 Colin Watson <cjwatson@ubuntu.com>
7875
7876 * Makefile.am (SUBDIRS): Restore "."; it's important to force
7877 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
7878 when needed.
7879
6d3d698d
CW
78802010-09-20 Colin Watson <cjwatson@ubuntu.com>
7881
7882 * grub-core/commands/efi/lsefisystab.c: Correct header.
7883 * grub-core/commands/efi/lssal.c: Likewise.
7884 * grub-core/commands/testload.c: Likewise.
7885
c982589f
CW
78862010-09-20 Colin Watson <cjwatson@ubuntu.com>
7887
7888 * util/grub-mkrescue.in: Add explicit root argument to --set to
7889 prevent the UUID being interpreted as an argument to --set (matches
7890 previous change to prepare_grub_to_access_device).
7891
a63c31b6
CW
78922010-09-20 Colin Watson <cjwatson@ubuntu.com>
7893
7894 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
7895 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
7896 the verbosity of later #ifs.
7897 (find_partition_start): Define this function on FreeBSD too.
7898 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
7899 function.
7900 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
7901 on FreeBSD.
7902
6439b8ee
YB
79032010-09-20 Yves Blusseau <blusseau@zetam.org>
7904
7905 * util/grub-editenv.c: Use argp instead of getopt.
7906
c5930ec8
YB
79072010-09-20 Yves Blusseau <blusseau@zetam.org>
7908
7909 * util/grub-setup.c: Use argp instead of getopt.
7910
15c69261
YB
79112010-09-20 Yves Blusseau <blusseau@zetam.org>
7912
7913 Use gnulib-tool to create gnulib source files.
7914
7915 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
7916 grub-core/gnulib directories
7917 * .bzignore: Add **/.deps and autogenerated gnulib files
7918 * configure.ac: Assign auxiliary directory to build-aux, add invocation
7919 of gnulib macros, add grub-core/gnulib/Makefile
7920 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
7921 include m4 directory to aclocal.
7922 * Makefile.util.def: Remove direct compilation of gnulib source files
7923 and use the new grub-core/gnulib/libgnu.a.
7924 * build-aux/config.rpath: move config.rpath from top directory to
7925 build-aux
7926 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
7927 in gnulib headers
7928 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
7929 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
7930 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
7931 header.
7932 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
7933 string.
7934
e511c9f5
YB
79352010-09-20 Yves Blusseau <blusseau@zetam.org>
7936
7937 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
7938 grub-core/genmod.sh and grub-core/gensyminfo.sh
7939
c2dede05
BC
79402010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
7941
7942 Add a test for echo command options.
7943
7944 * tests/grub_cmd_echo.in: New test.
7945 * Makefile.util.def: Rules for new test.
7946
c55f5018
SJ
79472010-09-20 Szymon Janc <szymon@janc.net.pl>
7948
7949 Remove crc.mod and move crc command to hashsum.mod.
7950 Remove lib/crc.c - users updated to use gcrypt implementation.
7951
7952 * grub-core/commands/crc.c: Removed.
7953 * grub-core/Makefile.core.def (crc): Module removed.
7954 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
7955 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
7956 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
7957 * grub-core/lib/crc.c: Removed.
7958 * include/grub/lib/crc.h: Removed.
7959 * Makefile.util.def (crc): Remove lib/crc.c
7960 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
7961 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
7962 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
7963 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
7964 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
7965 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
7966
e0337366
VS
79672010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7968
7969 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
7970
742f9232
VS
79712010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7972
7973 Split config.h for util and core.
7974
7975 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
7976 (ADDR32): Likewise.
7977 (DATA32): Likewise.
7978 (BSS_START_SYMBOL): Likewise.
7979 (END_SYMBOL): Likewise.
7980 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
7981 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
7982 * config.h.in: New file.
7983 * configure.ac: Use config-util.h as config define file.
7984 Rename MACHINE into GRUB_MACHINE. All users updated.
7985 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
7986 updated.
7987 (NESTED_FUNC_ATTR): Likewise.
7988 Substitue new variables.
7989 (COND_HAVE_ASM_USCORE): New conditional.
7990 * grub-core/Makefile.am (ASM_PREFIX): New variable.
7991 (kernel_syms.lst): Use ASM_PREFIX.
7992 * grub-core/kern/emu/console.c: Include config-util.h.
7993 * grub-core/kern/emu/misc.c: Likewise.
7994 * grub-core/kern/emu/mm.c: Likewise.
7995 * include/grub/emu/misc.h: Likewise.
7996 * include/grub/libgcc.h: Likewise.
7997
39feb0e8
VS
79982010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7999
8000 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
8001 constants usage.
8002 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
8003 Fix GRUB_TERM_KEY_* constants usage.
8004 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
8005
9af6dac3
VS
80062010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8007
8008 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
8009 print pointer.
8010 * grub-core/bus/usb/uhci.c: Remove empty define.
8011 (grub_uhci_check_transfer): Add missing cast.
8012 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
8013 print pointer.
8014 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
8015 PRIuGRUB_SIZE.
8016 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
8017
d6d94820
VS
80182010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8019
8020 * grub-core/Makefile.core.def (legacycfg): Add
8021 lib/i386/pc/vesa_modes_table.c on emu.
8022
3572f2b6
BC
80232010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
8024
8025 Reduce number of temporary files generated by build system.
8026
8027 * grub-core/gencmdlist.sh: Removed.
8028 * grub-core/genfslist.sh: Removed.
8029 * grub-core/genhandlerlist.sh: Removed.
8030 * grub-core/genmodsrc.sh: Removed.
8031 * grub-core/genpartmaplist.sh: Removed.
8032 * grub-core/genparttoollist.sh: Removed.
8033 * grub-core/gentermiinallist.sh: Removed.
8034 * grub-core/genvideolist.sh: Removed.
8035
8036 * grub-core/genmod.sh.in: New file.
8037 * grub-core/gensyminfo.sh.in: New file.
8038
8039 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
8040 * conf/Makefile.extra-dist: Update with new files.
8041 * gentpl.py: Remove rules related to unnecessary temporary files.
8042 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
8043 and und-* files.
8044 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
8045 genmod.sh scripts.
8046 * grub-core/bus/usb/uhci.c: Remove empty #define.
8047 * grub-core/genmoddep.awk: Updated with new syminfo format.
8048 * util/bash-completion.d/Makefile.am: Add config.log to
8049 CLEANFILES.
8050
c836b030
YB
80512010-09-19 Yves Blusseau <blusseau@zetam.org>
8052
8053 * Makefile.util.def: Add forgotten $(LIBINTL) library.
8054
2f4e8053
BC
80552010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
8056
8057 * util/grub-mkconfig.in: Check the config script for syntax errors
8058 before saving.
8059
75831c34
CW
80602010-09-19 Colin Watson <cjwatson@ubuntu.com>
80612010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8062
8063 * Makefile.util.def (grub-install): Use util/grub-install.in on all
8064 platforms.
8065 * util/grub-install.in: Add EFI and IEEE1275 support.
8066 * util/i386/efi/grub-install.in: Removed.
8067 * util/ieee1275/grub-install.in: Likewise.
8068
eaf41b25
VS
80692010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8070
8071 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
8072 (grub_cmd_cmosclean): Likewise.
8073 (GRUB_MOD_INIT): Register command cmosclean.
8074 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
8075 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
8076
1a9130dd
CPE
80772010-09-18 Carles Pina i Estany <carles@pina.cat>
80782010-09-18 Aleš Nesrsta <starous@volny.cz>
80792010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8080
8081 Add keyboard layouts support.
8082
8083 * Makefile.util.def (grub-mklayout): New file.
8084 (grub-kbdcomp): New script.
8085 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
8086 Add keyboard_layouts.h.
8087 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
8088 commands/boot.c on yeeloong.
8089 (keylayouts): New module.
8090 * grub-core/bus/usb/ohci.c
8091 * grub-core/bus/usb/uhci.c
8092 * grub-core/bus/usb/usbhub.c (rescan): New variable.
8093 (grub_usb_add_hub): Poll interrupt pipe for device handling.
8094 (attach_root_port): Likewise.
8095 (poll_nonroot_hub): Likewise.
8096 (grub_usb_poll_devices): Likewise.
8097 (detach_device): Close transfer.
8098 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
8099 function.
8100 (grub_usb_bulk_setup_readwrite): Likewise.
8101 (grub_usb_bulk_finish_readwrite): Likewise.
8102 * grub-core/commands/keylayouts.c: New file.
8103 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
8104 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
8105 aliases.
8106 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
8107 support scancode 2.
8108 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
8109 * include/grub/keyboard_layouts.h: New file.
8110 * util/grub-mklayout.c: New file.
8111 * util/grub-kbdcomp.in: Likewise.
8112
a1d84a5e
VS
81132010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8114
8115 Unify memory types.
8116
8117 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
8118 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
8119 types.
8120 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
8121 (grub_upper_mem): Likewise.
8122 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
8123 * include/grub/memory.h (grub_memory_type_t): New enum.
8124 All users updated.
8125
9696382e
VS
81262010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8127
8128 * grub-core/Makefile.core.def (lsapm): New module.
8129 * grub-core/commands/i386/pc/lsapm.c: New file.
8130 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
8131 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
8132 Likewise.
8133 * include/grub/i386/pc/apm.h: New file.
8134 * include/multiboot.h (multiboot_apm_info): New struct.
8135
81362010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8137
8138 GRUB-legacy configuration file support.
8139
8140 * Makefile.util.def (grub-menulst2cfg): New util.
8141 * docs/man/grub-menulst2cfg.h2m: New file.
8142 * grub-core/Makefile.core.def (legacycfg): New module.
8143 * grub-core/commands/legacycfg.c: New file.
8144 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
8145 (grub_normal_add_menu_entry): ... this.
8146 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
8147 (grub_normal_set_password): ...this.
8148 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
8149 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
8150 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
8151 * grub-core/lib/legacy_parse.c: New file.
8152 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
8153 * include/grub/i386/pc/vesa_modes_table.h: New file.
8154 * include/grub/legacy_parse.h: Likewise.
8155 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
8156 * util/grub-menulst2cfg.c: New file.
8157
bf8d1338
CW
81582010-09-17 Colin Watson <cjwatson@ubuntu.com>
8159
8160 * grub-core/kern/emu/hostdisk.c
8161 (convert_system_partition_to_system_disk): Initialise node.
8162
9c0bad2e
CW
81632010-09-17 Colin Watson <cjwatson@ubuntu.com>
8164
8165 * grub-core/kern/emu/hostdisk.c
8166 (convert_system_partition_to_system_disk): Fix devmapper memory pool
8167 leak.
8168 Reported and based on patch by: Modestas Vainius.
8169
a939d135
CW
81702010-09-17 Colin Watson <cjwatson@ubuntu.com>
8171
8172 Fix DM-RAID probing with recent versions of device-mapper udev
8173 rules.
8174
8175 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
8176 canonicalise device paths under /dev/mapper/.
8177 (convert_system_partition_to_system_disk): Compare the
8178 uncanonicalised path to /dev/mapper/ rather than the canonicalised
8179 path, since device nodes under /dev/mapper/ are often symlinks.
8180
0f7ee3c9
YB
81812010-09-17 Yves Blusseau <blusseau@zetam.org>
8182
8183 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
8184
10854d0d
YB
81852010-09-16 Yves Blusseau <blusseau@zetam.org>
8186
8187 * configure.ac: Avoid some annoying error messages if freetype-config
8188 program is not found.
8189
108538d8
CW
81902010-09-16 Colin Watson <cjwatson@ubuntu.com>
8191
8192 Support RAID on virtio devices, and others.
8193
8194 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
8195 Rename to ...
8196 [__MINGW32__] (grub_find_device): ... this.
8197 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
8198 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
8199 reasonable default if dir is NULL.
8200 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
8201 ...
8202 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
8203 (grub_guess_root_device): Update callers.
8204 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
8205
8206 * util/raid.c (grub_util_getdiskname): Remove.
8207 (grub_util_raid_getmembers): Use grub_find_device rather than
8208 grub_util_getdiskname.
8209
e5bfc130
CW
82102010-09-16 Colin Watson <cjwatson@ubuntu.com>
8211
8212 * docs/grub.texi (serial): Remove obsolete comment about GRUB
8213 needing to be compiled with serial support.
8214 (ls): Indicate that multiple files are accepted.
8215 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
8216 indicate that multiple files are accepted.
8217
be458ae2
CW
82182010-09-16 Colin Watson <cjwatson@ubuntu.com>
8219
8220 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
8221 libgrub_a_init.c, and util/bash-completion.d/grub.
8222
cb731b5e
VS
82232010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8224
8225 * util/grub-setup.c (setup): Fix incorrect container semantics.
8226
35139e8a
VS
82272010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8228
8229 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
8230 misusage.
8231 Reported by: J. Nick Terry
8232
e50fca4a
VS
82332010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8234
8235 Move embedding routines to partmap sources files.
8236
8237 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
8238 [GRUB_UTIL]: New variable.
8239 (gpt_partition_map_iterate): Set part.parent.
8240 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
8241 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
8242 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
8243 New function.
8244 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
8245 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
8246 (grub_partition_map) [GRUB_UTIL]: New field embed.
8247 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
8248 (setup): Use ->embed.
8249
f00478b7
VS
82502010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8251
8252 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
8253 function.
8254 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
8255 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
8256
2b94e3ff
YB
82572010-09-15 Yves Blusseau <blusseau@zetam.org>
8258
8259 Add function to get completions from usage.
8260
8261 * util/bash-completion.d/grub-completion.bash.in: Add function to get
8262 completions from usage. Use LC_ALL=C to get options properly.
8263
2e04a006
VS
82642010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8265
8266 * grub-core/gnulib/basename-lgpl.c: Imported.
8267 * grub-core/gnulib/basename.c: Likewise.
8268 * grub-core/gnulib/dirname-lgpl.c: Likewise.
8269 * grub-core/gnulib/dirname.c: Likewise.
8270 * grub-core/gnulib/dirname.h: Likewise.
8271 * grub-core/gnulib/stripslash.c: Likewise.
8272
5dcdf93a
VS
82732010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8274
8275 * grub-core/gnulib/error.c: Resynced.
8276 * grub-core/gnulib/getopt.c: Likewise.
8277 * grub-core/gnulib/getopt_int.h: Likewise.
8278 * grub-core/gnulib/regex.h: Likewise.
8279 * grub-core/gnulib/regex_internal.c: Likewise.
8280 * grub-core/gnulib/regex_internal.h: Likewise.
8281
014f47b7
SJ
82822010-09-15 Szymon Janc <szymon@janc.net.pl>
8283
8284 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
8285 CRC calculations and validity checks.
8286 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
8287 calculations.
8288
dd521a4a
SJ
82892010-09-15 Szymon Janc <szymon@janc.net.pl>
8290
8291 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
8292
79c4eeb9
VS
82932010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8294
8295 Fix incorrect echo options handling.
8296 Reported by: Yves Blusseau.
8297
8298 * include/grub/command.h (grub_command_flags_t): New flags
8299 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
8300 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
8301 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
8302
ed80f7d5
VS
83032010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8304
8305 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
8306 users updated.
8307 (GRUB_COMMAND_FLAG_MENU): Likewise.
8308 (GRUB_COMMAND_FLAG_BOTH): Likewise.
8309 (GRUB_COMMAND_FLAG_TITLE): Removed.
8310 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
8311 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
8312 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
8313 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
8314 (grub_command_flags_t): New enum. All users updated.
8315
5fe7620a
SG
83162010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
8317
8318 Fix solaris compilation.
8319
8320 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
8321 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
8322 (grub-emu-list): Likewise.
8323
545b752f
VS
83242010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8325
8326 Remove deprecated root command.
8327
8328 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
8329 updated.
8330
6c1a338c
VS
83312010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8332
8333 * util/i386/pc/grub-setup.c: Merge this ...
8334 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
8335 * util/grub-setup.c: ... into this.
8336 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
8337 New struct.
8338
83392010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8340
8341 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
8342 possible.
8343
d2ea4551
VS
83442010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8345
8346 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
8347 allocate p.
8348
3c3b5040
VS
83492010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8350
8351 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
8352 explicit root argument to set to prevent UUID to be interpreted as
8353 argument to set.
8354
b71c3fae
VS
83552010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8356
8357 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
8358
275433e6
VS
83592010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8360
8361 Don't export grub_gate_a20.
8362
8363 * grub-core/kern/i386/pc/init.c: Remove leftovers.
8364 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
8365 to ...
8366 (grub_gate_a20): ... this. All users updated.
8367 * include/grub/i386/pc/init.h: Removed. All users updated.
8368
a5dbb1f1
VS
83692010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8370
8371 Create euro.pf2 which supports most European languages.
8372
8373 * Makefile.am (grubdata_DATA): Add euro.pf2.
8374 (euro.pf2): New target.
8375 (CLEANFILES): Add euro.pf2.
8376
62a747cb
VS
83772010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8378
8379 * configure.ac: Disable emu-usb by default to prevent inadvertent
8380 device takeover.
8381
608e43b1
VS
83822010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8383
8384 Disable usbserial on grub-emu since our libusb code isn't good enough
8385 yet.
8386
8387 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
8388 (usbserial_pl2303): Likewise.
8389 (usbserial_ftdi): Likewise.
8390
94564f81
VS
83912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8392
8393 * include/grub/disk.h (grub_disk): Remove has_partitions.
8394 All users updated.
8395 * disk/loopback.c (grub_loopback): Remove has_partitions.
8396 All users updated.
8397 (options): Remove partitions. All users updated.
8398 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
8399 * util/i386/pc/grub-setup.c (setup): copy partition table only when
8400 actual partition table is found.
8401
3352800b
VS
84022010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8403
8404 Remove readability checks (too many false negatives).
8405
8406 * util/grub-install.in: Remove readability checks.
8407 * util/grub-mkconfig.in: Likewise.
8408 * util/grub.d/10_hurd.in: Likewise.
8409 * util/grub.d/10_kfreebsd.in: Likewise.
8410 * util/grub.d/10_linux.in: Likewise.
8411 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
8412 way.
8413
2419f17a
VS
84142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8415
8416 Enable acpi shutdown on all ACPI platforms.
8417
8418 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
8419 on coreboo, multiboot and EFI.
8420 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
8421 (grub_acpi_halt): Likewise.
8422 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
8423 (grub_cmd_halt): Don't call grub_acpi_halt directly.
8424 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
8425 * grub-core/lib/i386/halt.c (grub_halt)
8426 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
8427
0575c7c3
VS
84282010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8429
8430 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
8431 context.
8432
54ac3cd1
VS
84332010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8434
8435 * grub-core/video/efi_gop.c: Fix over-80-chars line.
8436 * grub-core/video/efi_uga.c: Likewise.
8437
b2a30ac5
VS
84382010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8439
8440 Filter devaliases and never open same device twice.
8441
8442 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
8443 (last_ihandle): Likewise.
8444 (ofdisk_hash_ent): New member shortest.
8445 (ofdisk_hash_add): Add canonical path too.
8446 (scan): New function.
8447 (grub_ofdisk_iterate): Iterate over hashed entries.
8448 (compute_dev_path): Don't add :0.
8449 (grub_ofdisk_open): Don't really open the disk.
8450 (grub_ofdisk_close): Avoid closing unrelated disk.
8451 (grub_ofdisk_read): Implement reopen logic.
8452 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
8453 New function.
8454 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
8455 New proto.
8456
fb53b340
VS
84572010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8458
8459 Fix sparc64.
8460
8461 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
8462 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
8463 right address. Add sparc64_ieee1275_ldflags.
8464 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
8465 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
8466 to grub_host_to_target_addr
8467 (load_image): Likewise.
8468
f452b040
VS
84692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8470
8471 * grub-core/normal/completion.c (complete_file): Handle device
8472 containing slash.
8473 Fix based on patch by Doug Nazar.
8474
9b5b2541
VS
84752010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8476
8477 grub-mknetdir script.
8478
8479 * Makefile.util.def (grub-mknetdir): New module.
8480 * tests/util/grub-shell.in: Support boot=net
8481 * util/grub-mknetdir.in: New file.
8482
9d2be652
VS
84832010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8484
8485 videoinfo on non-vbe.
8486
8487 * grub-core/Makefile.core.def (vbeinfo): Removed.
8488 (vbetest): Removed.
8489 (videoinfo): New module.
8490 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
8491 * grub-core/commands/i386/pc/vbetest.c: Removed.
8492 * grub-core/commands/videoinfo.c: New file.
8493 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
8494 specification.
8495 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
8496 as vbetest.
8497 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
8498 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
8499 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
8500 mode_number. New parameter mode. All users updated.
8501 (grub_video_gop_iterate): New function.
8502 (grub_video_efi_gop): New member iterate.
8503 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
8504 (grub_vbe_set_video_mode): Remove setting useless fields.
8505 (vbe2videoinfo): New function.
8506 (grub_video_vbe_iterate): Likewise.
8507 (grub_video_vbe_setup): Use vbe2videoinfo.
8508 (grub_video_vbe_print_adapter_specific_info): New function.
8509 (grub_video_vbe_adapter): New fields iterate and
8510 print_adapter_specific_info.
8511 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
8512 All users updated.
8513 (grub_video_mode_info): New field mode_number.
8514 (grub_video_adapter): New fields iterate and
8515 print_adapter_specific_info.
8516
179503f5
TG
85172010-09-13 Tristan Gingold <gingold@free.fr>
85182010-09-13 Robert Millan <rmh.grub@aybabtu.com>
85192010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8520
8521 * grub-core/commands/efi/lsefisystab.c: New file.
8522 * grub-core/commands/efi/lssal.c: Likewise.
8523 * grub-core/Makefile.core.def (lsacpi): New module.
8524 (lsefisystab): Likewise.
8525 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
8526 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
8527 (grub_efi_sal_system_table): New struct.
8528 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
8529 (grub_efi_sal_system_table_memory_descriptor): Likewise.
8530 (grub_efi_sal_system_table_platform_features): Likewise.
8531 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
8532 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
8533 (grub_efi_sal_system_table_ap_wakeup): Likewise.
8534 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
8535
cf9827de
VS
85362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8537
8538 Support explicit user claim that a device is BIOS-visible.
8539
8540 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
8541 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
8542 * grub-core/kern/emu/hostdisk.c
8543 (convert_system_partition_to_system_disk): Support mdX.
8544 (find_system_device): New parameter add. All users updated.
8545 (grub_util_biosdisk_is_present): New function.
8546 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
8547 proto.
8548
53f0eb1f
VS
85492010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8550
8551 Search hints support.
8552
8553 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
8554 All users updated.
8555
b23ffd70
YB
85562010-09-13 Yves Blusseau <blusseau@zetam.org>
8557
8558 Bash completion script for util commands
8559
8560 * Makefile.am: Add util/bash-completion.d directory
8561 * configure.ac: Likewise.
8562 * util/bash-completion.d/Makefile.am: New file.
8563 * util/bash-completion.d/grub-completion.bash.in: Likewise.
8564
d547dc28
VS
85652010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8566
8567 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
8568 (print_backlog): set backlog_ucs4 and backlog_glyphs.
8569 Reported by: Yves Blusseau.
8570
2fc8ccb9
VS
85712010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8572
8573 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
8574 partition size and offset.
8575
d8a84076
VS
85762010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8577
8578 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
8579
84fb3b3d
VS
85802010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8581
8582 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
8583
768ec2e2
VS
85842010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8585
8586 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
8587 (grub_xvasprintf): Likewise.
8588
4870900f
VS
85892010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8590
8591 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
8592
faca6bec
VS
85932010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8594
8595 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
8596 args ending with NULL.
8597
85982010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
8599
8600 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
8601 pointer.
8602
3c70f225
SJ
86032010-09-11 Szymon Janc <szymon@janc.net.pl>
8604
8605 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
8606
4df7996d
VS
86072010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
8608
8609 Shutdown using ACPI.
8610
8611 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
8612 * grub-core/commands/acpihalt.c: New file.
8613 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
8614 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
8615 (grub_acpi_halt): New proto.
8616 (GRUB_ACPI_SLP_EN): New const.
8617 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
8618 (GRUB_ACPI_OPCODE_*): New enum.
8619 (GRUB_ACPI_EXTOPCODE_*): Likewise.
8620
126b4c32
TG
86212010-09-11 Tristan Gingold <gingold@free.fr>
86222010-09-11 Robert Millan <rmh.grub@aybabtu.com>
86232010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
8624
8625 * commands/lsacpi.c: New file.
8626 * grub-core/Makefile.core.def (lsacpi): New module.
8627 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
8628 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
8629 (grub_acpi_madt_entry_header): New struct.
8630 (grub_acpi_madt): Likewise.
8631 (grub_acpi_madt_entry_interrupt_override): Likewise.
8632 (grub_acpi_madt_entry_sapic): Likewise.
8633 (grub_acpi_madt_entry_lsapic): Likewise.
8634 (grub_acpi_madt_entry_platform_int_source): Likewise.
8635 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
8636 (PRIuGRUB_UINT32_T): Likewise.
8637 (PRIxGRUB_UINT64_T): Likewise.
8638
1aa4fe88
VS
86392010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
8640
8641 Implement loading palette on ieee1275_fb.
8642
8643 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
8644 (have_setcolors): Likewise.
8645 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
8646 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
8647 (grub_video_ieee1275_set_palette): Implement.
8648
25761e13
VS
86492010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
86502010-09-11 Colin Watson <cjwatson@ubuntu.com>
8651
8652 * util/grub-install.in (grub_partition): New variable.
8653 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
8654 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
8655 Fixes a bug reported by Yves Blusseau.
8656
050abaea
VS
86572010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
8658
8659 Fix emu on mipsel.
8660
8661 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
8662 =grub_cpu_flush_cache on all mips and not only yeeloong.
8663 * configure.ac (COND_mips): New conditional.
8664 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
8665 platforms.
8666 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
8667 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
8668 [GRUB_LINKER_HAVE_INIT]: New function.
8669 (grub_emu_post_init): Likewise.
8670 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
8671 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
8672 * include/grub/cache.h (_mips): Include mips/cache.h.
8673 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
8674 LVM and RAID prototypes.
8675 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
8676 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
8677 function.
8678
5ed7d816
CW
86792010-09-10 Colin Watson <cjwatson@ubuntu.com>
8680
8681 * util/grub-install.in: Don't try to verify core.img until after
8682 running grub-mkimage to create it.
8683
90367e04
RM
86842010-09-10 Robert Millan <rmh@gnu.org>
8685
8686 * util/grub.d/10_hurd.in: Add misc readability checks.
8687 * util/grub.d/10_kfreebsd.in: Likewise.
8688 * util/grub.d/10_linux.in: Likewise.
8689
c452fa66
CW
86902010-09-10 Colin Watson <cjwatson@ubuntu.com>
8691
8692 * util/grub-install.in: ${imgext} won't be defined here until the
8693 install branch is merged. For the meantime, only verify core.img on
8694 i386-pc and sparc64-ieee1275 platforms.
8695
c38fe9f4
RM
86962010-09-10 Robert Millan <rmh@gnu.org>
8697
8698 Solaris support in grub_find_zpool_from_dir(). Thanks
8699 Seth Goldberg for referring to getextmntent() facility.
8700
8701 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
8702 `sys/mkdev.h'.
8703 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
8704 `<sys/mnttab.h>'.
8705 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
8706 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
8707 method for finding zpool name.
8708
905f7773
CW
87092010-09-10 Colin Watson <cjwatson@ubuntu.com>
8710
8711 grub-fstest needs the host and hostfs modules while other utilities
8712 actively require those modules to be absent, so grub-fstest needs
8713 its own initialisation and finalisation code.
8714
8715 * Makefile.am (grub_fstest.pp): New target.
8716 (grub_fstest_init.lst): Likewise.
8717 (grub_fstest_init.c): Likewise.
8718 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
8719
fb90b546
RM
87202010-09-10 Robert Millan <rmh@gnu.org>
8721
8722 * configure.ac: Check for `struct statfs.f_fstypename' and
8723 `struct statfs.f_mntfromname'.
8724
8725 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
8726 kFreeBSD-specific code.
8727
66d4bea5
RM
87282010-09-10 Robert Millan <rmh@gnu.org>
8729
8730 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
8731 on ZFS. Now non-main filesystems are supported as / too.
8732
b6a690ee
CW
87332010-09-09 Colin Watson <cjwatson@ubuntu.com>
8734
8735 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
8736 and grub-core/disk/host.c to ...
8737 (grub-fstest): ... here. Having the host disk implementation
8738 present confuses grub-probe and other utility programs.
8739
8740 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
8741 when writing to a file, not when writing to stdout.
8742
8901b00c 87432010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
8744
8745 * tests/partmap_test.in: New test for partitions.
8746 * Makefile.util.def: Rules for new test.
8747
7bf45fdd
RM
87482010-09-09 Robert Millan <rmh@gnu.org>
8749
8750 * util/grub-probe.c (probe): Fix a pair of unhandled error
8751 conditions.
8752
4dfbc574
RM
87532010-09-09 Robert Millan <rmh@gnu.org>
8754
8755 Basic Btrfs support (detection and UUID).
8756
8757 * grub-core/fs/btrfs.c: New file.
8758 * Makefile.util.def (library): Register btrfs.c.
8759 * grub-core/Makefile.core.def: Likewise.
8760
6b8e78ae
RM
87612010-09-08 Robert Millan <rmh@gnu.org>
8762
8763 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
8764 with (optional) parameters to specify device and relative path.
8765 * util/grub-install.in: Use is_path_readable_by_grub() to
8766 verify readability of a few critical files.
8767 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
8768 verify readability of grub.cfg.new.
8769
27f21a8b
VS
87702010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
8771
8772 Split minix.mod into minix.mod and minix2.mod.
8773
8774 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
8775 * grub-core/Makefile.core.def (minix2): New module.
8776 * grub-core/fs/minix.c: Use definitions instead of runtime version
8777 checking.
8778 * grub-core/fs/minix2.c: New file.
8779
c0e53ea5
YB
87802010-09-08 Yves Blusseau <blusseau@zetam.org>
8781
8782 Add new --boot-directory option to replace --root-directory
8783
8784 * util/grub-install.in: Add new --boot-directory option
8785 * util/grub-reboot.in: Likewise.
8786 * util/grub-set-default.in: Likewise.
8787
b9fe6ea2
YB
87882010-09-08 Yves Blusseau <blusseau@zetam.org>
8789
8790 * util/grub-mkconfig.in: Use new variable.
8791
d87aedff
YB
87922010-09-08 Yves Blusseau <blusseau@zetam.org>
8793
8794 * configure.ac: Define some useful variables.
8795
e55e8495
VS
87962010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
8797
8798 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8799 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
8800 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
8801 Use terminfo and don't use cursor-on/cursor-off unless it's known
8802 to work.
8803 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
8804 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
8805
6fa6d675
CW
88062010-09-08 Colin Watson <cjwatson@ubuntu.com>
8807
8808 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
8809 starts with "(,", fill the drive containing the loaded image in
8810 between those two characters, but expect that a full partition
8811 specification including partition map names will follow.
8812
92f2aef0
RM
88132010-09-08 Robert Millan <rmh@gnu.org>
8814
8815 * configure.ac: Remove `--enable-grub-fstest' option.
8816 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
8817
8818 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
8819 `grub-fstest' instead of `grub-probe' for readability verification.
8820 * util/grub-probe.c (probe): Remove readability verification kludge.
8821
99fd620d
RM
88222010-09-08 Robert Millan <rmh@gnu.org>
8823
8824 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
8825 initializing `GRUB_FS'.
8826
058e30ac 88272010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
8828
8829 Not command (!) support to GRUB script.
8830
8831 * tests/grub_script_not.in: New test.
8832 * Makefile.util.def: Rules for new test.
8833
8834 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
8835 ! command as a special case.
8836 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
8837
b61d05ed 88382010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
8839
058e30ac 8840 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
8841 grub_free.
b61d05ed 8842
4d69c786 88432010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
8844
8845 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
8846
aa3119c4 88472010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
8848
8849 * docs/grub.texi (Shell-like scripting): Documentation for break,
8850 continue, shift and return commands.
8851
db0f7e3d
VS
88522010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
8853
8854 Rename CD-ROM to cd on BIOS.
8855
8856 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
8857 "cd".
8858 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
8859
88b87c93
VS
88602010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8861
8862 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
8863 * util/grub-probe.c (main): Likewise.
8864 * util/i386/pc/grub-setup.c (main): Likewise.
8865 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
8866 Reported and debugged by: alexxy
8867
294f324d
VS
88682010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8869
8870 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
8871 diagnostic info.
8872
d7ee3441
JS
88732010-09-05 Jo Shields <directhex@apebox.org>
8874
8875 * util/grub.d/30_os-prober.in: Add missing classes.
8876
d7e06c1f
VS
88772010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8878
8879 * docs/grub.texi (Theme file format): Document new position format.
8880
fc157e53
VS
88812010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8882
8883 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
8884 a table. Use @code instead of @verbatim.
8885
506e9a1c
CB
88862010-09-05 Colin D Bennett <colin@gibibit.com>
8887
8888 Gfxmenu documentation.
8889
8890 * docs/grub.texi (Theme file format): New chapter.
8891
f0aff67c
SJ
88922010-09-05 Szymon Janc <szymon@janc.net.pl>
8893
8894 * grub-core/Makefile.core.def (xzio): New module.
8895 * grub-core/io/xzio.c: New file.
8896 * grub-core/lib/xzembed/xz.h: New file (from xembed).
8897 * grub-core/lib/xzembed/xz_config.h: Likewise.
8898 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
8899 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
8900 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
8901 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
8902 * grub-core/lib/xzembed/xz_private.h: Likewise.
8903 * grub-core/lib/xzembed/xz_stream.h: Likewise.
8904 * include/grub/file.h (grub_file_filter_id): New compression filter
8905 GRUB_FILE_FILTER_XZIO.
8906
82a85062
VS
89072010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8908
8909 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
8910 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
8911 size.
8912
3579415d
VS
89132010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8914
8915 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
8916 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
8917
5124ae6d
VS
89182010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8919
8920 Uncompressed checksum support.
8921
8922 * grub-core/commands/hashsum.c (options): Add option --uncompress.
8923 (check_list): New parameter uncompress.
8924 (grub_cmd_hashsum): Handle --uncompress.
8925
9aadb3d1
VS
89262010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8927
8928 Reintroduce testload.
8929
8930 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
8931 from here ...
8932 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
8933 (GRUB_MOD_INIT): New function.
8934 (GRUB_MOD_FINI): Likewise.
8935 * grub-core/Makefile.core.def (testload): New module.
8936
a17792c3
SJ
89372010-09-05 Szymon Janc <szymon@janc.net.pl>
8938
8939 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
8940 (uint8_t): New type.
8941 (uint16_t): Likewise.
8942 (uint32_t): Likewise.
8943 (uint64_t): Likewise.
8944
b81e40a3
SJ
89452010-09-05 Szymon Janc <szymon@janc.net.pl>
8946
8947 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
8948
fc2ef117
VS
89492010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8950
8951 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
8952 Made static.
8953 (grub_gzfile_open): Removed. All users updated.
8954 (GRUB_MOD_INIT): New function.
8955 (GRUB_MOD_FINI): Likewise.
8956 * grub-core/kern/file.c (grub_file_filters_all): New variable.
8957 (grub_file_filters_enabled): Likewise.
8958 (grub_file_open): Handle filters.
8959 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
8960 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
8961 * include/grub/file.h (grub_file_filter_id_t): New type.
8962 (grub_file_filter_t): Likewise.
8963 (grub_file_filters_all): New extern variable.
8964 (grub_file_filters_enabled): Likewise.
8965 (grub_file_filter_register): New inline function.
8966 (grub_file_filter_unregister): Likewise.
8967 (grub_file_filter_disable): Likewise.
8968 (grub_file_filter_disable_compression): Likewise.
8969 * include/grub/gzio.h: Removed.
8970
35ee15e0
BC
89712010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8972
8973 Filename expansion support for wildcards in GRUB script.
8974
8975 * tests/grub_script_expansion.in: New test.
8976 * Makefile.util.def: Rule for new test.
8977
8978 * grub-core/commands/wildcard.c: New file, implements filename
8979 expansion support for GRUB script.
8980 * grub-core/Makefile.core.def: Rule update for regexp.mod.
8981 * grub-core/script/argv.c: Cosmetic changes.
8982 * grub-core/script/execute.c (grub_script_arglist_to_argv):
8983 Refactored to perform wildcard expansion on arguments.
8984 * include/grub/script_sh.h (grub_script_wildcard_translator): New
8985 struct.
8986
8987 * tests/util/grub-shell.in: Fix quoting for read input.
8988
5f0c4aca
BC
89892010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8990
8991 Support for updating environment variables with matched substrings
8992 of regexp.
8993
8994 * tests/grub_cmd_regexp.in: New test.
8995 * Makefile.util.def: Rule for new test.
8996
8997 * grub-core/commands/regexp.c: New option -s to update environment
8998 variables with regexp matches.
8999
3759a35f
SJ
90002010-09-04 Szymon Janc <szymon@janc.net.pl>
9001
9002 * include/grub/file.h (grub_file): New member not_easly_seekable.
9003 (grub_file_seekable): New inline function.
9004 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
9005 easily seekable.
9006 (grub_gzio_open): Set not_easly_seekable.
9007 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
9008 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
9009
ed8c6dec
BC
90102010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9011
9012 Support for options to appear multiple times on cmdline.
9013
9014 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
9015 * grub-core/commands/extcmd.c: Support for repeatable option.
9016 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
9017 repeatable option support.
9018
9019 Refactor menuentry into a regular command.
9020
9021 * grub-core/commands/menuentry.c: New file, menuentry command
9022 implementation.
9023 * grub-core/Makefile.core.def: Rule update for normal.mod.
9024 * grub-core/normal/main.c: Moved menuentry creation to
9025 grub-core/commands/menuentry.c.
9026 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
9027 (grub_menu_execute_entry_real): Removed.
9028 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
9029 function.
9030 (grub_script_execute_menuentry): Removed.
9031 * grub-core/script/parser.y (menuentry): Removed.
9032 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
9033 * grub-core/script/yylex.l (menuentry): Removed.
9034 * include/grub/menu.h (grub_menu_init): New prototype.
9035 (grub_menu_fini): New prototype.
9036 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
9037 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
9038 (grub_script_execute_sourcecode): New prototype.
9039
dacd0cf0
BC
90402010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9041
9042 "return" command for GRUB script functions.
9043
9044 * tests/grub_script_return.in: New test.
9045 * Makefile.util.def: Rules for new test.
9046
9047 * grub-core/script/execute.c (grub_script_return): New function.
9048 * grub-core/script/main.c: Register/unregister return commaond.
9049 * include/grub/script_sh.h (grub_script_return): New prototype.
9050
52e72f9d
BC
90512010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9052
9053 "setparams" command to update positional parameters.
9054
9055 * tests/grub_script_setparams.in: New test.
9056 * Makefile.util.def: Rules for new test.
9057
9058 * grub-core/script/argv.c (grub_script_argv_make): New function.
9059 * grub-core/script/execute.c (replace_scope): New function.
9060 (grub_script_setparams): New function.
9061 * grub-core/script/lexer.c: Remove unused variables.
9062 * grub-core/script/main.c: Register/unregister setparams command.
9063 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
9064 (grub_script_setparams): New prototype.
9065
25b60c91
BC
90662010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9067
9068 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
9069 grub_free order.
9070
37e7bf68
BC
90712010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9072
9073 Support for passing block of commands as an argument to extcmds.
9074
9075 * Makefile.util.def: Rules for new test.
9076 * tests/grub_script_blockarg.in: New test.
9077 * grub-core/tests/test_blockarg.c: New file, block argument
9078 command used in the test.
9079
9080 * include/grub/extcmd.h (grub_extcmd_context): New struct.
9081 (grub_register_extcmd_prio): New function prototype.
9082 (grub_extcmd_dispatcher): New function prototype.
9083 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
9084 type.
9085 * include/grub/script_sh.h (struct grub_script): New members
9086 `children', `next_siblings' and `refcnt' for block arguments and
9087 reference counting.
9088 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
9089 (grub_script_arg): New member `script' for block argument.
9090 (grub_script_argv): New member `script' for block argument.
9091 (grub_parser_param): New member `scripts' for block argument.
9092 (grub_script_mem_free): New extern function prototype.
9093 (grub_script_ref): New function prototype.
9094 (grub_script_unref): New function prototype.
9095
9096 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
9097 extcmd form to support block arguments.
9098 * grub-core/script/argv.c: Block arguments support.
9099 * grub-core/script/execute.c: Likewise.
9100 * grub-core/script/lexer.c: Likewise.
9101 * grub-core/script/main.c: Likewise.
9102 * grub-core/script/script.c: Likewise.
9103 * grub-core/script/parser.y: Likewise. New `block' and `block0'
9104 non-terminals.
9105
9106 * grub-core/commands/acpi.c: Update extcmd implementations with
9107 grub_extcmd_context_t.
9108 * grub-core/commands/cat.c: Likewise.
9109 * grub-core/commands/echo.c: Likewise.
9110 * grub-core/commands/extcmd.c: Likewise.
9111 * grub-core/commands/hashsum.c: Likewise.
9112 * grub-core/commands/hdparm.c: Likewise.
9113 * grub-core/commands/help.c: Likewise.
9114 * grub-core/commands/hexdump.c: Likewise.
9115 * grub-core/commands/i386/cpuid.c: Likewise.
9116 * grub-core/commands/i386/pc/drivemap.c: Likewise.
9117 * grub-core/commands/i386/pc/halt.c: Likewise.
9118 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9119 * grub-core/commands/iorw.c: Likewise.
9120 * grub-core/commands/keystatus.c: Likewise.
9121 * grub-core/commands/loadenv.c: Likewise.
9122 * grub-core/commands/ls.c: Likewise.
9123 * grub-core/commands/lspci.c: Likewise.
9124 * grub-core/commands/memrw.c: Likewise.
9125 * grub-core/commands/probe.c: Likewise.
9126 * grub-core/commands/search_wrap.c: Likewise.
9127 * grub-core/commands/setpci.c: Likewise.
9128 * grub-core/commands/sleep.c: Likewise.
9129 * grub-core/disk/loopback.c: Likewise.
9130 * grub-core/hello/hello.c: Likewise.
9131 * grub-core/loader/i386/bsd.c: Likewise.
9132 * grub-core/loader/xnu.c: Likewise.
9133 * grub-core/term/gfxterm.c: Likewise.
9134 * grub-core/term/serial.c: Likewise.
9135 * grub-core/tests/lib/functional_test.c: Likewise.
9136
888d1500
BC
91372010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9138
9139 Multi-line quoted strings support.
9140
9141 * grub-core/script/lexer.c (append_newline): Removed.
9142 (grub_script_lexer_yywrap): Refactored.
9143 (grub_script_lexer_init): Refactored.
9144 * grub-core/script/yylex.l (yywrap): New function.
9145 (grub_lexer_resplit): New function.
9146 (grub_lexer_unput): New function.
9147 * include/grub/script_sh.h (grub_lexer_param): New members, unput
9148 and resplit.
9149 * tests/grub_script_echo1.in: Added few more testcases.
9150
dda060dd
VS
91512010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
9152
9153 * grub-core/kern/misc.c: Don't add abort alias in utils.
9154 Reported by: echoline.
9155
6556eba9
BC
91562010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
9157
9158 Add missing files into "make dist" tarball for other platforms.
9159
9160 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
9161 * conf/Makefile.common (dist_noinst_DATA): New variable.
9162 * conf/Makefile.extra-dist: Added missing make dist files.
9163 * grub-core/Makefile.core.def: Likewise.
9164
c8e7bf5f
VS
91652010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
9166
9167 Compress grub_prefix.
9168
9169 * grub-core/boot/i386/pc/lnxboot.S: Use
9170 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
9171 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
9172 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
9173 GRUB_MACHINE_PREFIX_END. All users updated.
9174 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
9175 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
9176 + 0x40.
9177 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
9178 * util/grub-mkimage.c (image_target_desc): Change data_end to
9179 prefix_end. All users updated.
9180
a7c00cdb
VS
91812010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
9182
9183 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
9184 value.
9185 (grub_openbsd_boot): Likewise.
9186 (grub_netbsd_boot): Likewise.
9187 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
9188 (grub_xnu_boot): Likewise.
9189
9f915872
VS
91902010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9191
9192 * configure.ac: Clean LIBS variable after tests.
9193
efa1bee7
CW
91942010-09-02 Colin Watson <cjwatson@ubuntu.com>
9195
9196 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
9197
61d720e5
VS
91982010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9199
9200 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
9201 echo if libdevmapper will be used.
9202
ef8e0ec8
IT
92032010-09-02 Ian Turner <Ian.Turner@deshaw.com>
9204
9205 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
9206 constant for the same file.
9207
03e261d8
VS
92082010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9209
9210 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
9211
c2a4eba6
CW
92122010-09-02 Colin Watson <cjwatson@ubuntu.com>
9213
9214 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
9215 grub-core/*.pp.
9216
9056cbf3
CW
92172010-09-02 Colin Watson <cjwatson@ubuntu.com>
9218
9219 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
9220 required by the boot protocol.
9221
9222 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
9223 ebp and edi members.
9224 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
9225 state.ebp and state.edi.
9226 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
9227 %ebp and %edi according to grub_relocator32_ebp and
9228 grub_relocator32_edi respectively.
9229 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
9230 and state.edi.
9231
529cc99a
VS
92322010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9233
9234 Add i386-pc-pxe image target.
9235
9236 * util/grub-mkimage.c (image_target_desc): New enum value
9237 IMAGE_I386_PC_PXE.
9238 (image_targets): New target i386-pc-pxe.
9239 (generate_image): Handle i386-pc-pxe image.
9240
9a093920
VS
92412010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9242
9243 Fix grub_pxe_scan.
9244
9245 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
9246 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
9247 All users updated.
9248 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
9249 (grub_pxe_pxenv): Correct type.
9250
f9cefc4e
CW
92512010-09-01 Colin Watson <cjwatson@ubuntu.com>
9252
9253 * NEWS: Document most of the important changes since 1.98.
9254
4066f57f
CW
92552010-09-01 Colin Watson <cjwatson@ubuntu.com>
9256
9257 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
9258 generated manual page) a little.
9259
da2891f9
CW
92602010-09-01 Colin Watson <cjwatson@ubuntu.com>
9261
9262 * docs/grub.texi: Add myself as an author.
9263
ad717fae
VS
92642010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
9265
9266 * Makefile.util.def (libgrub.a): Add missing sunpc.
9267 Reported by: Seth Goldberg.
9268
eefe8abd
VS
92692010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9270
9271 Interrupt wrapping and code simplifications.
9272
9494ef9a
VS
9273 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
9274 x86_noieee1275 which are functionaly equivalent in this case.
9275 (grub-install): Make source on each platform explicit. Enable on
9276 all noemu.
9277 * gentpl.py (x86_efi_pc): Removed group.
9278 (x86_noefi): Likewise.
9279 (i386_noefi): Likewise.
9280 (x86_noieee1275): Likewise.
9281 (i386_noieee1275): Likewise.
9282 (i386_noefi_noieee1275): Likewise.
9283 (i386_pc_qemu_coreboot): Likewise.
9284 (i386_coreboot_multiboot): Likewise.
9285 (i386_pc_coreboot_multiboot_qemu): Likewise.
9286 (x86_noefi_mips): Likewise.
9287 (noieee1275): Likewise.
9288 (ieee1275_mips): Likewise.
9289 (noemu_noieee1275): Likewise.
9290 (cmos): New group.
9291 (usb): Likewise.
9292 (videoinkernel): Likewise.
9293 (videomodules): Likewise.
eefe8abd 9294 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
9295 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
9296 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
9297 include/grub/loader.h, include/grub/msdos_partition.h,
9298 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
9299 include/grub/machine/console.h, include/grub/machine/vga.h,
9300 include/grub/machine/vbe.h, include/grub/machine/init.h,
9301 include/grub/machine/kernel.h, include/grub/cpu/time.h,
9302 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 9303 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
9304 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
9305 * grub-core/Makefile.core.def (kernel): Explicit the source for
9306 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
9307 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
9308 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
9309 Use videoinkernel tag.
9310 (usb): Enable on all usb.
9311 (usbserial_common): Likewise.
9312 (usbserial_pl2303): Likewise.
9313 (usbserial_ftdi): Likewise.
9314 (uhci): Enable on all x86.
9315 (ohci): Enable on all pci.
9316 (cmostest): Enable on all CMOS.
9317 (acpi): Include commands/acpi.c on all platforms.
9318 (halt): Add relevant lib/*/halt.c.
9319 (hdparm): Enable on all pci.
9320 (lspci): Likewise.
9321 (usbtest): Enable on all usb.
9322 (ata): Enable on all pci.
9323 (ata_pthru): Likewise.
9324 (usbms): Enable on all usb.
9325 (usb_keyboard): Likewise.
9326 (font): Use tag videomodules.
9327 (bufio): Likewise.
9328 (datetime): Use tag cmos. Enable on all noemu.
9329 (mmap): Use tags common and x86.
9330 (gfxterm): Use tag videomodules.
9331 (bitmap): Likewise.
9332 (bitmap_scale): Likewise.
9333 (video_fb): Likewise.
9334 (video): Likewise.
9335 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
9336 adjust padding accordingly. All users updated.
9337 (grub_ohci_transaction): Fix bad format specification.
9338 (GRUB_MOD_INIT): Add asserts for struct size.
9339 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
9340 (grub_alloc_td): Likewise.
9341 (grub_free_queue): Likewise.
9342 (grub_uhci_transfer): Likewise.
9343 (grub_uhci_transaction): Fix bad format specification.
9344 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
9345 (grub_usb_bulk_readwrite): Likewise.
9346 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
9347 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
9348 Made static.
9349 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
9350 Made static.
9351 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
9352 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
9353 Transformed into C.
9354 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
9355 Moved from here ...
9356 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
9357 ... here. Transformed into C. Made static.
9358 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
9359 Moved from here ...
9360 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
9361 ... here. Transformed into C. Made static.
9362 * grub-core/kern/i386/pc/startup.S
9363 (grub_biosdisk_check_int13_extensions): Moved from here ...
9364 * grub-core/disk/i386/pc/biosdisk.c
9365 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
9366 Made static.
9367 * grub-core/kern/i386/pc/startup.S
9368 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
9369 * grub-core/disk/i386/pc/biosdisk.c
9370 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
9371 Transformed into C. Made static.
9372 * grub-core/kern/i386/pc/startup.S
9373 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
9374 * grub-core/disk/i386/pc/biosdisk.c
9375 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
9376 Transformed into C. Made static.
9377 * grub-core/kern/i386/pc/startup.S
9378 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
9379 * grub-core/disk/i386/pc/biosdisk.c
9380 (grub_biosdisk_get_diskinfo_standard): ... here.
9381 Transformed into C. Made static.
9382 * grub-core/kern/i386/pc/startup.S
9383 (grub_biosdisk_get_num_floppies): Moved from here ...
9384 * grub-core/disk/i386/pc/biosdisk.c
9385 (grub_biosdisk_get_num_floppies): ... here.
9386 Transformed into C. Made static.
9387 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
9388 New function.
9389 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
9390 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
9391 Transformed into C. Made static.
9392 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
9393 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
9394 Transformed into C. Made static.
9395 * grub-core/kern/i386/ieee1275/init.c: Removed.
9396 * grub-core/kern/i386/misc.S: Likewise.
9397 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
9398 Splitted from here ...
9399 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
9400 Transformed into C. Made static. All users updated.
9401 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
9402 Transformed into C. Made static. All users updated.
9403 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
9404 Moved from here...
9405 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
9406 Transformed into C. Made static. All users updated.
9407 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
9408 Moved from here...
9409 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
9410 Transformed into C. Made static. All users updated.
9411 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
9412 Removed (replaced by C version).
9413 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
9414 Moved from here...
9415 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
9416 Transformed into C. Made static.
9417 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
9418 Moved from here...
9419 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
9420 ... here. Transformed into C.
9421 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
9422 Moved from here...
9423 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
9424 ... here. Transformed into C.
9425 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
9426 Moved from here...
9427 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
9428 ... here. Transformed into C. Made static.
9429 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
9430 Moved from here...
9431 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
9432 ... here. Transformed into C.
21ed554b
VS
9433 * grub-core/kern/i386/pc/startup.S
9434 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
9435 * grub-core/video/i386/pc/vbe.c
9436 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
9437 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
9438 Moved from here...
9439 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
9440 ... here. Transformed into C.
9441 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
9442 Moved from here...
9443 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
9444 ... here. Transformed into C.
9445 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
9446 Moved from here...
9447 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
9448 ... here. Transformed into C.
9449 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
9450 Moved from here...
9451 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
9452 ... here. Transformed into C.
9453 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
9454 Moved from here...
9455 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
9456 ... here. Transformed into C. Made static.
9457 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
9458 Moved from here...
9459 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
9460 ... here. Transformed into C. Made static.
9461 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
9462 Moved from here...
9463 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
9464 ... here. Transformed into C. Made static.
9465 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
9466 pxe_rm_entry as third argument.
9467 (grub_bios_interrupt): New function.
9468 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
9469 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
9470 of calling grub_stop.
9471 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
9472 * grub-core/lib/efi/halt.c (grub_halt): ...here.
9473 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
9474 * grub-core/lib/emu/halt.c (grub_halt): ... here.
9475 * grub-core/lib/i386/halt.c: Moved from here ...
9476 * grub-core/lib/i386/halt.c: ... here.
9477 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
9478 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
9479 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
9480 grub_stop_floppy.
9481 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
9482 * include/grub/i386/coreboot/init.h: Removed.
9483 * include/grub/i386/multiboot/init.h: Likewise.
9484 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
9485 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
9486 * include/grub/i386/pc/int.h: New file.
9487 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
9488 (grub_pxe_scan): Removed.
9489 (grub_pxe_call): Update prototype.
9490 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
9491 prototypes.
9492 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
9493 * include/grub/i386/qemu/init.h: Removed.
9494 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
9495 noreturn.
9496 (grub_halt): Likewise.
9497 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
9498 (grub_reboot): Likewise.
9499 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
9500 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
9501 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
9502
215dd471
RM
95032010-08-30 Robert Millan <rmh@gnu.org>
9504
9505 * NEWS: Document addition of ZFS support in `grub-install' and
9506 `grub-mkconfig'.
9507
ebd65b82
BC
95082010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
9509
9510 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
9511 dprintf output.
9512
11721d19
VS
95132010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9514
9515 Remove leftover embedding of font objects.
9516
9517 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
9518 * util/grub-install.in (font): Removed.
9519 * util/grub-mkimage.c (generate_image): Remove font support. All users
9520 updated.
9521
37837d4e
VS
95222010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9523
9524 Remove leftover embedding of font objects.
9525
9526 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
9527 * util/grub-install.in (font): Removed.
9528 * util/grub-mkimage.c (generate_image): Remove font support. All users
9529 updated.
9530
b4c1aae0
VS
95312010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9532
9533 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 9534 Reported by: Ian Turner
b4c1aae0 9535
8920a08d
VS
95362010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9537
9538 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
9539 timeout to avoid indefinite boot stalling.
9540
f21db033
VS
95412010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9542
9543 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
9544 (grub_env_write_color_highlight): Likewise.
9545
9a9de209
VS
95462010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9547
9548 * grub-core/normal/term.c (print_more): Return to normal and not
9549 to standard state after printing "---MORE---".
9550
3dca01d7
VS
95512010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9552
9553 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
9554 Mask out the bit 0x80 since it has other meaning that specifiing color.
9555
0b986c40
VS
95562010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9557
9558 New relocator. Allows for more kernel support and more straightforward
9559 loader writing.
9560
9561 * Makefile.am (BOOTTARGET): New variable.
9562 (QEMU32): Likewise.
9563 (linux.init.x86_64): New target.
9564 (linux.init.i386): Likewise.
9565 (multiboot.elf): Likewise.
9566 (kfreebsd.elf): Likewise.
9567 (kfreebsd.aout): Likewise.
9568 (pc-chainloader.elf): Likewise.
9569 (pc-chainloader.bin): Likewise.
9570 (ntldr.elf): Likewise.
9571 (ntldr.bin): Likewise.
9572 (multiboot2.elf): Likewise.
9573 (kfreebsd.init.x86_64): Likewise.
9574 (kfreebsd.init.i386): Likewise.
9575 (knetbsd.init.i386): Likewise.
9576 (kopenbsd.init.i386): Likewise.
9577 (knetbsd.init.x86_64): Likewise.
9578 (kopenbsd.init.x86_64): Likewise.
9579 (linux-initramfs.i386): Likewise.
9580 (linux-initramfs.x86_64): Likewise.
9581 (kfreebsd-mfsroot.i386.img): Likewise.
9582 (knetbsd.image.i386): Likewise.
9583 (kopenbsd.image.i386): Likewise.
9584 (kopenbsd.image.x86_64): Likewise.
9585 (knetbsd.miniroot-image.i386.img): Likewise.
9586 (kfreebsd-mfsroot.x86_64.img): Likewise.
9587 (knetbsd.image.x86_64): Likewise.
9588 (knetbsd.miniroot-image.x86_64.img): Likewise.
9589 (kfreebsd-mfsroot.i386.gz): Likewise.
9590 (bootcheck-kfreebsd-i386): Likewise.
9591 (kfreebsd-mfsroot.x86_64.gz): Likewise.
9592 (bootcheck-kfreebsd-x86_64): Likewise.
9593 (knetbsd.miniroot-image.i386.gz): Likewise.
9594 (bootcheck-knetbsd-i386): Likewise.
9595 (bootcheck-kopenbsd-i386): Likewise.
9596 (bootcheck-kopenbsd-x86_64): Likewise.
9597 (knetbsd.miniroot-image.x86_64.gz): Likewise.
9598 (bootcheck-knetbsd-x86_64): Likewise.
9599 (bootcheck-linux-i386): Likewise.
9600 (bootcheck-linux-x86_64): Likewise.
9601 (bootcheck-linux16-i386): Likewise.
9602 (bootcheck-linux16-x86_64): Likewise.
9603 (bootcheck-multiboot): Likewise.
9604 (bootcheck-multiboot2): Likewise.
9605 (bootcheck-kfreebsd-aout): Likewise.
9606 (bootcheck-pc-chainloader): Likewise.
9607 (bootcheck-ntldr): Likewise.
9608 (CLEANFILES): Add new targets.
9609 (BOOTCHECKS): New variable.
9610 (.PHONY): Add bootchecks.
9611 (SUCCESSFUL_BOOT_STRING): New variable.
9612 (BOOTCHECK_TIMEOUT): Likewise.
9613 (bootcheck): New target
9614 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
9615 * configure.ac: Correct efiemu excuse.
9616 * docs/grub.texi (Supported kernels): New chapter.
9617 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
9618 include/grub/mm_private.h. Simplify inclusion of
9619 include/grub/boot.h, include/grub/loader.h
9620 and include/grub/msdos_partition.h
9621 (KERNEL_HEADER_FILES) [i386_coreboot]:
9622 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
9623 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
9624 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
9625 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
9626 include/grub/machine/loader.h.
9627 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
9628 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
9629 extra_dist.
9630 (pci.mod): Enable on i386-multiboot.
9631 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
9632 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
9633 i386-qemu.
9634 (relocator.mod): Rewritten.
9635 (aout.mod): Enable on all x86.
9636 (bsd.mod): Likewise.
9637 (ntldr.mod): New module.
9638 (linux.mod): Use loader/i386/linux.c on all x86.
9639 (xnu.mod): Enable on all x86.
9640 (vga_text.mod): disable on EFI and QEMU.
9641 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
9642 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
9643 * grub-core/efiemu/loadcore.c: Likewise.
9644 * grub-core/efiemu/main.c: Likewise.
9645 (grub_efiemu_exit_boot_services): Removed.
9646 (grub_efiemu_finish_boot_services): Likewise.
9647 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
9648 function.
9649 * grub-core/efiemu/i386/nocfgtables.c: New file.
9650 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
9651 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
9652 (grub_efi_finish_boot_services): Moved from here ...
9653 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
9654 Fille finish memory map and related data.
9655 (finish_mmap_buf): New variable.
9656 (grub_efi_uintn_t finish_mmap_size): Likewise.
9657 (grub_efi_uintn_t finish_key): Likewise.
9658 (grub_efi_uintn_t finish_desc_size): Likewise.
9659 (grub_efi_uint32_t finish_desc_version): Likewise.
9660 (grub_efi_is_finished): Likewise.
9661 (grub_efi_get_memory_map): Use saved memory map if EFI is already
9662 finished.
9663 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
9664 (grub_elf64_phdr_iterate): Likewise.
9665 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
9666 (grub_os_area_size): Likewise.
9667 (grub_machine_init): Don't reserve os area.
9668 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
9669 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
9670 * grub-core/kern/i386/loader.S: Removed.
9671 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
9672 (grub_os_area_size): Likewise.
9673 (grub_machine_init): Don't reserve os area.
9674 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
9675 Don't call grub_dl_unload_all.
9676 Don't include loader.S.
9677 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
9678 Declare the memory after _end as available.
9679 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 9680 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 9681 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
9682 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
9683 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
9684 * include/grub/mm_private.h (grub_mm_header): ... here.
9685 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
9686 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
9687 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
9688 (grub_mm_region): ..here. Removed addr. Added pre_size.
9689 All users updated.
9690 * grub-core/kern/mm.c (base): Renamed to ...
9691 (grub_mm_base): ... this. Made global.
9692 (grub_real_malloc): Alloc from end of region.
9693 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
9694 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
9695 * grub-core/kern/powerpc/cache_flush.S: ... here.
9696 * grub-core/lib/efi/relocator.c: New file.
9697 * grub-core/lib/i386/relocator.c: Rewritten.
9698 * grub-core/lib/i386/relocator16.S: New file.
9699 * grub-core/lib/i386/relocator32.S: Likewise.
9700 * grub-core/lib/i386/relocator64.S: Likewise.
9701 * grub-core/lib/i386/relocator_asm.S: Rewritten.
9702 * grub-core/lib/i386/relocator_common.S: New file.
9703 * grub-core/lib/ieee1275/relocator.c: Likewise.
9704 * grub-core/lib/mips/relocator.c: Rewritten.
9705 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
9706 stylistic adjustments.
9707 * grub-core/lib/powerpc/relocator.c: New file.
9708 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
9709 * grub-core/lib/relocator.c: Rewritten.
9710 * grub-core/lib/x86_64/relocator_asm.S: New file.
9711 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
9712 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
9713 (bsd_tag): New struct.
9714 (tags): New variable.
9715 (tags_last): Likewise.
9716 (netbsd_module): New struct.
9717 (netbsd_mods): New variable.
9718 (netbsd_mods_last): Likewise.
9719 (openbsd_opts): New parameter "serial".
9720 (OPENBSD_SERIAL_ARG): New definition.
9721 (netbsd_opts): New parameter "serial".
9722 (NETBSD_SERIAL_ARG): New definition.
9723 (grub_freebsd_add_meta): Reorganised into ...
9724 (grub_bsd_add_meta): ...this. All users updated.
9725 (grub_freebsd_add_mmap): Reorganised into ...
9726 (generate_e820_mmap): ...this...
9727 (grub_bsd_add_mmap): ...and this. All users updated.
9728 (grub_freebsd_list_modules): Use tags.
9729 (grub_netbsd_add_meta_module): New function.
9730 (grub_netbsd_list_modules): Likewise.
9731 (grub_freebsd_boot): Use relocator and finish EFI.
9732 (grub_openbsd_boot): Likewise.
9733 (grub_netbsd_setup_video): New function.
9734 (grub_netbsd_add_modules): Likewise.
9735 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
9736 and finish EFI.
9737 (grub_bsd_unload): Unload tags.
9738 (grub_bsd_load_aout): Use relocator.
9739 (grub_bsd_elf32_size_hook): New function.
9740 (grub_bsd_elf32_hook): Use relocator.
9741 (grub_bsd_elf64_size_hook): New function.
9742 (grub_bsd_elf64_hook): Use relocator.
9743 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
9744 (grub_bsd_load): Zero-out openbsd_ramdisk.
9745 (grub_bsd_load): Use relocator.
9746 (grub_cmd_openbsd): Support serial.
9747 (grub_cmd_netbsd): Support modules.
9748 (grub_cmd_freebsd_module): Use relocator.
9749 (grub_netbsd_module_load): New function.
9750 (grub_cmd_netbsd_module): Likewise.
9751 (grub_cmd_openbsd_ramdisk): Likewise.
9752 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
9753 kopenbsd_ramdisk.
9754 (GRUB_MOD_FINI): Unregister new commands.
9755 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
9756 (grub_freebsd_load_elfmodule_obj): Use relocator.
9757 (grub_freebsd_load_elfmodule): Likewise.
9758 (grub_freebsd_load_elf_meta): Likewise.
9759 (grub_netbsd_load_elf_meta): New function.
9760 (grub_openbsd_find_ramdisk): Likewise.
9761 * grub-core/loader/i386/bsd_helper.S: Removed.
9762 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
9763 * grub-core/loader/i386/bsd_trampoline.S: Removed.
9764 * grub-core/loader/i386/efi/linux.c: Likewise.
9765 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
9766 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
9767 (DEFAULT_VIDEO_MODE): Likewise.
9768 (real_mode_target): New variable.
9769 (prot_mode_target): Likewise.
9770 (initrd_mem_target): Likewise.
9771 (relocator): Likewise.
9772 (efi_mmap_buf): Likewise.
9773 (efi_mmap_size): Likewise.
9774 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
9775 (free_pages): Use relocator.
9776 (allocate_pages): Account for efi_mmap and use relocator. Return error.
9777 (grub_linux_setup_video): Return error.
9778 (grub_linux_trampoline_start): Removed.
9779 (grub_linux_trampoline_end): Likewise.
9780 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
9781 andd video parameters depending on firmware.
9782 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
9783 [GRUB_MACHINE_EFI]: Pass EFI parameters.
9784 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
9785 (grub_cmd_initrd): Use relocator.
9786 * grub-core/loader/i386/linux_trampoline.S: Removed.
9787 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
9788 (elf_sec_entsize): Likewise.
9789 (elf_sec_shstrndx): Likewise.
9790 (elf_sections): Likewise.
9791 (grub_multiboot_load): Use relocator.
9792 (grub_multiboot_get_mbi_size): Account for sections.
9793 (grub_multiboot_make_mbi): Use relocator and support sections.
9794 (grub_multiboot_add_elfsyms): New function.
9795 (grub_multiboot_free_mbi): Free sections.
9796 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
9797 (grub_linux_real_target): Likewise.
9798 (grub_linux_real_chunk): Likewise.
9799 (grub_linux16_prot_size): Likewise.
9800 (grub_linux16_boot): Use relocator.
9801 (grub_linux_unload): Unload relocator.
9802 (grub_cmd_linux): Use relocator.
9803 (grub_cmd_initrd): Likewise.
9804 * grub-core/loader/i386/pc/ntldr.c: New file.
9805 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
9806 Don't try to guess CPU frequency.
9807 (grub_xnu_set_video): Stretch bitmap.
9808 (grub_xnu_boot): Use relocator.
9809 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
9810 (grub_linux_unload): Free relocator.
9811 (grub_linux_load32): Use relocator.
9812 (grub_linux_load64): Likewise.
9813 (grub_cmd_initrd): Likewise.
9814 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
9815 (grub_multiboot_unload): Unload relocator.
9816 (grub_cmd_multiboot): Use relocator.
9817 (grub_cmd_module): Likewise.
9818 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
9819 Use relocator and support sections.
9820 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
9821 (elf_sec_entsize): Likewise.
9822 (elf_sec_shstrndx): Likewise.
9823 (elf_sections): Likewise.
9824 (grub_multiboot_load): Use relocator.
9825 (grub_multiboot_get_mbi_size): Account for sections.
9826 (grub_multiboot_make_mbi): Use relocator and support sections.
9827 (grub_multiboot_add_elfsyms): New function.
9828 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
9829 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
9830 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
9831 Prototype changed. All users updated.
9832 (grub_xnu_align_heap): Simplified.
9833 (grub_xnu_writetree_toheap): Likewise.
9834 (grub_xnu_unload): Unload relocator.
9835 (grub_cmd_xnu_kernel): Use relocator.
9836 (grub_cmd_xnu_kernel64): Likewise.
9837 (grub_xnu_register_memory): Simplified.
9838 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
9839 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
9840 EFI is finished.
9841 (grub_console_checkkey): Likewise.
9842 (grub_console_getkey): Likewise.
9843 (grub_console_getwh): Likewise.
9844 (grub_console_getxy): Likewise.
9845 (grub_console_gotoxy): Likewise.
9846 (grub_console_cls): Likewise.
9847 (grub_console_setcolorstate): Likewise.
9848 (grub_console_setcursor): Likewise.
9849 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
9850 * grub-core/tests/boot/kbsd.init-i386.S: New file.
9851 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
9852 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
9853 * grub-core/tests/boot/kernel-8086.S: Likewise.
9854 * grub-core/tests/boot/kernel-i386.S: Likewise.
9855 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
9856 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
9857 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
9858 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
9859 * grub-core/tests/boot/knetbsd.cfg: Likewise.
9860 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
9861 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
9862 * grub-core/tests/boot/linux.cfg: Likewise.
9863 * grub-core/tests/boot/linux.init-i386.S: Likewise.
9864 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
9865 * grub-core/tests/boot/linux16.cfg: Likewise.
9866 * grub-core/tests/boot/multiboot.cfg: Likewise.
9867 * grub-core/tests/boot/multiboot2.cfg: Likewise.
9868 * grub-core/tests/boot/ntldr.cfg: Likewise.
9869 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
9870 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
9871 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
9872 New definition.
9873 * include/grub/dl.h (grub_dl_unload_all): Removed.
9874 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
9875 (grub_efi_finish_boot_services): Change prototype.
9876 (grub_efi_is_finished): New variable.
9877 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
9878 Changed prototype.
9879 (grub_efiemu_finish_boot_services): Removed.
9880 (grub_machine_efiemu_init_tables): New prototype.
9881 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
9882 (grub_elf64_phdr_iterate): Likewise.
9883 * include/grub/i386/bsd.h: Include relocator.h.
9884 (freebsd_tag_header): New struct.
9885 (grub_openbsd_bios_mmap): Removed.
9886 (grub_unix_real_boot): Removed.
9887 (grub_freebsd_load_elfmodule32): Changed prototype.
9888 (grub_freebsd_load_elfmodule_obj64): Likewise.
9889 (grub_freebsd_load_elf_meta32): Likewise.
9890 (grub_freebsd_load_elf_meta64): Likewise.
9891 (grub_freebsd_add_meta): Removed.
9892 (grub_netbsd_load_elf_meta32): New prototype.
9893 (grub_netbsd_load_elf_meta64): Likewise.
9894 (grub_bsd_add_meta): Likewise.
9895 (grub_openbsd_ramdisk_descriptor): New struct.
9896 (grub_openbsd_find_ramdisk32): New prototype.
9897 (grub_openbsd_find_ramdisk64): Likewise.
9898 * include/grub/i386/coreboot/loader.h: Removed.
9899 * include/grub/i386/efi/loader.h: Likewise.
9900 * include/grub/i386/ieee1275/loader.h: Likewise.
9901 * include/grub/i386/linux.h (linux_kernel_header): Change void *
9902 to grub_uint32_t.
9903 * include/grub/i386/loader.h: Removed.
9904 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
9905 value.
9906 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
9907 (grub_phys_addr_t): New type.
9908 (grub_vtop): New inline function.
9909 (grub_map_memory): Likewise.
9910 (grub_unmap_memory): Likewise.
9911 * include/grub/i386/multiboot/loader.h: Removed.
9912 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
9913 (NETBSD_BTINFO_CONSOLE): New definition.
9914 (NETBSD_BTINFO_SYMTAB): Likewise.
9915 (NETBSD_BTINFO_MODULES): Likewise.
9916 (NETBSD_BTINFO_FRAMEBUF): Likewise.
9917 (grub_netbsd_bootinfo): New struct.
9918 (grub_netbsd_btinfo_common): Use explicit bitsize.
9919 (grub_netbsd_btinfo_mmap_entry): Removed.
9920 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
9921 (grub_netbsd_btinfo_bootdisk): New struct.
9922 (grub_netbsd_btinfo_symtab): Likewise.
9923 (grub_netbsd_btinfo_serial): Likewise.
9924 (grub_netbsd_btinfo_modules): Likewise.
9925 (grub_netbsd_btinfo_framebuf): Likewise.
9926 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
9927 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
9928 Likewise.
9929 (grub_openbsd_bootargs): Use explicit bitsize.
9930 (grub_openbsd_bootarg_console): New struct.
9931 (GRUB_OPENBSD_COM_MAJOR): New definition.
9932 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
9933 * include/grub/i386/pc/efiemu.h: Removed.
9934 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
9935 * include/grub/i386/qemu/loader.h: Removed.
9936 * include/grub/i386/relocator.h: Rewritten.
9937 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
9938 * include/grub/mips/memory.h: New file.
9939 * include/grub/mips/multiboot.h: Rewritten.
9940 * include/grub/mips/relocator.h: Rewritten.
9941 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
9942 (grub_vtop): New function.
9943 (grub_map_memory): Likewise.
9944 (grub_unmap_memory): Likewise.
9945 * include/grub/misc.h (ALIGN_DOWN): New definition.
9946 * include/grub/mm.h (grub_mm_check_real): New proto.
9947 (GRUB_MM_CHECK): New definition.
9948 * include/grub/mm_private.h: New file.
9949 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
9950 (grub_multiboot_get_mbi_size): Removed.
9951 (grub_multiboot_make_mbi): Change prottype.
9952 (grub_multiboot_set_accepts_video): New proto.
9953 (grub_multiboot_add_elfsyms): Likewise.
9954 (grub_multiboot_payload_eip): New variable.
9955 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
9956 New prototype.
9957 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
9958 New definition.
9959 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
9960 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
9961 * include/grub/powerpc/ieee1275/loader.h: Removed.
9962 * include/grub/powerpc/memory.h: New file.
9963 * include/grub/powerpc/relocator.h: Likewise.
9964 * include/grub/relocator.h: Likewise.
9965 * include/grub/relocator_private.h: Likewise.
9966 * include/grub/sparc64/ieee1275/loader.h: Removed.
9967 * include/grub/x86_64/memory.h: New file.
9968 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
9969 (grub_xnu_heap_malloc): Likewise.
9970 (grub_xnu_heap_real_start): Removed.
9971 (grub_xnu_heap_start): Likewise.
9972 (grub_xnu_relocator): New variable.
9973 (grub_xnu_heap_target_start): Likewise.
9974 * tests/util/grub-shell.in: Support non-pc.
9975 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 9976
5303b85d
VS
99772010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9978
9979 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
9980 on malloc error.
9981 (grub_bidi_logical_to_visual): Check that malloc succeded.
9982 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
9983 puts.
9984 (grub_xputs_normal): Likewise.
9985
d768d159
VS
99862010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9987
9988 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
9989 extra_dist.
9990
99912010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9992
9993 * grub-core/efiemu/runtime/efiemu.sh: Removed.
9994
5bf84df4
VS
99952010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9996
9997 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
9998
3626810e
VS
99992010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10000
10001 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
10002 dprintf.
10003
a7363f53
BC
100042010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
10005
10006 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
10007
902f75f6
VS
100082010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10009
10010 * grub-core/normal/term.c (print_more): Fix a memory leak.
10011 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
10012 (grub_xputs_normal): Likewise.
10013
3c707967
VS
100142010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10015
10016 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
10017 the begining of the string
10018
2053cc07
VS
100192010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10020
10021 * grub-core/script/script.c (grub_script_parse): Free parsed on
10022 failure.
10023
46422ebf
VS
100242010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10025
10026 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
10027 on failure.
10028
9e0fa3f6
VS
100292010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10030
10031 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
10032 return.
10033
3393cf16
VS
100342010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10035
10036 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
10037 (scroll_up): Fix a memory leak.
10038
b17540cb
VS
100392010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10040
10041 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
10042 errors.
10043
67140446
VS
100442010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
10045
10046 Handle USB pendrives exposed as floppies.
10047
10048 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
10049 floppy.
10050 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
10051 Check for partitions on all devices.
10052
e35e46fc
VS
100532010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10054
10055 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
10056 (readkey): Likewise.
10057
d24c6190
BC
100582010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
10059
10060 Multiple variable names support to "export" command.
10061
10062 * normal/context.c (grub_cmd_export): "export" command supports
10063 multiple variable names.
10064
04ddcc6a
ST
100652010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
10066
10067 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
10068 --target=drive output to Mach device name.
10069
0c8b61d8
BC
100702010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
10071
10072 New Automake based build system for GRUB.
10073
10074 * ABOUT-NLS: New file.
10075 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
10076 in Makefile.util.def file.
10077 * Makefile.util.def: New file. Autogen build definitions file for
10078 GRUB host utils.
10079 * conf/Makefile.common: New file. Common variables for GRUB host
10080 utils and target modules.
10081 * conf/Makefile.extra-dist: New file. Extra files for make dist.
10082 * docs/Makefile.am: New file. Automake file for docs.
10083 * gentpl.py: New file. Python script to generate Autogen
10084 template.
10085 * grub-core/Makefile.am: New file. GRUB target modules' rules
10086 that doesn't fit in Makefile.core.def file.
10087 * grub-core/Makefile.core.def: New file. Autogen build
10088 definitions file for GRUB target modules.
10089 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
10090 specific setjmp.S file.
10091 * po/Makefile.am: New file.
10092
10093 * .bzrignore: New ignores.
10094 * INSTALL: New requirements, without Ruby.
10095 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
10096 * autogen.sh: Updated to invoke autogen as necessary.
10097 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
10098 and defines for Automake conditionals.
10099 * geninit.sh: Refactoring.
10100
10101 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
10102 necessary.
10103 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
10104 New prototype.
10105
10106 * include/grub/test.h: Fix functional test modules' naming.
10107 * grub-core/tests/example_functional_test.c: Fix test module name.
10108
10109 * util/misc.c: Hosted versions' of grub functions for libgrub.a
10110 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
10111 * util/grub-editenv.c: Likewise.
10112 * util/grub-fstest.c: Likewise.
10113 * util/grub-mkdevicemap.c: Likewise.
10114 * util/grub-mkfont.c: Likewise.
10115 * util/grub-mkimage.c: Likewise.
10116 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10117 * util/grub-probe.c: Likewise.
10118 * util/grub-script-check.c: Likewise.
10119 * util/i386/pc/grub-setup.c: Likewise.
10120 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10121
10122 * tests/util/grub-shell.in: Fix override directory path.
10123 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
10124 * util/import_gcry.py: Create Makefile.gcry.def file instead.
10125
10126 * util/lvm.c: Update #includes.
10127 * util/raid.c: Likewise.
10128 * util/resolve.c: Likewise.
10129 * grub-core/bus/emu/pci.c: Likewise.
10130 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
10131 * grub-core/lib/posix_wrap/string.h: Likewise.
10132 * grub-core/kern/emu/main.c: Likewise.
10133
10134 * grub-core/gensymlist.sh: New file. Script for generating kernel
10135 symbols file.
10136 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
10137
10138 * grub-core/gentrigtables.c: Fix unused variable warnings.
10139
10140 * Makefile.in: Removed.
10141 * conf/any-emu.rmk: Removed.
10142 * conf/common.rmk: Removed.
10143 * conf/i386-coreboot.rmk: Removed.
10144 * conf/i386-efi.rmk: Removed.
10145 * conf/i386-ieee1275.rmk: Removed.
10146 * conf/i386-multiboot.rmk: Removed.
10147 * conf/i386-pc.rmk: Removed.
10148 * conf/i386-qemu.rmk: Removed.
10149 * conf/i386.rmk: Removed.
10150 * conf/mips-yeeloong.rmk: Removed.
10151 * conf/mips.rmk: Removed.
10152 * conf/powerpc-ieee1275.rmk: Removed.
10153 * conf/sparc64-ieee1275.rmk: Removed.
10154 * conf/tests.rmk: Removed.
10155 * conf/x86-efi.rmk: Removed.
10156 * conf/x86_64-efi.rmk: Removed.
10157 * gendistlist.sh: Removed.
10158 * geninitheader.sh: Removed.
10159 * genkernsyms.sh.in: Removed.
10160 * genmk.rb: Removed.
10161 * gensymlist.sh.in: Removed.
10162 * mkinstalldirs: Removed.
10163 * boot: Moved ...
10164 * grub-core/boot: ... to here.
10165 * bus: Moved ...
10166 * grub-core/bus: ... to here.
10167 * commands: Moved ...
10168 * grub-core/commands: ... to here.
10169 * disk: Moved ...
10170 * grub-core/disk: ... to here.
10171 * efiemu: Moved ...
10172 * grub-core/efiemu: ... to here.
10173 * font: Moved ...
10174 * grub-core/font: ... to here.
10175 * fs: Moved ...
10176 * grub-core/fs: ... to here.
10177 * gencmdlist.sh: Moved ...
10178 * grub-core/gencmdlist.sh: ... to here.
10179 * genemuinit.sh: Moved ...
10180 * grub-core/genemuinit.sh: ... to here.
10181 * genemuinitheader.sh: Moved ...
10182 * grub-core/genemuinitheader.sh: ... to here.
10183 * genfslist.sh: Moved ...
10184 * grub-core/genfslist.sh: ... to here.
10185 * genhandlerlist.sh: Moved ...
10186 * grub-core/genhandlerlist.sh: ... to here.
10187 * genmoddep.awk: Moved ...
10188 * grub-core/genmoddep.awk: ... to here.
10189 * genmodsrc.sh: Moved ...
10190 * grub-core/genmodsrc.sh: ... to here.
10191 * genpartmaplist.sh: Moved ...
10192 * grub-core/genpartmaplist.sh: ... to here.
10193 * genparttoollist.sh: Moved ...
10194 * grub-core/genparttoollist.sh: ... to here.
10195 * genterminallist.sh: Moved ...
10196 * grub-core/genterminallist.sh: ... to here.
10197 * gentrigtables.c: Moved ...
10198 * grub-core/gentrigtables.c: ... to here.
10199 * genvideolist.sh: Moved ...
10200 * grub-core/genvideolist.sh: ... to here.
10201 * gettext: Moved ...
10202 * grub-core/gettext: ... to here.
10203 * gfxmenu: Moved ...
10204 * grub-core/gfxmenu: ... to here.
10205 * gnulib: Moved ...
10206 * grub-core/gnulib: ... to here.
10207 * hello: Moved ...
10208 * grub-core/hello: ... to here.
10209 * hook: Moved ...
10210 * grub-core/hook: ... to here.
10211 * io: Moved ...
10212 * grub-core/io: ... to here.
10213 * kern: Moved ...
10214 * grub-core/kern: ... to here.
10215 * lib: Moved ...
10216 * grub-core/lib: ... to here.
10217 * loader: Moved ...
10218 * grub-core/loader: ... to here.
10219 * mmap: Moved ...
10220 * grub-core/mmap: ... to here.
10221 * normal: Moved ...
10222 * grub-core/normal: ... to here.
10223 * partmap: Moved ...
10224 * grub-core/partmap: ... to here.
10225 * parttool: Moved ...
10226 * grub-core/parttool: ... to here.
10227 * script: Moved ...
10228 * grub-core/script: ... to here.
10229 * term: Moved ...
10230 * grub-core/term: ... to here
10231 * tests/example_functional_test.c: Moved ...
10232 * grub-core/tests/example_functional_test.c: ... to here.
10233 * tests/lib/functional_test.c: Moved ...
10234 * grub-core/tests/lib/functional_test.c: ... to here.
10235 * tests/lib/test.c: Moved ...
10236 * grub-core/tests/lib/test.c: ... to here.
10237 * video: Moved ...
10238 * grub-core/video: ... to here.
10239
645586e6
BC
102402010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
10241
10242 Replace --enable-grub-emu-modules with grub-emu-lite.
10243
10244 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
10245 cache.S.
10246
10247 * include/grub/emu/misc.h (grub_emu_init): New prototype.
10248 * kern/emu/full.c: New file. For grub-emu specific initialization.
10249 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
10250 * kern/emu/main.c: Call initialization function grub_emu_init.
10251
10252 * Makefile.in: Include grub-emu-lite in install.
10253 * commands/parttool.c: Use grub_no_autoload to differentiate
10254 between grub-emu and grub-emu-lite.
10255 * include/grub/misc.h: New variable grub_no_autoload.
10256
10257 * conf/any-emu.rmk: New rules for grub-emu-lite.
10258 * configure.ac: Remove --enable-grub-emu-modules.
10259 * genmk.rb: Cleanup unnecessary rules.
10260 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
10261
10262 * normal/main.c: Don't load list files on grub-emu-lite.
10263 * util/misc.c (grub_arch_sync_caches): Removed.
10264
f86a4030
CW
102652010-08-23 Colin Watson <cjwatson@ubuntu.com>
10266
10267 * kern/mips/startup.S (grub_prefix): Update comment to refer to
10268 grub-mkimage rather than grub-mkelfimage.
10269 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
10270
06776944
VS
102712010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
10272
10273 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
10274 a key after CapsLock or NumLock. It's just a qemu bug.
10275
df262419
VS
102762010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
10277
10278 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
10279 needed by libusb wrapper.
10280
b40ea81b
ST
102812010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
10282
10283 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
10284
dee50575
VS
102852010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
10286
10287 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
10288 --nounzip is passed.
10289
fb1d7b79
VS
102902010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
10291
10292 USB hotunplugging and USB serial support.
10293
10294 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
10295 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
10296 (grub_uhci_transfer): Respect timeout and set *actual.
10297 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
10298 non-standard length.
10299 (grub_usb_device_attach): Autoload modules.
10300 (GRUB_MOD_INIT): Set grub_term_poll_usb.
10301 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
10302 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
10303 users updated.
10304 (grub_usb_add_hub): Fill nports and children.
10305 (attach_root_port): Receive hub instead of controller.
10306 All users updated. Fill hub->devices.
10307 (grub_usb_root_hub): Allocate hub->devices.
10308 (detach_device): New function.
10309 (poll_nonroot_hub): Fill children and detach devices.
10310 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
10311 actual arguments. All users updated.
10312 (grub_usb_bulk_read_extended): New function.
10313 * bus/usb/serial/common.c: New file.
10314 * bus/usb/serial/ftdi.c: Likewise.
10315 * bus/usb/serial/pl2303.c: Likewise.
10316 * commands/terminal.c (handle_command): Support wildcard.
10317 * commands/usbtest.c: Output "Unknown" instead of empty string.
10318 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
10319 (usbserial_common_mod_SOURCES): New variable.
10320 (usbserial_common_mod_CFLAGS): Likewise.
10321 (usbserial_common_mod_LDFLAGS): Likewise.
10322 (pkglib_MODULES): Add usbserial_pl2303.mod.
10323 (usbserial_pl2303_mod_SOURCES): New variable.
10324 (usbserial_pl2303_mod_CFLAGS): Likewise.
10325 (usbserial_pl2303_mod_LDFLAGS): Likewise.
10326 (pkglib_MODULES): Add usbserial_ftdi.mod.
10327 (usbserial_ftdi_mod_SOURCES): New variable.
10328 (usbserial_ftdi_mod_CFLAGS): Likewise.
10329 (usbserial_ftdi_mod_LDFLAGS): Likewise.
10330 (pkglib_MODULES): Add serial.mod.
10331 (serial_mod_SOURCES): New variable.
10332 (serial_mod_CFLAGS): Likewise.
10333 (serial_mod_LDFLAGS): Likewise.
10334 * conf/i386-pc.rmk: Likewise.
10335 * conf/mips-yeeloong.rmk: Likewise.
10336 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
10337 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
10338 * disk/usbms.c (first_available_slot): New variable.
10339 (grub_usbms_attach): Don't reuse free slots due to potential cache
10340 problems.
10341 * include/grub/serial.h: Moved to ..
10342 * include/grub/ns8250.h: ...this.
10343 * include/grub/serial.h: New file.
10344 * include/grub/term.h (grub_term_poll_usb): New variable.
10345 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
10346 readkey. All users updated.
10347 (grub_terminfo_output_state): Pass term to put.
10348 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
10349 (grub_usb_controller_dev): Add timeout and actual arguments to
10350 transfer. All users updated.
10351 (grub_usb_interface): New field detach_data.
10352 (grub_usb_device): New fields children and nports.
10353 (grub_usb_ep_type_t): New type.
10354 (grub_usb_get_ep_type): New function.
10355 (grub_usb_bulk_read_extended): Likewise.
10356 * include/grub/usbdesc.h (grub_usb_desc): New type.
10357 * include/grub/usbserial.h: New file.
10358 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
10359 * kern/term.c (grub_term_poll_usb): New variable.
10360 (grub_getkey): Call grub_term_poll_usb if set.
10361 (grub_checkkey): Likewise.
10362 (grub_getkeystatus): Likewise.
10363 * term/serial.c: Moved controller-specific parts to ...
10364 * term/ns8250.c: ... here.
10365 * term/serial.c: Mostly rewritten.
10366 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
10367 according to spec.
10368
21a313de
RM
103692010-08-20 Robert Millan <rmh@gnu.org>
10370
10371 Make kFreeBSD code more generic to support ext2fs as root, ufs as
10372 a separate module and maybe other interesting combinations.
10373
10374 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
10375 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
10376 (kfreebsd_entry): Add generic filesystem module load routine.
10377 Map GRUB `ext2' to kFreeBSD `ext2fs'.
10378
63c734a6
CW
103792010-08-20 Colin Watson <cjwatson@ubuntu.com>
10380
10381 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
10382 "numcenter" (I misunderstood the purpose of this entry).
10383 * docs/grub.texi (sendkey): Likewise.
10384
c4d16542
CW
103852010-08-20 Colin Watson <cjwatson@ubuntu.com>
10386
10387 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
10388 status flag options; simply omitting the option is equivalent and
10389 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
10390 (keysym_table): Rename "num5numlock" to "numlock".
10391 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
10392 can uniformly say that only the last of multiple `sendkey'
10393 invocations has any effect.
10394 * docs/grub.texi (sendkey): New section.
10395
93541d66
CW
103962010-08-19 Colin Watson <cjwatson@ubuntu.com>
10397
10398 * commands/i386/pc/sendkey.c (options): Fix three typos.
10399
b4ece5e1
VS
104002010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10401
10402 Implement sendkey support.
10403
10404 * commands/i386/pc/sendkey.c: New file.
10405 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
10406 (sendkey_mod_SOURCES): New variable.
10407 (sendkey_mod_CFLAGS): Likewise.
10408 (sendkey_mod_LDFLAGS): Likewise.
10409
51f1f5af
CW
104102010-08-18 Colin Watson <cjwatson@ubuntu.com>
10411
10412 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
10413 fix warnings from Autoconf.
10414
9da94e05
CW
104152010-08-18 Colin Watson <cjwatson@ubuntu.com>
10416
10417 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
10418 to avoid false positives with some assemblers that output things
10419 like "someprefix_func" as part of their output.
10420
729a0f2e
RM
104212010-08-15 Robert Millan <rmh@gnu.org>
10422
10423 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
10424 errors.
10425 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
10426 grub_get_libzfs_handle() errors.
10427
f3710e08
RM
104282010-08-14 Robert Millan <rmh@gnu.org>
10429
10430 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
10431 filesystem is not ZFS.
10432
7a3c13de
BC
104332010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10434
10435 Fix for misspelled color names defaulting to black/black (bug
10436 reported by Doug Nazar)
10437
10438 * include/grub/normal.h (grub_parse_color_name_pair): Add return
10439 status to prototype.
10440 * normal/color.c (grub_parse_color_name_pair): Return failure
10441 status.
10442 (grub_env_write_color_normal): Ignore bad color names.
10443 (grub_env_write_color_highlight): Likewise.
10444 * normal/main.c (GRUB_MOD_INIT): Set default color names.
10445
ab8ba50d
BC
104462010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10447
10448 "shift" command support to GRUB script.
10449
10450 * include/grub/script_sh.h (grub_script_shift): New prototype.
10451 * script/execute.c (grub_script_shift): New function.
10452 * script/main.c (grub_script_init): Register shift command.
10453 (grub_script_fini): Unregister shift command.
10454 * util/grub-script-check.c (grub_script_cmd_shift): New function.
10455
10456 * tests/grub_script_shift.in: New testcase.
10457 * conf/tests.rmk: Rules for new testcase.
10458
4d61999e
BC
104592010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10460
10461 "continue" command support to GRUB script.
10462
10463 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
10464 (grub_script_break): Continue support.
10465 * script/main.c (grub_script_init): Register continue command.
10466 (grub_script_fini): Unregister continue command.
10467
10468 * tests/grub_script_continue.in: New testcase.
10469 * conf/tests.rmk: Rules for new testcase.
10470
4df51e00
BC
104712010-08-12 BVK Chaitanya <bvk@dbook>
10472
10473 "break" command support to GRUB script.
10474
10475 * conf/common.rmk: Rule updates to grub-script-check.
10476 * include/grub/misc.h (grub_min): New function.
10477 * include/grub/script_sh.h (grub_script_init): New prototype.
10478 (grub_script_fini): New prototype.
10479 (grub_script_break): New prototype.
10480 * script/main.c (grub_script_init): New function.
10481 (grub_script_fini): New function.
10482 * script/execute.c (grub_script_break): New function.
10483 * normal/main.c: Calls to grub_script_{init,fini}.
10484 * util/grub-script-check.c (grub_script_break): New function.
10485
10486 * tests/grub_script_break.in: New testcase.
10487 * conf/tests.rmk: Rules for new test case.
10488
f12c8420
BC
104892010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10490
10491 Function parameters support to GRUB script.
10492
10493 * script/yylex.l (VARIABLE): Regular expression update.
10494 * script/function.c (grub_script_function_call): Moved ...
10495 * script/execute.c (grub_script_function_call): ... to here.
10496 (grub_script_execute_arglist_to_argv): Removed.
10497 (grub_script_arglist_to_argv): New function.
10498 * script/argv.c: New file.
10499 (grub_script_argv_free): New function.
10500 (grub_script_argv_next): Likewise.
10501 (grub_script_argv_append): Likewise.
10502 (grub_script_argv_split_append): Likewise.
10503 * include/grub/script_sh.h (grub_script_argv): New struct.
10504 (grub_script_argv_free): New function.
10505 (grub_script_argv_next): Likewise.
10506 (grub_script_argv_append): Likewise.
10507 (grub_script_argv_split_append): Likewise.
10508
10509 * conf/common.rmk (normal.mod): New source script/argv.c.
10510
10511 * tests/grub_script_echo1.in: More tests.
10512 * tests/grub_script_vars1.in: Likewise.
10513 * tests/grub_script_functions.in: New test case.
10514 * conf/tests.rmk: Rules for new testcase.
10515
8022b748
BC
105162010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10517
10518 Remove grub_script_cmdblock struct.
10519
10520 * include/grub/script_sh.h: Remove grub_script_cmdblock.
10521 * script/parser.y: Likewise.
10522 * script/execute.c: Rename cmdblock suffix to cmdlist.
10523 * script/script.c: Likewise.
10524 * util/grub-script-check.c: Likewise.
10525
79a6ba61
YB
105262010-08-11 Yves Blusseau <blusseau@zetam.org>
10527
10528 * .bzrignore: add grub-macho2img
10529
d04b9414
VS
105302010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
10531
10532 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
10533
f947ab49
VS
105342010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
10535
10536 Remove the dump of sm712 initialisation sequence.
10537
10538 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
10539 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
10540 (GRUB_VGA_IO_MISC_WRITE): Likewise.
10541 (GRUB_VGA_CR_*): Added many registers.
10542 (GRUB_VGA_SR_*): Likewise.
10543 (GRUB_VGA_GR_*): Likewise.
10544 (grub_vga_write_arx): New function.
10545 (grub_video_hw_config): New struct.
10546 (grub_vga_set_geometry): New function.
10547 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
10548 GRUB_PCI_CLASS_SUBCLASS_VGA.
10549 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
10550 * video/sm712.c (grub_sm712_write_reg): New function
10551 (grub_sm712_read_reg): Likewise.
10552 (grub_sm712_sr_write): Likewise.
10553 (grub_sm712_gr_write): Likewise.
10554 (grub_sm712_cr_write): Likewise.
10555 (grub_sm712_write_arx): Likewise.
10556 (grub_sm712_cr_shadow_write): Likewise.
10557 (grub_sm712_write_dda_lookup): Likewise.
10558 (grub_video_sm712_setup): Initialise the video rather then
10559 blindly replay the dump.
10560 (main) [TEST]: Add a routine to be able to compile as standalone for
10561 tests.
10562 * video/sm712_init.c (sm712_init): Removed.
10563 (sm712_sr_seq1): New array.
10564 (sm712_sr_seq2): Likewise.
10565
f0206638
VS
105662010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
10567
10568 * include/grub/vga.h: Add missing grub/pci.h include.
10569
2764da3b
YB
105702010-08-10 Yves Blusseau <blusseau@zetam.org>
10571
10572 * util/grub-macho2img.c (main): fix typo
10573
cf0c775e
VS
105742010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
10575
10576 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
10577 (grub_vga_gr_read): Likewise.
10578 (grub_vga_cr_write): Likewise.
10579 (grub_vga_cr_read): Likewise.
10580 (grub_vga_sr_write): Likewise.
10581 (grub_vga_sr_read): Likewise.
10582 (grub_vga_palette_read): Likewise.
10583 (grub_vga_palette_write): Likewise.
10584 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
10585 (grub_sm712_sr_read): New function.
10586 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
10587 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
10588
07f360e9
RM
105892010-08-09 Robert Millan <rmh@gnu.org>
10590
10591 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
10592 out unused variables on non-ZFS build.
10593
346c2072
RM
105942010-08-08 Robert Millan <rmh@gnu.org>
10595
10596 Fix path generation for sub-filesystems in ZFS.
10597
10598 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
10599 missing slash.
10600
71175420
RM
106012010-08-08 Robert Millan <rmh@gnu.org>
10602
10603 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
10604
0d8286f3
RM
106052010-08-08 Robert Millan <rmh@gnu.org>
10606
10607 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
10608 exist, issue a proper error message (rely on `ls' for translated
10609 strings).
10610
55dd2924
RM
106112010-08-08 Robert Millan <rmh@gnu.org>
10612
10613 Fix grub-probe invocation.
10614
10615 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
10616
d3dd9e80
RM
106172010-08-04 Robert Millan <rmh@gnu.org>
10618
10619 * configure.ac: Remove checks for getfsstat() and getmntany().
10620 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
10621 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
10622 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
10623 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
10624 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
10625 function.
10626 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
10627 via find_mount_point_from_dir() and getfsstat() / getmntany().
10628
0de22aa9
RM
106292010-08-04 Robert Millan <rmh@gnu.org>
10630
10631 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
10632 (grub_find_zpool_from_mount_point): Merge into ...
10633 (grub_find_zpool_from_dir): ... this.
10634 * kern/emu/misc.c: Likewise.
10635
10636 * kern/emu/misc.c
10637 (grub_make_system_path_relative_to_its_root): Replace
10638 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
10639 with grub_find_zpool_from_dir().
10640 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
10641
62858144
RM
106422010-08-04 Robert Millan <rmh@gnu.org>
10643
10644 Support OpenSolaris in ZFS device resolution.
10645
10646 * configure.ac: Check for getmntany().
10647 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
10648 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
10649 support.
10650
9dd6fd50
RM
106512010-08-03 Robert Millan <rmh@gnu.org>
10652
10653 Fix grub-emu build.
10654
10655 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
10656 * include/grub/emu/misc.h: ... here.
10657
10658 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
10659 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
10660
10661 * util/misc.c: Remove `<grub/util/libzfs.h>'.
10662 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
10663 (grub_get_libzfs_handle): Move to ...
10664 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
10665 (grub_get_libzfs_handle): ... here.
10666
c9f7ff97
BC
106672010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
10668
10669 * script/execute.c (grub_script_execute_cmdline): Check for NULL
10670 as command name case.
10671
a870a783
CW
106722010-08-02 Colin Watson <cjwatson@ubuntu.com>
10673
10674 * disk/raid.c (insert_array): Select unique numbers for named arrays
10675 as well, for use as keys in the disk cache.
10676
c7db243b
RM
106772010-08-01 Robert Millan <rmh@gnu.org>
10678
10679 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
10680 kFreeBSD device name, except on ZFS where the filesystem label is
10681 used.
10682 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
10683 `/boot/zfs/zpool.cache'.
10684 Set mountfrom kernel variable using ${kfreebsd_device}.
10685
f7abdefb
RM
106862010-08-01 Robert Millan <rmh@gnu.org>
10687
10688 Make it even harder to use uninitialized `libzfs_handle' (and
10689 make the interface a bit simpler).
10690
10691 * include/grub/util/misc.h (grub_util_init_libzfs)
10692 (libzfs_handle): Remove.
10693 (grub_get_libzfs_handle): New prototype.
10694
10695 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
10696 attribute.
10697 (grub_util_init_libzfs): Remove.
10698 (grub_get_libzfs_handle): New function.
10699
10700 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
10701 grub_get_libzfs_handle() to obtain a libzfs handle instead of
10702 accessing `libzfs_handle' directly.
10703
c882acc0
RM
107042010-08-01 Robert Millan <rmh@gnu.org>
10705
10706 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
10707 (grub_find_zpool_from_mount_point): New function prototypes.
10708
10709 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
10710 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
10711
10712 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
10713 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
10714 `static' attribute.
10715
10716 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
10717 finding zpool from mount point into ...
10718 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
10719
10720 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
10721 requested path is part of a ZFS pool, use
10722 grub_find_zpool_from_mount_point() to detect its filesystem name,
10723 and generate a path with `/fsname@path' syntax.
10724
8bfe31d8
CW
107252010-08-01 Colin Watson <cjwatson@ubuntu.com>
10726
10727 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
10728 (void) rather than () so that this is a proper prototype.
10729
553df63d
VS
107302010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10731
10732 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
10733
8687cf07
VS
107342010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10735
10736 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
10737 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
10738
ea9be8ea
CW
107392010-08-01 Colin Watson <cjwatson@ubuntu.com>
10740
10741 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
10742
6eea041a
CW
107432010-08-01 Colin Watson <cjwatson@ubuntu.com>
10744
10745 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
10746
2cfb45df
CW
107472010-08-01 Colin Watson <cjwatson@ubuntu.com>
10748
10749 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
10750 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
10751 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
10752 disable gfxpayload.
10753 (Shell-like scripting): Add real content.
10754 (Serial terminal): Suggest `terminal_input serial; terminal_output
10755 serial' rather than putting the two commands on separate lines,
10756 since console input will be inoperative after the first command.
10757 (menuentry): Document --class, --users, and --hotkey options.
10758 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
10759 Vladimir Serbinenko).
10760
7decd202
VS
107612010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
107622010-08-01 Colin Watson <cjwatson@ubuntu.com>
10763
10764 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
10765
c882acc0
RM
107662010-08-01 Robert Millan <rmh@gnu.org>
10767
10768 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
10769 (grub_find_zpool_from_mount_point): New function prototypes.
10770
10771 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
10772 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
10773
10774 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
10775 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
10776 `static' attribute.
10777
10778 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
10779 finding zpool from mount point into ...
10780 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
10781
10782 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
10783 requested path is part of a ZFS pool, use
10784 grub_find_zpool_from_mount_point() to detect its filesystem name,
10785 and generate a path with `/fsname@path' syntax.
10786
deb0caa3
RM
107872010-08-01 Robert Millan <rmh@gnu.org>
10788
10789 Prevent accidental use of uninitialized libzfs_handle.
10790
10791 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
10792 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
10793 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
10794
ce04ef47
CW
107952010-08-01 Colin Watson <cjwatson@ubuntu.com>
10796
10797 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
10798 util/grub.d/10_linux.in). Fixes Debian bug #591093.
10799
ebf53056
RM
108002010-08-01 Robert Millan <rmh@gnu.org>
10801
10802 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 10803
3710bb6b
RM
108042010-07-31 Robert Millan <rmh@gnu.org>
10805
10806 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
10807
8072efeb
RM
108082010-07-31 Robert Millan <rmh@gnu.org>
10809
10810 * kern/emu/misc.c: Add missing license header.
10811
3169f4c7
RM
108122010-07-31 Robert Millan <rmh@gnu.org>
10813
10814 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
10815
10816 * include/grub/util/libnvpair.h: Include `<config.h>'.
10817 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
10818 declaring libnvpair prototypes ourselves.
10819 * include/grub/util/libzfs.h: Include `<config.h>'.
10820 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
10821 declaring libzfs prototypes ourselves.
10822
10823 (libzfs_handle): Moved to ...
10824 * include/grub/util/misc.h (libzfs_handle): ... here.
10825 Include `<grub/util/libzfs.h>'.
10826
c9a00aee
RM
108272010-07-30 Robert Millan <rmh@gnu.org>
10828
10829 * include/grub/emu/misc.h: Add missing license header.
10830
a184f9c8
RM
108312010-07-30 Robert Millan <rmh@gnu.org>
10832
10833 Enable `grub-probe -t device' resolution on ZFS.
10834
10835 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
10836 * include/grub/util/libnvpair.h: New file.
10837 * include/grub/util/libzfs.h: New file.
10838
10839 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
10840 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
10841 `<grub/util/libnvpair.h>'.
10842 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
10843
10844 (find_mount_point_from_dir): New static function.
10845 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
10846 function.
10847 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
10848 find_root_device_from_libzfs() before ressorting to find_root_device().
10849
10850 * include/grub/util/misc.h (grub_util_init_libzfs): New function
10851 prototype.
10852 * util/misc.c: Include `<grub/util/libzfs.h>'.
10853 (grub_util_init_libzfs): New function.
10854 [HAVE_LIBZFS] (libzfs_handle): New global variable.
10855 [HAVE_LIBZFS] (fini_libzfs): New static function.
10856 (grub_util_init_libzfs): New function.
10857 * util/grub-probe.c (main): Call grub_util_init_libzfs().
10858
f7790cdd
RM
108592010-07-30 Robert Millan <rmh@gnu.org>
10860
10861 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
10862 (xmalloc, xrealloc, xstrdup, xasprintf): Add
10863 `warn_unused_result' attribute.
10864 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
10865 (grub_xasprintf, grub_xvasprintf): Likewise.
10866 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
10867
0806b63c
RM
108682010-07-29 Robert Millan <rmh@gnu.org>
10869
10870 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
10871 (probe): Handle `PRINT_FS_LABEL'.
10872 (main): Handle `-t fs_label'.
10873
9f841f5c
RM
108742010-07-29 Robert Millan <rmh@gnu.org>
10875
10876 * configure.ac: Remove grub-mkisofs checks.
10877
46371121
VS
108782010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
10879
10880 * util/ieee1275/grub-install.in: Don't use empty grub_device.
10881 Reported by: Lennart Sorensen.
10882
108832010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10884
10885 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
10886 prior to terminal_input/terminal_output separation. It's been over 1.5
10887 years and those versions weren't widely deployed.
10888
a9600892
CW
108892010-07-22 Colin Watson <cjwatson@ubuntu.com>
10890
10891 * disk/raid.c (insert_array): Don't count named arrays when looking
10892 for unused array numbers.
697e053c 10893 Reported and tested by: Michael Guntsche.
a9600892 10894
c03507df
CW
108952010-07-20 Colin Watson <cjwatson@ubuntu.com>
10896
10897 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
10898 implementation of this so that grub-emu links again, with a note
10899 that this should support hotplugging in the future.
10900
b26f1c11
CW
109012010-07-20 Colin Watson <cjwatson@ubuntu.com>
10902
10903 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
10904
efc9d7f1
CW
109052010-07-20 Colin Watson <cjwatson@ubuntu.com>
10906
10907 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
10908 handle on failure.
10909 (grub_loopback_close): Remove empty function.
10910 (grub_loopback_dev): Remove close method.
10911
dd8ff5c9
CW
109122010-07-20 Colin Watson <cjwatson@ubuntu.com>
10913
10914 Disable EFI cursor when the EFI console becomes inactive.
10915
10916 * term/efi/console.c (grub_efi_console_init): New function.
10917 (grub_efi_console_fini): New function.
10918 (grub_console_term_output): Register init and fini methods.
10919
5e3bec67
VS
109202010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10921
10922 * tests/util/grub-shell-tester.in: Remove bashism and declare as
10923 sh script.
10924
afaec079
VS
109252010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10926
10927 * disk/loopback.c (grub_loopback): Replace filename with file.
10928 (delete_loopback): Handle new semantics.
10929 (grub_cmd_loopback): Likewise.
10930 (grub_loopback_iterate): Likewise.
10931 (grub_loopback_close): Likewise.
10932
a6a11f3c
VS
109332010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10934
10935 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
10936 with -p "".
10937 Reported by: Tito Keitel.
10938
64a638b0
VS
109392010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10940
10941 * docs/grub.texi (Naming convention): Document new naming convention.
10942
ab8ba957
VS
109432010-07-20 Vadim Solomin <vadic052@gmail.com>
109442010-07-20 Colin Watson <cjwatson@ubuntu.com>
10945
10946 Generate device.map in something closer to the old ordering.
10947
10948 * util/deviceiter.c (struct device): New declaration.
10949 (compare_file_names): Rename to ...
10950 (compare_devices): ... this. Sort by kernel name in preference to
10951 the stable by-id name, but keep the latter as a fallback comparison.
10952 Update header comment.
10953 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
10954 of `struct device' rather than of plain file names.
10955
a29d6a4b
TF
109562010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
10957
10958 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
10959 on i386.
10960
39d824e8
VS
109612010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10962
10963 * commands/acpi.c (setup_common_tables): Use sizeof instead of
10964 hardcoding size.
10965 (setv1table): Likewise.
10966
f058276b
FZ
109672010-07-20 Colin Watson <cjwatson@ubuntu.com>
10968
10969 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
10970 removing the homehost if present.
10971 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
10972 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
10973 removing the homehost if present.
10974 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
10975 if possible.
10976 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
10977
10978 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
10979 parameter. Set its pointer target to 0.
10980 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
10981 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
10982 `data_offset' value from the superblock for 1.x metadata.
10983 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
10984 data on the device.
10985 (insert_array): Record the start sector of data on the device.
10986 (grub_raid_register): Pass start_sector parameters to
10987 grub_raid_list->detect and insert_array.
10988 * include/grub/raid.h (struct grub_raid_array): Add start_sector
10989 member.
10990 (struct grub_raid): Add start_sector parameter to `detect'.
10991
10992 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
10993 __attribute__ ((packed)), leaving a comment.
10994 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
10995 (grub_mdraid_detect_09): ... here and ...
10996 (grub_mdraid_detect_1x): ... here.
10997
109982010-07-20 Peter Henn <peter.henn@web.de>
10999
11000 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
11001 chunk size and disk size, which are already given as sector counts
11002 as distinct from the 0.90 units. Fetch the correct device number
11003 from the role table instead of using the table index.
11004
110052010-07-20 Felix Zielcke <fzielcke@z-51.de>
11006
11007 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
11008 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
11009 (WriteMostly1): New macro.
11010 Set array->name to NULL for metadata format 0.90. Add support for
11011 metadata 1.x. Fix some comments.
11012 * disk/raid.c (): Add support for name based RAID arrays. Fix a
11013 few comments.
11014 * util/getroot.c (grub_util_get_grub_dev): Add support for
11015 /dev/md/name style devices.
11016
4b761da9
CW
110172010-07-20 Colin Watson <cjwatson@ubuntu.com>
11018
11019 * .bzrignore: Ignore 20_linux_xen.
11020
5771289a
CW
110212010-07-17 Colin Watson <cjwatson@ubuntu.com>
11022
11023 * util/import_unicode.py: Remove unnecessary imports.
11024
5dab68df
AN
110252010-07-17 Aleš Nesrsta <starous@volny.cz>
11026
11027 Hotplugging and USB hub support.
11028
11029 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
11030 (grub_ohci): Likewise.
11031 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
11032 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
11033 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
11034 (GRUB_OHCI_CTRL_EDS): Likewise.
11035 (GRUB_OHCI_BULK_EDS): Likewise.
11036 (GRUB_OHCI_TDS): Likewise.
11037 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
11038 (grub_ohci_ed_phys2virt): New function.
11039 (grub_ohci_virt_to_phys): Likewise.
11040 (grub_ohci_td_phys2virt): Likewise.
11041 (grub_ohci_td_virt2phys): Likewise.
11042 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
11043 attachment.
11044 (grub_ohci_find_ed): New function.
11045 (grub_ohci_alloc_td): Likewise.
11046 (grub_ohci_free_td): Likewise.
11047 (grub_ohci_free_tds): Likewise.
11048 (grub_ohci_transfer): Use previously allocated memory.
11049 (grub_ohci_portstatus): Reset status changed bit.
11050 (grub_ohci_detect_dev): Supply status changed.
11051 (grub_ohci_fini_hw): Free memory.
11052 (grub_ohci_restore_hw): Reallocate memory.
11053 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
11054 Reset status change.
11055 (grub_uhci_detect_dev): Supply status_change.
11056 * bus/usb/usb.c (attach_hooks): New var.
11057 (grub_usb_device_attach): New function.
11058 (grub_usb_register_attach_hook_class): Likewise.
11059 (grub_usb_unregister_attach_hook_class): Likewise.
11060 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
11061 (grub_usb_add_hub): Reset connection changed bit.
11062 (attach_root_port): New function.
11063 (grub_usb_root_hub): Likewise.
11064 (poll_nonroot_hub): Likewise.
11065 (grub_usb_poll_devices): Likewise.
11066 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
11067 * disk/usbms.c (grub_usbms_open): Use device hooks.
11068 (grub_usbms_iterate) :Poll devices.
11069 (grub_usbms_finddevs): Split into ...
11070 (grub_usbms_attach): ... this ...
11071 (grub_usbms_attach): ... and this.
11072 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
11073 in detect_dev.
11074 (grub_usb_interface): New fields attached and detach_hook.
11075 (grub_usb_attach_hook_class): New type.
11076 (grub_usb_attach_desc): New struct.
11077 (grub_usb_register_attach_hook_class): New function.
11078 (grub_usb_unregister_attach_hook_class): Likewise.
11079 (grub_usb_poll_devices): Likewise.
11080 (grub_usb_device_attach): Likewise.
11081 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
11082 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
11083
3222efaf
VS
110842010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11085
11086 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
11087 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
11088 delta determination style. Works with most NetBSD partitions too.
11089
139b714a
VS
110902010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11091
11092 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
11093 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
11094
986aad56
VS
110952010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11096
11097 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
11098
99be513c
AB
110992010-07-14 Anton Blanchard <anton@samba.org>
11100
11101 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
11102 ET_DYN files.
11103
18075f62
GS
111042010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11105
11106 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
11107
8d9a5b15
GS
111082010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11109
11110 * kern/partition.c (grub_partition_check_containment): New function to
11111 check that a partition is physically contained in a parent. Since
11112 offsets are relative (and non-negative), this reduces to checking that
11113 the partition ends before its parent.
11114 (grub_partition_map_probe): Discard out-of-range sub-partitions.
11115 (grub_partition_iterate): Likewise.
11116 * include/grub/partition.h (grub_partition_map): Slightly more detailed
11117 comments.
11118 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
11119 partitions that start before their parent, and add debug printfs.
11120
19563c25
CW
111212010-07-13 Colin Watson <cjwatson@ubuntu.com>
11122
11123 * Makefile.in (.SUFFIX): Spell correctly, as ...
11124 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
11125 bare module name without `.mod', e.g. `test') tried to invoke a
11126 Modula-2 compiler.
11127
1a1f1e67
CW
111282010-07-13 Colin Watson <cjwatson@ubuntu.com>
11129
11130 * README: Point to the Info manual.
11131
811b0dca
JS
111322010-07-13 Jiro SEKIBA <jir@unicus.jp>
11133
11134 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
11135 2nd superblock position from partition size.
11136
e4f4eafc
CW
111372010-07-10 Colin Watson <cjwatson@ubuntu.com>
11138
11139 * Makefile.in (MAINTAINER_CLEANFILES): Remove
11140 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
11141 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
11142 outputs.
11143
4274c30f
VS
111442010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11145
11146 Restructure SCSI .id handling.
11147 Reported and tested by: Aleš Nesrsta.
11148
11149 * disk/ata.c (grub_atapi_close): Removed. All users updated.
11150 (grub_atapi_dev): Changed .name to "ata". New field .id.
11151 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
11152 (grub_usbms_dev): New field .id.
11153 * disk/scsi.c (grub_scsi_iterate): Generate name.
11154 (grub_scsi_open): Parse name.
11155 * include/grub/scsi.h (grub_make_scsi_id): New function.
11156 (grub_scsi_dev): Change iterate and open to number instead of naming
11157 busses. All users updated.
11158 (grub_scsi): Remove name. Add .bus.
11159
5bc24388
VS
111602010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11161
11162 * commands/help.c (grub_cmd_help): Fix a typo.
11163
249975ba
VS
111642010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11165
11166 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
11167 Reported and tested by: Colin Watson.
11168
3eaac1a1
VS
111692010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11170
11171 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
11172 in this context.
11173
becce1b1
VS
111742010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11175
11176 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
11177
f7bf0918
CW
111782010-07-07 Colin Watson <cjwatson@ubuntu.com>
11179
11180 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
11181 indentation.
11182
0b0f9620
CW
111832010-07-06 Colin Watson <cjwatson@ubuntu.com>
11184
11185 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
11186 and disk/raid6_recover.c.
11187 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
11188 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
11189
1e545469
CW
111902010-07-06 Colin Watson <cjwatson@ubuntu.com>
11191
11192 * term/gfxterm.c (repaint_schedulded): Rename to ...
11193 (repaint_scheduled): ... this. Update all callers.
11194 (repaint_was_schedulded): Rename to ...
11195 (repaint_was_scheduled): ... this. Update all callers.
11196
5357687a
CW
111972010-07-06 Colin Watson <cjwatson@ubuntu.com>
11198
11199 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
11200 which we expect to be handled by upper layers.
11201
29d7e783
BC
112022010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
11203
11204 * bus/usb/usbhub.c: #include time.h header.
11205
37582066
CW
112062010-07-06 Colin Watson <cjwatson@ubuntu.com>
11207
11208 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
11209 entry_name also for entries without stat blocks (e.g. ".."); fixes
11210 corruption of the first entry in a directory.
11211
c8c06953
CW
112122010-07-06 Colin Watson <cjwatson@ubuntu.com>
11213
11214 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
11215 after setting gfxterm as the active terminal. GRUB_BACKGROUND
11216 doesn't work otherwise.
11217
e75056f1
CW
112182010-07-05 Colin Watson <cjwatson@ubuntu.com>
11219
11220 * docs/grub.texi (Features): Update list of supported file systems.
11221 (GNU/Linux): Update for GRUB 2.
11222 (Serial terminal): Remove mention of --disable-serial, which was a
11223 GRUB Legacy configure option. Update instructions to use
11224 `terminal_input' and `terminal_output' rather than `terminal'.
11225 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
11226 configuration' and `Installing GRUB using grub-install'.
11227 (Menu entry editor): Update for GRUB 2.
11228 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
11229 Document new -a, -u, and -v options.
11230 (initrd): New section.
11231 (initrd16): New section.
11232 (linux): New section.
11233 (linux16): New section.
11234 (search): The `var' argument to `--set' is optional.
11235 (GRUB only offers a rescue shell): Go into a little more detail on
11236 drive ordering.
11237
5cf69151
CW
112382010-07-05 Colin Watson <cjwatson@ubuntu.com>
11239
11240 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
11241
e3f90044
CW
112422010-07-05 Colin Watson <cjwatson@ubuntu.com>
11243
11244 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
11245 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
11246
38d8f4f3
CW
112472010-07-05 Colin Watson <cjwatson@ubuntu.com>
11248
11249 * util/i386/pc/grub-setup.c (setup): Rename prefix to
11250 install_prefix, in line with install_dos_part and install_bsd_part.
11251 Add new prefix variable, which is copied to install_prefix after
11252 comparing core.img in memory with the one read from disk in the
11253 no-embedding case, and use that rather than overwriting
11254 install_prefix immediately when installing to a partition.
11255 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
11256 Bicakci.
11257
57ebd41e
GS
112582010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
11259
11260 * configure.ac: Avoid == in test command, it's not portable.
11261 * util/grub.d/30_os-prober.in: Likewise.
11262
cb7f64b2
CW
112632010-07-04 Colin Watson <cjwatson@ubuntu.com>
11264
11265 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
11266
6b654bb0
GS
112672010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
11268
11269 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
11270 multiple (top-level) partmaps.
11271
72a2026d
VS
112722010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11273
11274 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 11275 Reported by: Tino Keitel.
72a2026d 11276
df3eb88f
VS
112772010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11278
11279 Bidi and diacritics support.
11280
11281 * Makefile.in (widthspec.bin): New target.
11282 (widthspec.h): Likewise.
11283 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
11284 * autogen.sh: Generate unidata.c.
11285 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
11286 * commands/ls.c (grub_ls_list_devices): Likewise.
11287 (grub_ls_list_files): Likewise.
11288 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
11289 (grub_mini_cmd_lsmod): Likewise.
11290 * commands/read.c: Likewise.
11291 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
11292 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
11293 * lib/arg.c (grub_arg_show_help): Likewise.
11294 * lib/crypto.c (grub_password_get): Likewise.
11295 * normal/auth.c (grub_username_get): Likewise.
11296 * normal/misc.c (grub_normal_print_device_info): Likewise.
11297 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
11298 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
11299 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
11300 (normal/charset.c_DEPENDENCIES): New variable.
11301 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
11302 (pkglib_MODULES): Remove charset.mod.
11303 (charset_mod_SOURCES): Removed.
11304 (charset_mod_CFLAGS): Likewise.
11305 (charset_mod_LDFLAGS): Likewise.
11306 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
11307 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
11308 and term/tparm.c.
11309 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11310 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11311 (kernel_img_HEADERS): Add terminfo.h.
11312 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
11313 Fill ->font. Reverse ascii bitmaps.
11314 (grub_font_get_xheight): New function.
11315 * font/font.c (grub_font_get_string_width): Moved from here ...
11316 * gfxmenu/font.c (grub_font_get_string_width): ... here.
11317 * font/font.c (grub_font_draw_string): Moved from here ...
11318 * gfxmenu/font.c (grub_font_draw_string): ... here.
11319 * font/font.c (grub_font_dup_glyph): New function.
11320 (grub_font_blit_glyph): Likewise.
11321 (grub_font_blit_glyph_mirror): Likewise.
11322 (blit_comb): Likewise.
11323 (grub_font_construct_dry_run): Likewise.
11324 (grub_font_get_constructed_device_width): Likewise.
11325 (grub_font_construct_glyph): Likewise.
11326 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
11327 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
11328 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
11329 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
11330 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
11331 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
11332 (grub_font_get_xheight): New proto.
11333 (grub_font_get_constructed_device_width): Likewise.
11334 (grub_font_construct_glyph): Likewise.
11335 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
11336 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
11337 * include/grub/font.h (grub_font_draw_string): Moved from here ...
11338 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
11339 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
11340 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
11341 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
11342 (grub_console_getcharwidth): Likewise.
11343 * include/grub/misc.h (grub_xputs): New proto.
11344 (grub_puts): Inlined.
11345 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
11346 (grub_normal_get_line_counter): Removed.
11347 (grub_install_newline_hook): Likewise.
11348 (grub_normal_get_char_counter): New proto.
11349 (grub_normal_reset_more): Likewise.
11350 (grub_xputs_normal): Likewise.
11351 * include/grub/powerpc/ieee1275/console.h: Removed.
11352 * include/grub/sparc64/ieee1275/console.h: Likewise.
11353 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
11354 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
11355 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
11356 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
11357 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
11358 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
11359 (grub_term_input): Pass reference to self. All users updated.
11360 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
11361 Pass reference to self. New fields normal_color, highlight_color and
11362 data. All users updated.
11363 (grub_putchar): Removed.
11364 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
11365 (grub_unicode_estimate_width): New function.
11366 (grub_term_getcharwidth): Add defaults.
11367 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
11368 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
11369 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
11370 (grub_cls): Remove EXPORT_FUNC.
11371 (grub_setcolorstate): Inline.
11372 (grub_newline_hook): Removed.
11373 * include/grub/terminfo.h: Rewritten. All users updated.
11374 * include/grub/unicode.h: New file.
11375 * include/grub/video.h (grub_video_signed_rect): New type.
11376 * kern/emu/console.c (grub_console_highlight_color): Removed.
11377 (grub_console_normal_color): Likewise.
11378 (grub_console_standard_color): Made static.
11379 (grub_ncurses_putchar): Remove mapping.
11380 (grub_ncurses_getcharwidth): Removed.
11381 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
11382 (grub_ncurses_setcolor): Removed.
11383 (grub_ncurses_getcolor): Likewise.
11384 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
11385 (grub_console_putchar): ... this.
11386 (grub_console_putchar): Handle argument difference.
11387 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
11388 console_init_early and console_init_lately.
11389 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
11390 * kern/misc.c (grub_puts): Removed.
11391 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
11392 (grub_vsnprintf_real): Remove str = NULL support.
11393 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
11394 * normal/charset.c (grub_utf8_to_ucs4): ... here.
11395 * kern/term.c (grub_putcode): Renamed to ...
11396 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
11397 (grub_putchar): Removed.
11398 (grub_xputs_dumb): New function.
11399 (grub_xputs): New variable.
11400 * lib/charset.c: Move from here ...
11401 * normal/charset.c: ... to here.
11402 (grub_ucs4_to_utf8): New function.
11403 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
11404 (join_types): New variable.
11405 (unpack_join): New function.
11406 (bidi_types): New variable.
11407 (unpack_bidi): New function.
11408 (get_bidi_type): Likewise.
11409 (get_join_type): Likewise.
11410 (is_mirrored): Likewise.
11411 (grub_unicode_get_comb_type): Likewise.
11412 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
11413 (is_type_after): Likewise.
11414 (grub_unicode_aglomerate_comb): Likewise.
11415 (bidi_line_wrap): Likewise.
11416 (grub_bidi_line_logical_to_visual): Likewise.
11417 (grub_bidi_logical_to_visual): Likewise.
11418 (grub_unicode_mirror_code): Likewise.
11419 (grub_unicode_shape_code): Likewise.
11420 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
11421 Don't use grub_putchar.
11422 * normal/main.c (grub_normal_init_page): Use grub_putcode.
11423 (grub_normal_reader_init): Likewise.
11424 (grub_xputs_saved): New variable.
11425 (GRUB_MOD_INIT): Set grub_xputs.
11426 (GRUB_MOD_FINI): Restore grub_xputs.
11427 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
11428 (menu_init): Avoid printing gfxmenu error.
11429 (show_menu): Use grub_normal_get_char_counter.
11430 * normal/menu_entry.c (update_screen): Fix out-of-array.
11431 (complete): Avoid NULL dereferencing.
11432 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
11433 * normal/menu_text.c (print_spaces): Removed.
11434 (grub_print_ucs4): Likewise.
11435 (grub_print_message_indented): Use grub_print_ucs4.
11436 (print_message): Use grub_putcode.
11437 (print_entry): Hanlde diacritics.
11438 * normal/term.c (term_state): New type.
11439 (grub_more_lines): Removed.
11440 (term_states): New variable.
11441 (grub_normal_line_counter): Renamed to ..
11442 (grub_normal_char_counter): ...this. All users updated.
11443 (grub_normal_get_line_counter): Renamed to ...
11444 (grub_normal_get_char_counter): ... this.
11445 (grub_normal_reset_more): New function.
11446 (process_newline): Removed.
11447 (print_more): New function.
11448 (grub_install_newline_hook): Removed.
11449 (map_code): New function.
11450 (grub_puts_terminal): Use grub_print_ucs4.
11451 (putglyph): New function.
11452 (putcode_real): Likewise.
11453 (grub_putcode): Use putcode_real.
11454 (get_maxwidth): New function.
11455 (get_startwidth): Likewise.
11456 (print_ucs4_terminal): Likewise.
11457 (find_term_state): Likewise.
11458 (put_glyphs_terminal): Likewise.
11459 (print_backlog): Likewise.
11460 (print_ucs4_real): Likewise.
11461 (grub_print_ucs4): Likewise.
11462 (grub_xputs_normal): Likewise.
11463 * term/efi/console.c (grub_console_putchar): Output diacritics.
11464 (grub_console_getcharwidth): Removed.
11465 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
11466 * term/gfxterm.c (clear_char): Free chars.
11467 (scroll_up): Avoid leaking memory.
11468 (grub_gfxterm_putchar): Support diacritics.
11469 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
11470 * term/i386/pc/console.c (grub_console_term_output): Declare as
11471 GRUB_TERM_CODE_TYPE_VGA.
11472 * term/i386/pc/vga.c (grub_vga_term): Declare as
11473 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
11474 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
11475 GRUB_TERM_CODE_TYPE_VGA.
11476 * term/i386/vga_common.c (map_char): Removed.
11477 (grub_console_putchar): Likewise.
11478 (grub_console_getcharwidth): Likewise.
11479 * term/ieee1275/ofconsole.c: Simplify using terminfo.
11480 (colors): Reordered to match terminfo.
11481 (grub_ofconsole_normal_color): Removed.
11482 (grub_ofconsole_writeesc): Likewise.
11483 (grub_ofconsole_highlight_color): Likewise.
11484 (grub_ofconsole_getcharwidth): Likewise.
11485 (grub_ofconsole_setcolorstate): Likewise.
11486 (grub_ofconsole_setcolor): Likewise.
11487 (grub_ofconsole_getcolor): Likewise.
11488 (grub_ofconsole_readkey): Renamed to ...
11489 (readkey): ... this. Remove escape sequence handling. Return -1 on no
11490 key.
11491 (grub_ofconsole_checkkey): Removed.
11492 (grub_ofconsole_getkey): Likewise.
11493 (grub_ofconsole_getxy): Likewise.
11494 (grub_ofconsole_gotoxy): Likewise.
11495 (grub_ofconsole_cls): Likewise.
11496 (grub_ofconsole_refresh): Likewise.
11497 (grub_ofconsole_terminfo_input): New struct.
11498 (grub_ofconsole_terminfo_output): Likewise.
11499 (grub_ofconsole_term_input): Use terminfo.
11500 (grub_ofconsole_term_output): Likewise.
11501 (grub_console_init): Split into ...
11502 (grub_console_init_early): ...this and ...
11503 (grub_console_init_lately): ...this. Use terminfo.
11504 (grub_ofconsole_putchar): Renamed to ...
11505 (put): ... this. Remove mapping.
11506 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
11507 * term/serial.c: Simplify using terminfo.
11508 (xpos): Removed.
11509 (ypos): Likewise.
11510 (keep_track): Likewise.
11511 (registered): Likewise.
11512 (input_buf): Likewise.
11513 (npending): Likewise.
11514 (serial_translate_key_sequence): Likewise.
11515 (fill_input_buf): Likewise.
11516 (grub_serial_checkkey): Likewise.
11517 (grub_serial_getkey): Likewise.
11518 (grub_serial_getxy): Likewise.
11519 (grub_serial_gotoxy): Likewise.
11520 (grub_serial_putchar): Likewise.
11521 (grub_serial_cls): Likewise.
11522 (grub_serial_setcolorstate): Likewise.
11523 (grub_serial_setcursor): Likewise.
11524 (serial_hw_init): Use serial_hw_fetch.
11525 (grub_serial_terminfo_input): New variable.
11526 (grub_serial_terminfo_output): Likewise.
11527 (grub_serial_term_input): Use terminfo.
11528 (grub_serial_term_output): Likewise.
11529 * term/terminfo.c (putstr): Use put.
11530 (grub_terminfo_all_free): New function
11531 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
11532 (grub_terminfo_output_register): New function.
11533 (grub_terminfo_output_unregister): Likewise.
11534 (grub_terminfo_getxy): Likewise.
11535 (grub_terminfo_readkey): Likewise.
11536 (grub_terminfo_checkkey): Likewise.
11537 (grub_terminfo_getkey): Likewise.
11538 (grub_terminfo_input_init): Likewise.
11539 (print_terminfo): Likewise.
11540 (grub_cmd_terminfo): Handle encoding.
11541 (grub_terminfo_gotoxy): Track position.
11542 (grub_terminfo_cls): Likewise.
11543 (grub_terminfo_putchar): Likewise.
11544 (grub_terminfo_setcolorstate): Handle colors
11545 (grub_terminfo_cursor_on): This ...
11546 (grub_terminfo_cursor_off): ... and this merged into ...
11547 (grub_terminfo_setcursor): ... this.
11548 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
11549 * unicode/ArabicShaping.txt: New file (imported from Unicode).
11550 * unicode/BidiMirroring.txt: Likewise.
11551 * unicode/UnicodeData.txt: Likewise.
11552 * unicode/COPYING: Likewise.
11553 * util/grub-editenv.c (grub_putchar): Removed.
11554 (grub_xputs_real): New function.
11555 (grub_xputs): New variable.
11556 * util/grub-fstest.c (grub_putchar): Removed.
11557 (grub_xputs_real): New function.
11558 (grub_xputs): New variable.
11559 * util/grub-mkdevicemap.c (grub_putchar): Removed.
11560 (grub_xputs_real): New function.
11561 (grub_xputs): New variable.
11562 * util/grub-probe.c (grub_putchar): Removed.
11563 (grub_xputs_real): New function.
11564 (grub_xputs): New variable.
11565 * util/grub-script-check.c (grub_putchar): Removed.
11566 (grub_xputs_real): New function.
11567 (grub_xputs): New variable.
11568 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
11569 (grub_xputs_real): New function.
11570 (grub_xputs): New variable.
11571 * util/import_unicode.py: New file.
11572 * util/grub-mkfont.c (ft_errmsgs): New array.
11573 (grub_glyph_info): Make bitmap a pointer.
11574 (file_formats): New type WIDTH_SPEC.
11575 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
11576 (options): Add width-spec.
11577 (help): Likewise.
11578 (add_char): Renamed to ...
11579 (add_glyph): ... this.
11580 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
11581 (glyph_replace): New type.
11582 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
11583 (add_char): New function.
11584 (add_subst): Likewise.
11585 (process_cursive): Likewise.
11586 (add_font): Handle GSUB.
11587 (write_font_width_spec): New function.
11588 (main): Sort glyphs.
11589 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
11590 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
11591 * kern/term.c (grub_cls): Moved from here...
11592 * normal/term.c (grub_cls): ... here.
11593
50f0bcda
CW
115942010-07-02 Colin Watson <cjwatson@ubuntu.com>
11595
11596 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
11597 suitable for using within the format argument of printf when
11598 converting grub_size_t.
11599 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
11600 "x" to convert grub_size_t arguments.
11601
40372103
VS
116022010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11603
11604 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
11605 too long captions.
11606 (list_get_minimal_size): Take selection box into account.
11607
942a10c7
VS
116082010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11609
11610 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
11611 NULL font.
11612
2bdb2892
CW
116132010-07-02 Colin Watson <cjwatson@ubuntu.com>
11614
11615 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
11616 devices when iterating over /dev/disk/by-id; they will be handled
11617 later if appropriate, which they aren't always (e.g. LVM).
11618
e03ed6c1
CW
116192010-07-02 Colin Watson <cjwatson@ubuntu.com>
11620
11621 * include/grub/misc.h (grub_reboot): Declare as noreturn.
11622 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
11623 fails.
11624 (grub_halt): Likewise.
11625 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
11626 reset-all fails.
11627 (grub_halt): Don't return, even if all of shut-down, power-off, and
11628 poweroff fail.
11629
47695765
CW
116302010-07-02 Colin Watson <cjwatson@ubuntu.com>
11631
11632 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
11633 arguments, not three.
11634
507736c8
CW
116352010-07-02 Colin Watson <cjwatson@ubuntu.com>
11636
11637 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
11638 * util/grub.d/10_linux.in: Use it to check for LVM, so that
11639 LVM-on-RAID is handled correctly.
11640
e3c8cd37
CW
116412010-07-02 Colin Watson <cjwatson@ubuntu.com>
11642
11643 * docs/grub.texi (Changes from GRUB Legacy): New section.
11644 (Future): Fix typo.
11645
8d4a2fec
CW
116462010-07-02 Colin Watson <cjwatson@ubuntu.com>
11647
11648 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
11649 grub.d/README accidentally ends up executable for one reason or
11650 another. Ignore it.
11651
1c4827be
VS
116522010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11653
11654 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
11655 (gpt_partition_map_iterate): Support non-512B sectors.
11656
d9a0c941
VS
116572010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11658
11659 * kern/efi/init.c (grub_efi_init): Disable watchdog.
11660 Tested by: Seth Goldberg.
11661
48f27e87
VS
116622010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11663
11664 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
11665 Properly align mbi.
11666 Reported by: Seth Goldberg.
11667
b0c4f956
VS
116682010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
11669
11670 * util/grub-mkrescue.in: Avoid module duplication.
11671
105a2e8c
SF
116722010-07-01 Sean Finney <seanius@seanius.net>
11673
11674 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
11675
5944958c
SF
116762010-07-01 Sean Finney <seanius@seanius.net>
11677
11678 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
11679
116802010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
11681
11682 * disk/lvm.c (grub_lvm_checkvalue): New function.
11683 (grub_lvm_check_flag): Likewise.
11684
b79889ba
RM
116852010-07-01 Robert Millan <rmh@gnu.org>
11686
11687 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
11688 Support 'p' as partition separator on kernel of FreeBSD (used
11689 with GPT labels).
11690 (grub_util_biosdisk_get_grub_dev): Likewise.
11691
ec1d04f1
VS
116922010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
11693
11694 Yeeloong firmware port.
11695
11696 * boot/mips/yeeloong/fwstart.S: New file.
11697 * bus/cs5536.c (gpiodump): New const.
11698 (set_io_space): New function.
11699 (set_iod): Likewise.
11700 (set_p2d): Likewise.
11701 (grub_cs5536_init_geode): Likewise.
11702 * commands/mips/yeeloong/lsspd.c: New file.
11703 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
11704 (serial_mod_SOURCES): New variable.
11705 (serial_mod_CFLAGS): Likewise.
11706 (serial_mod_LDFLAGS): Likewise.
11707 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
11708 term/terminfo.c and term/tparm.c.
11709 (pkglib_IMAGES): Add fwstart.img.
11710 (fwstart_img_SOURCES): New variable.
11711 (fwstart_img_CFLAGS): Likewise.
11712 (fwstart_img_ASFLAGS): Likewise.
11713 (fwstart_img_LDFLAGS): Likewise.
11714 (fwstart_img_FORMAT): Likewise.
11715 (pkglib_MODULES): Add lsspd.mod.
11716 (lsspd_mod_SOURCES): New variable.
11717 (lsspd_mod_CFLAGS): Likewise.
11718 (lsspd_mod_LDFLAGS): Likewise.
11719 (pkglib_MODULES): Add halt.mod.
11720 (halt_mod_SOURCES): New variable.
11721 (halt_mod_CFLAGS): Likewise.
11722 (halt_mod_LDFLAGS): Likewise.
11723 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
11724 (serial_mod_SOURCES): Removed.
11725 (serial_mod_CFLAGS): Likewise.
11726 (serial_mod_LDFLAGS): Likewise.
11727 * disk/ata.c (check_device): New function.
11728 (grub_ata_device_initialize): Use check_device.
11729 (grub_ata_iterate): Recheck devices.
11730 (grub_ata_open): Likewise.
11731 (grub_atapi_iterate): Likewise.
11732 (grub_atapi_open): Likewise.
11733 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
11734 (GRUB_ATA_CH1_PORT1): Likewise.
11735 (GRUB_ATA_CH0_PORT2): Likewise.
11736 (GRUB_ATA_CH1_PORT2): Likewise.
11737 * include/grub/mips/loongson.h: New file.
11738 * include/grub/mips/yeeloong/ec.h: Likewise.
11739 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
11740 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
11741 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
11742 * include/grub/misc.h (grub_halt): Declare as noreturn.
11743 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
11744 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
11745 (UART_ENABLE_FIFO_TRIGGER1): New definition.
11746 (UART_ENABLE_DTRRTS): Likewise.
11747 (UART_ENABLE_MODEM): Removed.
11748 (UART_ENABLE_OUT2): New const.
11749 * include/grub/term.h (grub_term_register_input_active): New function.
11750 (grub_term_register_output_active): Likewise.
11751 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
11752 argument.
11753 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
11754 (init_pci): New function.
11755 (grub_machine_init): Execute platform init when firmware. Init serial.
11756 (grub_halt): Implement.
11757 (grub_exit): Likewise.
11758 (grub_reboot): Likewise.
11759 * term/serial.c (serial_hw_init): Update macros.
11760 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
11761 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
11762 (image_targets): New target mipsel-yeeloong-flash.
11763 (generate_image): Support IMAGE_YEELOONG_FLASH.
11764 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
11765 (grub_video_sm712_setup): Init card.
11766 (grub_video_sm712_set_palette): Removed.
11767 * video/sm712_init.c: New file.
11768
ff4a70d2
CW
117692010-06-30 Colin Watson <cjwatson@ubuntu.com>
11770
11771 * Makefile.in (install-local): Temporarily prepend $(builddir) to
11772 PATH when running help2man and then run it on the unadorned
11773 executable names, rather than passing $(builddir)/* paths to
11774 help2man. This avoids the build directory ending up in generated
11775 manual pages.
11776
1246efeb
CW
117772010-06-29 Colin Watson <cjwatson@ubuntu.com>
11778
11779 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
11780 to avoid accidents when debugging with 'sh -x'.
11781 * util/grub-mkrescue.in: Likewise.
11782 * util/grub.d/00_header.in: Likewise.
11783 * util/grub.d/10_hurd.in: Likewise.
11784 * util/grub.d/10_kfreebsd.in: Likewise.
11785 * util/grub.d/10_linux.in: Likewise.
11786 * util/grub.d/10_netbsd.in: Likewise.
11787 * util/grub.d/10_windows.in: Likewise.
11788 * util/grub.d/20_linux_xen.in: Likewise.
11789 * util/grub.d/30_os-prober.in: Likewise.
11790 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11791
1ba9b889
CW
117922010-06-29 Colin Watson <cjwatson@ubuntu.com>
11793
11794 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
11795 last character in the buffer.
11796 Reported by: Vladimir Serbinenko.
11797
dccaf99d
RM
117982010-06-29 Robert Millan <rmh@gnu.org>
11799
11800 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
11801 (Command-line and menu entry commands): Document `badram' command.
11802
d500ed12
RM
118032010-06-28 Robert Millan <rmh@gnu.org>
11804
11805 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
11806 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
11807 command using ${GRUB_BADRAM} as parameter.
11808
20bc84a6
CW
118092010-06-28 Colin Watson <cjwatson@ubuntu.com>
11810
11811 * docs/grub.texi (Device map): New section.
11812 (Themes): New section (stub).
11813 * Makefile.in (docs/grub.info): The info documentation now builds
11814 without errors. Make sure it stays that way.
11815
4045dee1
VS
118162010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
11817
11818 Use normal parser for menu entries.
11819 Reported by: Thomas Frauendorfer
11820
11821 * include/grub/parser.h (grub_parser_execute): Don't export.
11822 * normal/menu.c (grub_menu_execute_entry_real): New function.
11823 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
11824
bca58c7b
CW
118252010-06-28 Colin Watson <cjwatson@ubuntu.com>
11826
11827 * docs/grub.texi (Embedded configuration): New section (replacing
11828 old "Preset Menu" stub).
11829 (Images): New section.
11830 (configfile): Note that any menu entries defined in `file' are shown
11831 immediately.
11832
dec53e63
JT
118332010-06-28 Josh Triplett <josh@joshtriplett.org>
11834
11835 * mmap/i386/pc/mmap_helper.S: Set CF on return.
11836
c06e40f7
CW
118372010-06-28 Colin Watson <cjwatson@ubuntu.com>
11838
11839 * util/grub-install.in: Add --debug-image= option.
11840
cb88052b
CW
118412010-06-28 Colin Watson <cjwatson@ubuntu.com>
11842
11843 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
11844 possible on Linux.
11845
11846 * util/deviceiter.c (check_device): Rename to ...
11847 (check_device_readable_unique): ... this. Update all callers.
11848 Maintain and check a list of which devices (by canonicalized name)
11849 have already been seen.
11850 (clear_seen_devices): New function.
11851 (compare_file_names) [__linux__]: New function.
11852 (grub_util_iterate_devices): Clear the list of seen devices on exit
11853 and (just in case) on entry.
11854 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
11855 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
11856 seen-devices list, superseded by general code in check_device.
11857
bbe34652
CW
118582010-06-28 Colin Watson <cjwatson@ubuntu.com>
11859
11860 * commands/cat.c (options): New variable.
11861 (grub_cmd_cat): Parse options. If the --dos option is given, print
11862 DOS-style "\r\n" line endings as simple newlines (Debian bug
11863 #586358).
11864 (GRUB_MOD_INIT): Use extcmd.
11865 (GRUB_MOD_FINI): Likewise.
11866 * docs/grub.texi (cat): Document --dos.
11867
412e09f3
VS
118682010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
11869
11870 XEN with Linux grub-mkconfig support.
11871
11872 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
11873 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
11874 GRUB_CMDLINE_XEN_DEFAULT.
11875 * util/grub.d/20_linux_xen.in: New file.
11876
53f3ef38 118772010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
11878
11879 Initialise VGA video on qemu ourselves.
11880
11881 * boot/i386/qemu/boot.S: Don't call 0xc000.
11882 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
11883 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
11884 (kernel_img_HEADERS): Add pci.h.
11885 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
11886 * configure.ac: Force unifont on qemu and yeeloong.
11887 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
11888 (grub_vga_palette_write): Use correct register.
11889 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
11890 Call grub_qemu_init_cirrus.
11891 * kern/i386/qemu/init.c: New file.
11892 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
11893
11894 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
11895
c75be4fb
PR
118962010-06-26 Pavel Roskin <proski@gnu.org>
11897
11898 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
11899 13.
11900
d8034603
CW
119012010-06-26 Colin Watson <cjwatson@ubuntu.com>
11902
11903 * docs/grub.texi (Simple configuration): Explain that
11904 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
11905 set to `true' to disable their respective recovery entries, not
11906 merely set.
11907
3fa06487
CW
119082010-06-26 Colin Watson <cjwatson@ubuntu.com>
11909
11910 Make the `source' command slightly faster.
11911
11912 * normal/main.c (grub_normal_execute): Don't re-read list files when
11913 nested.
11914
e9b29642
CW
119152010-06-23 Colin Watson <cjwatson@ubuntu.com>
11916
11917 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
11918 field position and mask size to red fields from mode_info, not
11919 green.
11920 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
11921 Remove redundant tag->common.framebuffer_type assignment.
11922 Reported by: Seth Goldberg.
11923
e726542f
CW
119242010-06-23 Colin Watson <cjwatson@ubuntu.com>
11925
11926 Sync up other versions of the Linux loader with Robert Millan's
11927 change of 2010-01-09, "Make loader output a bit more user-friendly".
11928
11929 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
11930 grub_dprintf().
11931 (grub_cmd_linux): Likewise.
11932 (grub_cmd_initrd): Likewise.
11933 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
11934 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11935
d6e98a17
CW
119362010-06-21 Colin Watson <cjwatson@ubuntu.com>
11937
11938 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
11939 larger than MEMORY_MAP_SIZE.
11940
14d3f08e
BC
119412010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
11942
11943 Fix parallel build.
11944
11945 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
11946 dependency.
11947 * script/parser.y: #include grub_script.tab.h header.
11948
4f9613a3
VS
119492010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
11950
11951 Support >3GiB and <16MiB RAM in i386-qemu.
11952
11953 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
11954 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
11955 (grub_lower_mem): Removed.
11956 (grub_upper_mem): Likewise.
11957 (mem_size): Made static.
11958 (above_4g): New variable.
11959 (grub_machine_mmap_init): Detect small mem_size and above_4g.
11960 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
11961 support.
11962
05e51879
VS
119632010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
11964
11965 Cirrus 5446 and Bochs video cards support.
11966
11967 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
11968 video_bochs.mod
11969 (video_cirrus_mod_SOURCES): New variable.
11970 (video_cirrus_mod_CFLAGS): Likewise.
11971 (video_cirrus_mod_LDFLAGS): Likewise.
11972 (video_bochs_mod_SOURCES): Likewise.
11973 (video_bochs_mod_CFLAGS): Likewise.
11974 (video_bochs_mod_LDFLAGS): Likewise.
11975 * include/grub/vga.h: New file.
11976 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
11977 (grub_video_fb_set_page_t): New type.
11978 (grub_video_fb_setup): New prototype.
11979 (grub_video_fb_swap_buffers): Likewise.
11980 (grub_video_fb_get_info_and_fini): Likewise.
11981 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
11982 (CRTC_DATA_PORT): Likewise.
11983 (CRTC_CURSOR): Likewise.
11984 (CRTC_CURSOR_ADDR_HIGH): Likewise.
11985 (CRTC_CURSOR_ADDR_LOW): Likewise.
11986 (CRTC_CURSOR_DISABLE): Likewise.
11987 (update_cursor): Use grub_vga_cr_write.
11988 (grub_vga_text_setcursor): Likewise.
11989 * video/bochs.c: New file.
11990 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
11991 (palette): Likewise.
11992 (palette_size): Likewise.
11993 (framebuffer): New variable.
11994 (grub_video_fb_init): Use 'framebuffer'.
11995 (grub_video_fb_fini): Likewise.
11996 (grub_video_fb_get_info): Likewise.
11997 (grub_video_fb_get_palette): Likewise.
11998 (grub_video_fb_set_palette): Likewise.
11999 (grub_video_fb_set_viewport): Likewise.
12000 (grub_video_fb_get_viewport): Likewise.
12001 (grub_video_fb_map_color): Likewise.
12002 (grub_video_fb_map_rgb): Likewise.
12003 (grub_video_fb_map_rgba): Likewise.
12004 (grub_video_fb_unmap_color): Likewise.
12005 (grub_video_fb_unmap_color_int): Likewise.
12006 (grub_video_fb_fill_rect): Likewise.
12007 (grub_video_fb_blit_bitmap): Likewise.
12008 (grub_video_fb_blit_render_target): Likewise.
12009 (grub_video_fb_scroll): Likewise.
12010 (grub_video_fb_create_render_target): Likewise.
12011 (grub_video_fb_doublebuf_blit_init): Likewise.
12012 (grub_video_fb_set_active_render_target): Handle doublebuffering.
12013 (doublebuf_pageflipping_update_screen): New function.
12014 (doublebuf_pageflipping_init): Likewise.
12015 (grub_video_fb_setup): Likewise.
12016 (grub_video_fb_swap_buffers): Likewise.
12017 (grub_video_fb_get_info_and_fini): Likewise.
12018 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
12019 All users updated.
12020 (doublebuf_pageflipping_commit): Restructured into ...
12021 (doublebuf_pageflipping_set_page): ... this.
12022 (doublebuf_pageflipping_update_screen): Removed.
12023 (doublebuf_pageflipping_init): Likewise.
12024 (double_buffering_init): Likewise.
12025 (grub_video_vbe_setup): Use grub_video_fb_setup.
12026 (grub_video_vbe_swap_buffers): Removed.
12027 (grub_video_vbe_set_active_render_target): Likewise.
12028 (grub_video_vbe_get_active_render_target): Likewise.
12029 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
12030 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
12031 grub_video_fb_set_active_render_target and
12032 grub_video_fb_get_active_render_target.
12033 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
12034 (SEQUENCER_DATA_PORT): Likewise.
12035 (MAP_MASK_REGISTER): Likewise.
12036 (CRTC_ADDR_PORT): Likewise.
12037 (CRTC_DATA_PORT): Likewise.
12038 (START_ADDR_HIGH_REGISTER): Likewise.
12039 (START_ADDR_LOW_REGISTER): Likewise.
12040 (GRAPHICS_ADDR_PORT): Likewise.
12041 (GRAPHICS_DATA_PORT): Likewise.
12042 (READ_MAP_REGISTER): Likewise.
12043 (INPUT_STATUS1_REGISTER): Likewise.
12044 (INPUT_STATUS1_VERTR_BIT): Likewise.
12045 (get_map_mask): Use grub_vga_sr_read.
12046 (set_map_mask): Use grub_vga_sr_write.
12047 (set_read_map): Use grub_vga_gr_write.
12048 (set_start_address): Use grub_vga_cr_write.
12049 * video/sm712.c (framebuffer): Remove leftover fields.
12050
4321c64a
CW
120512010-06-20 Colin Watson <cjwatson@ubuntu.com>
12052
12053 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
12054 setting GRUB_VIDEO_BACKEND. Make it available as a user override
12055 instead. Replace the gfxterm backend check with a check that
12056 ${GRUB_PREFIX}/video.lst is non-empty.
12057 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
12058 again.
12059 (load_video): New generated function. Call it before loading
12060 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
12061 * util/grub.d/10_linux.in (linux_entry): Call load_video.
12062 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
12063 * docs/grub.texi (Simple configuration): Document
12064 GRUB_VIDEO_BACKEND.
12065
120662010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12067
12068 Use video functions in linux and xnu loaders.
12069
12070 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
12071 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
12072 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
12073 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
12074 loader/i386/pc/linux.c.
12075 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
12076 (find_line_len): Removed.
12077 (find_framebuf): Likewise.
12078 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
12079 * loader/i386/efi/xnu.c: Removed.
12080 * loader/i386/pc/xnu.c: Moved from here...
12081 * loader/i386/xnu.c: ...here.
12082
12083 Enable priorities in video drivers.
12084
12085 * include/grub/video.h (grub_video_adapter_prio_t): New type.
12086 (grub_video_adapter): New field prio.
12087 (grub_video_register): Respect prio when inserting.
12088 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
12089 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
12090 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
12091 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
12092 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
12093 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
12094 * video/sm712.c (grub_video_sm712_adapter): Likewise.
12095
12096 Fix SDL driver ID.
12097
12098 * include/grub/video.h (grub_video_driver_id_t): New value
12099 GRUB_VIDEO_DRIVER_SDL.
12100 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
12101
7d24e434
CW
121022010-06-17 Colin Watson <cjwatson@ubuntu.com>
12103
12104 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
12105 argument to printf.
12106 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12107
c88a83f6
CW
121082010-06-17 Colin Watson <cjwatson@ubuntu.com>
12109
12110 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
12111 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12112
094dfb69
CW
121132010-06-17 Colin Watson <cjwatson@ubuntu.com>
12114
12115 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
12116 directly, and recommend grub-install instead.
12117 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12118
2164da6b
CW
121192010-06-17 Colin Watson <cjwatson@ubuntu.com>
12120
12121 Fix i386-pc prefix handling with nested partitions (Debian bug
12122 #585068). Note that the case where the core image is booted using
12123 multiboot and relocated from its original location still requires
12124 more work.
12125
12126 * kern/i386/pc/init.c (make_install_device): If the prefix starts
12127 with "(,", fill the boot drive in between those two characters, but
12128 expect that a full partition specification including partition map
12129 names will follow.
12130 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
12131 specified, write a prefix without the drive name but including a
12132 full partition specification.
12133
044e2e60
CW
121342010-06-16 Colin Watson <cjwatson@ubuntu.com>
12135
12136 * util/grub-mkconfig.in: Ignore non-option arguments, for
12137 compatibility with older versions (before 2010-06-12) which did the
12138 same. In particular, this makes it easier to ship an update-grub
12139 wrapper which is compatible with that used with GRUB Legacy (Debian
12140 bug #586056).
12141
5591324f
GS
121422010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12143
12144 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
12145 for manual page generation.
12146
662e24d5
GS
121472010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12148
12149 * po/POTFILES: Remove leftover commands/handler.c.
12150
8d70754e
CW
121512010-06-14 Colin Watson <cjwatson@ubuntu.com>
12152
12153 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
12154 left this script non-functional.
12155
41160e2e
CW
121562010-06-14 Colin Watson <cjwatson@ubuntu.com>
12157
12158 * docs/man/grub-emu.h2m: New file.
12159
b5309cc1
CW
121602010-06-13 Colin Watson <cjwatson@ubuntu.com>
12161
12162 * docs/grub.texi (Commands): Document reduced command set in rescue
12163 mode.
12164 (cpuid): New section.
12165
fcb2d090
GS
121662010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
12167
12168 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
12169 new partition naming style.
12170 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
12171
96e5c556
BC
121722010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
12173
12174 Add "-o grub.iso" like cmdline options support.
12175
12176 * util/grub-install.in: Improve cmdline option parsing.
12177 * util/grub-mkconfig.in: Likewise.
12178 * util/grub-mkrescue.in: Likewise.
12179 * util/grub-reboot.in: Likewise.
12180 * util/grub-set-default.in: Likewise.
12181 * util/i386/efi/grub-install.in: Likewise.
12182 * util/ieee1275/grub-install.in: Likewise.
12183 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12184
c16be99b
CW
121852010-06-12 Colin Watson <cjwatson@ubuntu.com>
12186
12187 * .bzrignore: Ignore 41_custom.
12188
ce08a9fb
TS
121892010-06-12 Thomas Schmitt <scdbackup@gmx.net>
12190
12191 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
12192
7beac90c
CW
121932010-06-12 Colin Watson <cjwatson@ubuntu.com>
12194
12195 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
12196 prototype declarations.
12197
12198 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
12199 generating fs, partmap, and video lists.
12200 * include/grub/fs.h (grub_fs_register): Omit prototype if
12201 GRUB_LST_GENERATOR is defined.
12202 * include/grub/partition.h (grub_partition_map_register): Likewise.
12203 * include/grub/video.h (grub_video_register): Likewise.
12204
1c8f0f8d
JM
122052010-06-12 Javier Martín <lordhabbit@gmail.com>
12206
12207 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
12208
a6085973
TS
122092010-06-12 Thomas Schmitt <scdbackup@gmx.net>
12210
12211 * util/grub-mkrescue.in: Support --xorriso argument.
12212
25c56d29
VS
122132010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12214
12215 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
12216 Suggested by: Thomas Schmitt.
12217
e03e4b24
VS
122182010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12219
12220 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
12221 Suggested by: Thomas Schmitt.
12222
57711df6
VS
122232010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12224
12225 custom.cfg support.
12226
12227 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
12228 * util/grub.d/41_custom.in: New file.
12229
ee62c427
CW
122302010-06-12 Colin Watson <cjwatson@ubuntu.com>
12231
12232 * util/grub-mkrescue.in (make_image): Remove sh module, which has
12233 been merged back into normal.
12234
283af07a
CW
122352010-06-11 Colin Watson <cjwatson@ubuntu.com>
12236
12237 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
12238 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
12239
56a0d956
CW
122402010-06-11 Colin Watson <cjwatson@ubuntu.com>
12241
12242 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
12243 when generating manual pages.
12244 * docs/man/grub-bin2h.h2m: New file.
12245 * docs/man/grub-editenv.h2m: New file.
12246 * docs/man/grub-fstest.h2m: New file.
12247 * docs/man/grub-install.h2m: New file.
12248 * docs/man/grub-macho2img.h2m: New file.
12249 * docs/man/grub-mkconfig.h2m: New file.
12250 * docs/man/grub-mkdevicemap.h2m: New file.
12251 * docs/man/grub-mkfont.h2m: New file.
12252 * docs/man/grub-mkimage.h2m: New file.
12253 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
12254 * docs/man/grub-mkrelpath.h2m: New file.
12255 * docs/man/grub-mkrescue.h2m: New file.
12256 * docs/man/grub-ofpathname.h2m: New file.
12257 * docs/man/grub-pe2elf.h2m: New file.
12258 * docs/man/grub-probe.h2m: New file.
12259 * docs/man/grub-reboot.h2m: New file.
12260 * docs/man/grub-script-check.h2m: New file.
12261 * docs/man/grub-set-default.h2m: New file.
12262 * docs/man/grub-setup.h2m: New file.
12263
3a37e322
VS
122642010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
12265
12266 Use FOR_* macros instead of *_iterate whenever possible.
12267
12268 * commands/handler.c: Removed.
12269 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
12270 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
12271 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12272 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
12273 (grub_probe_SOURCES): Remove kern/parser.c.
12274 (util/grub-script-check.c_DEPENDENCIES): Removed.
12275 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
12276 and grub_script_check_init.c.
12277 (grub_script_check_init.lst): Removed.
12278 (grub_script_check_init.h): Likewise.
12279 (grub_script_check_init.c): Likewise.
12280 (pkglib_MODULES): Remove handler.mod and sh.mod.
12281 (handler_mod_SOURCES): Removed.
12282 (handler_mod_CFLAGS): Likewise.
12283 (handler_mod_LDFLAGS): Likewise.
12284 (normal_mod_SOURCES): Remove normal/handler.c.
12285 Add script/main.c, script/script.c, script/execute.c,
12286 script/function.c, script/lexer.c, grub_script.tab.c
12287 and grub_script.yy.c.
12288 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12289 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12290 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
12291 (grub_setup_SOURCES): Remove kern/parser.c.
12292 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12293 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
12294 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
12295 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12296 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12297 (grub_setup_SOURCES): Remove kern/parser.c.
12298 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12299 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
12300 * include/grub/command.h (grub_command_iterate): Removed.
12301 (FOR_COMMANDS): New macro.
12302 * include/grub/dl.h (grub_dl): New member next.
12303 (grub_dl_iterate): Removed.
12304 (grub_dl_head): New variable declaration.
12305 (FOR_DL_MODULES): New macro.
12306 * include/grub/fs.h: Include list.h.
12307 (grub_fs): Make next first element.
12308 (grub_fs_list): New variable declaration.
12309 (grub_fs_register): Make inline.
12310 (grub_fs_unregister): Likewise.
12311 (grub_fs_iterate): Removed.
12312 (FOR_FILESYSTEMS): New macro.
12313 * include/grub/handler.h: Removed.
12314 * include/grub/list.h (grub_list_hook_t): Removed.
12315 (grub_list_test_t): Likewise.
12316 (grub_list_pop): Likewise.
12317 (grub_list_iterate): Likewise.
12318 (grub_list_insert): Likewise.
12319 (FOR_LIST_ELEMENTS): New macro.
12320 * include/grub/parser.h (grub_parser_class): Removed.
12321 (grub_parser_register): Likewise.
12322 (grub_parser_unregister): Likewise.
12323 (grub_parser_get_current): Likewise.
12324 (grub_parser_set_current): Likewise.
12325 (grub_register_rescue_parser): Likewise.
12326 (grub_rescue_parse_line): New function.
12327 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
12328 * include/grub/script_sh.h (grub_script_function_list): New variable
12329 declaration.
12330 (FOR_SCRIPT_FUNCTIONS): New macro.
12331 (grub_script_function_iterate): Removed.
12332 (grub_normal_parse_line): New prototype.
12333 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
12334 (FOR_DISABLED_TERM_INPUTS): Likewise.
12335 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
12336 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
12337 * include/grub/video.h (grub_video_adapter): Move 'next' to first
12338 element.
12339 (grub_video_register): Inline.
12340 (grub_video_unregister): Likewise.
12341 (grub_video_adapter_list): New variable declaration.
12342 (grub_video_iterate): Removed.
12343 (FOR_VIDEO_ADAPTERS): New macro.
12344 * kern/dl.c (grub_dl_list): Removed. All users updated.
12345 (grub_dl_iterate): Removed.
12346 * kern/fs.c (grub_fs_list): Make global.
12347 (grub_fs_register): Removed.
12348 (grub_fs_unregister): Likewise.
12349 (grub_fs_iterate): Likewise.
12350 * kern/handler.c: Removed.
12351 * kern/list.c (grub_list_pop): Removed.
12352 (grub_list_iterate): Likewise.
12353 (grub_list_insert): Likewise.
12354 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
12355 (grub_prio_list_insert): Don't use grub_list_insert.
12356 * kern/main.c (grub_register_rescue_parser): Don't call
12357 grub_register_rescue_parser.
12358 * kern/parser.c (grub_parser_class): Removed.
12359 (grub_parser_execute): Use grub_rescue_parse_line.
12360 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
12361 (grub_rescue_parser): Removed.
12362 (grub_register_rescue_parser): Likewise.
12363 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
12364 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
12365 (grub_auth_check_authentication): Likewise.
12366 * normal/completion.c (iterate_command): Removed.
12367 (grub_normal_do_completion): Use FOR_COMMANDS.
12368 * normal/handler.c: Removed.
12369 * normal/main.c (read_config_file): Remove parser changing.
12370 (grub_normal_execute): Don't call read_handler_list.
12371 (grub_normal_read_line_real): Statically allocate prompt.
12372 (grub_cmdline_run): Use grub_normal_parse_line.
12373 (GRUB_MOD_FINI): Don't call free_handler_list.
12374 * normal/menu_entry.c (run): Likewise.
12375 * script/function.c (grub_script_function_list): Make global.
12376 (grub_script_function_iterate): Removed.
12377 * script/main.c (grub_normal_parse_line): Make global.
12378 (grub_sh_parser): Removed.
12379 (GRUB_MOD_INIT): Likewise.
12380 (GRUB_MOD_FINI): Likewise.
12381 * tests/lib/functional_test.c (grub_functional_test): Use
12382 FOR_LIST_ELEMENTS.
12383 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
12384 (grub_test_run): Use FOR_LIST_ELEMENTS.
12385 * tests/lib/unit_test.c (main): Likewise.
12386 * util/deviceiter.c (grub_util_iterate_devices): Don't use
12387 grub_list_pop.
12388 * util/grub-fstest.c (grub_term_input_class): Removed.
12389 (grub_term_output_class): Likewise.
12390 * util/grub-probe.c: Likewise.
12391 * util/i386/pc/grub-setup.c: Likewise.
12392 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12393 * util/grub-script-check.c (main): Don't call grub_init_all and
12394 grub_fini_all.
12395 * video/video.c (grub_video_adapter_list): Make global.
12396 (grub_video_register): Removed.
12397 (grub_video_unregister): Likewise.
12398 (grub_video_iterate): Likewise.
12399
6289c3a7
VS
124002010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
12401
12402 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
12403 reported by Henrique Ferreiro.
12404
91460247
RM
124052010-06-09 Robert Millan <rmh@gnu.org>
12406
12407 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
12408 ones, when both are available.
12409
0ea7c4f9
GS
124102010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12411
12412 Make --version uniform and avoid hard-coded program name.
12413
12414 * util/grub-mkimage.c (main): Use `program_name' instead of
12415 hard-coded string.
12416 * util/i386/pc/grub-setup.c (main): Likewise.
12417 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
12418 * util/grub-install.in: Save the basename of $0 in $self, and use the
12419 latter in informational messages. Use the same format for --version
12420 as the binary programs.
12421 * util/grub-mkconfig.in: Likewise.
12422 * util/grub-mkrescue.in: Likewise.
12423 * util/grub-reboot.in: Likewise.
12424 * util/grub-set-default.in: Likewise.
12425 * util/i386/efi/grub-install.in: Likewise.
12426 * util/ieee1275/grub-install.in: Likewise.
12427 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12428
e8a6f3b6
GS
124292010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12430
12431 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
12432 embedding area. Use <= instead of == when checking for non-emptiness.
12433
f4d095d7
GS
124342010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12435
12436 * configure.ac: Add `.' to the directories searched for unifont.
12437
50e532ca
CW
124382010-06-08 Colin Watson <cjwatson@ubuntu.com>
12439
12440 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
12441 grub_script.yy.h.
12442
d39f3dec
CW
124432010-06-08 Colin Watson <cjwatson@ubuntu.com>
12444
12445 * docs/grub.texi (History): Expand to cover GRUB 2.
12446 (Serial terminal): Refer to `terminal_input' and `terminal_output'
12447 commands, not `terminal'.
12448 (serial): Likewise.
12449 (terminal_input): New section.
12450 (terminal_output): New section.
12451 (uppermem): New section (stub).
12452 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
12453
6ef0ddb4
CW
124542010-06-08 Colin Watson <cjwatson@ubuntu.com>
12455
12456 * docs/grub.texi (Security): Menu entries are unrestricted by
12457 default, not restricted to superusers as I had previously thought.
12458 Reword to account for this.
12459
e0f4c438
CW
124602010-06-07 Colin Watson <cjwatson@ubuntu.com>
12461
12462 * kern/emu/misc.c (device_mapper_null_log): New function.
12463 (grub_device_mapper_supported): New function.
12464 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
12465 prototype.
12466 * kern/emu/hostdisk.c (find_partition_start): Check whether
12467 device-mapper is supported before trying to use it.
12468 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
12469
da908200
CW
124702010-06-07 Colin Watson <cjwatson@ubuntu.com>
12471
12472 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
12473 (File name syntax): Likewise.
12474 (help): --all is no longer supported in GRUB 2. Be more precise
12475 about pattern matching.
12476
fb55c3ac
CW
124772010-06-07 Colin Watson <cjwatson@ubuntu.com>
12478
12479 * normal/completion.c (grub_normal_do_completion): When completing
12480 arguments to "set" and the current word contains an equals sign,
12481 skip to after the equals sign before starting completion.
12482
258c2573
CW
124832010-06-07 Colin Watson <cjwatson@ubuntu.com>
12484
12485 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
12486
ee75515e
CW
124872010-06-07 Colin Watson <cjwatson@ubuntu.com>
12488
12489 * docs/grub.texi (Network): New section.
12490 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
12491 `(nd)' as in GRUB Legacy.
12492 (pxe_unload): New section.
12493
a6a700aa
CW
124942010-06-07 Colin Watson <cjwatson@ubuntu.com>
12495
12496 * docs/grub.texi (Troubleshooting): `echo' is not usually available
12497 in the rescue shell, so recommend using `set' instead. Thanks,
12498 Jordan Uggla.
12499
4003dd38
CW
125002010-06-07 Colin Watson <cjwatson@ubuntu.com>
12501
12502 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
12503 (password): New section.
12504 (password_pbkdf2): New section.
12505 (search): New section.
12506 (Security): New section.
12507 (Troubleshooting): New section, currently very incomplete.
12508 (Invoking grub-mkpasswd-pbkdf2): New section.
12509 (Internals): New section, currently very incomplete.
12510
e1cbcc40
CW
125112010-06-07 Colin Watson <cjwatson@ubuntu.com>
12512
12513 * util/grub.d/00_header.in: Add some more quoting (of
12514 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
12515 work again.
12516 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
12517
db8fa1ad
CW
125182010-06-07 Colin Watson <cjwatson@ubuntu.com>
12519
12520 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
12521 to `count', fixing variable shadowing that broke the -c option.
12522
125232010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
12524
12525 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
12526 in case they contain spaces.
12527
f28a9212
CW
125282010-06-04 Colin Watson <cjwatson@ubuntu.com>
12529
12530 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
12531 "part_" to partmap module names, in line with grub-install.
12532 Reported by: Jindřich Makovička (Debian bug #584426).
12533
9cdfe32f
CW
125342010-06-04 Colin Watson <cjwatson@ubuntu.com>
12535
12536 * util/grub-mkimage.c: Make target-related error messages slightly
12537 more helpful; -O talks about "format". Explicitly point to the use
12538 of -O if no target is specified.
12539 Reported by: Didier Raboud (Debian bug #584415).
12540
795b593a
CW
125412010-06-03 Colin Watson <cjwatson@ubuntu.com>
12542
12543 * INSTALL: Document several build requirements for optional features
12544 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
12545
9d9b5833
GS
125462010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
12547
12548 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
12549 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
12550 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
12551
0819fec8
CW
125522010-06-02 Colin Watson <cjwatson@ubuntu.com>
12553
12554 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
12555 Thanks to Jordan Uggla for spotting this.
12556
49396b4f
VS
125572010-06-02 Aleš Nesrsta <starous@volny.cz>
12558
12559 Finally make USB usable.
12560
12561 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
12562 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
12563 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
12564 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
12565 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
12566 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
12567 (GRUB_OHCI_FSMPS): Likewise.
12568 (GRUB_OHCI_PERIODIC_START): Likewise.
12569 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
12570 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
12571 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
12572 (GRUB_OHCI_SET_PORT_RESET): Likewise.
12573 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
12574 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
12575 (grub_ohci_transaction): Likewise.
12576 (grub_ohci_transfer): Improve condition detection algorithms.
12577 Handle toggle property. Program the transactions correctly.
12578 Improve error handling. Various important fixups.
12579 (grub_ohci_portstatus): Put register writes in right order.
12580 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
12581 (grub_uhci_transfer): Don't show "failed" message on success.
12582 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
12583 array.
12584 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
12585 determine its size.
12586 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
12587 before initialization is completed. Use IN direction for empty
12588 transfers. Use last_trans and compute toggle.
12589 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
12590 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
12591 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
12592 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
12593 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
12594 (grub_usb_device): Increase toggle to 256.
12595 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
12596 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
12597 GRUB_USBMS_SUBCLASS_SFF8070.
12598 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
12599 (grub_scsi_inquiry): New member page and alloc_length.
12600 (grub_scsi_request_sense): New structure.
12601 (grub_scsi_request_sense_data): Likewise.
12602 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
12603 control.
12604 * disk/scsi.c (grub_scsi_request_sense): New function.
12605 (grub_scsi_test_unit_ready): Likewise.
12606 (grub_scsi_inquiry): Fill new fields.
12607 (grub_scsi_read_capacity): Likewise.
12608 (grub_scsi_read10): Add request sense at the end.
12609 (grub_scsi_read12): Likewise.
12610 (grub_scsi_write10): Likewise.
12611 (grub_scsi_write12): Likewise.
12612 (grub_scsi_open): Add Test Unit Ready.
12613 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
12614 Support additional subclasses. Con't clear halt yet. Activate the
12615 proper config. Calculate LUNs correctly.
12616 (grub_usbms_transfer): Various important fixups.
12617
126182010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
12619
12620 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
12621 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
12622 (grub_ohci_fini_hw): New function.
12623 (grub_ohci_restore_hw): Likewise.
12624 (GRUB_MOD_INIT(ohci)): Register preboot hook.
12625 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
12626 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
12627
126282010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
12629
12630 Dedicated DMA allocations.
12631
12632 * bus/pci.c (grub_memalign_dma32): New function
12633 (grub_dma_free): Likewise.
12634 (grub_dma_get_virt): Likewise.
12635 (grub_dma_get_phys): Likewise.
12636 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
12637 (grub_ohci_pci_iter): Use dma32_alloc.
12638 (grub_ohci_transfer): Likewise.
12639 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
12640 (grub_usb_bulk_readwrite): Likewise.
12641 * include/grub/pci.h: Add declarations.
12642
126432010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
12644
12645 CS5536 support.
12646
12647 * bus/cs5536.c: New file.
12648 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
12649 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
12650 (cs5536_mod_SOURCES): New variable.
12651 (cs5536_mod_CFLAGS): Likewise.
12652 (cs5536_mod_LDFLAGS): Likewise.
12653 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
12654 machine/pci.h.
12655 (kernel_img_SOURCES): Add bus/cs5536.c.
12656 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
12657 usb_keyboard.mod.
12658 (usb_mod_SOURCES): New variable.
12659 (usb_mod_CFLAGS): New variable.
12660 (usb_mod_LDFLAGS): New variable.
12661 (usbtest_mod_SOURCES): New variable.
12662 (usbtest_mod_CFLAGS): New variable.
12663 (usbtest_mod_LDFLAGS): New variable.
12664 (ohci_mod_SOURCES): New variable.
12665 (ohci_mod_CFLAGS): New variable.
12666 (ohci_mod_LDFLAGS): New variable.
12667 (usbms_mod_SOURCES): New variable.
12668 (usbms_mod_CFLAGS): New variable.
12669 (usbms_mod_LDFLAGS): New variable.
12670 (usb_keyboard_mod_SOURCES): New variable.
12671 (usb_keyboard_mod_CFLAGS): New variable.
12672 (usb_keyboard_mod_LDFLAGS): New variable.
12673 * include/grub/smbus.h: New file.
12674 * include/grub/cs5536.h: New file.
12675
0b35b2a9
CW
126762010-06-02 Colin Watson <cjwatson@ubuntu.com>
12677
12678 * util/grub.d/00_header.in: Add safety check to make sure that
12679 ${locale_dir} exists before trying to probe it.
12680
ca0afd5b
CW
126812010-06-02 Colin Watson <cjwatson@ubuntu.com>
12682
12683 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
12684 per the GNU Coding Standards; this is now too obscure to be worth
12685 documenting.
12686 (QNX): Likewise.
12687 (chainloader): Remove cross-reference to `SCO UnixWare'.
12688
1c41aa78
CW
126892010-06-02 Colin Watson <cjwatson@ubuntu.com>
12690
12691 * docs/grub.texi (Chain-loading): New section.
12692 (DOS/Windows): New section, borrowed from GRUB Legacy with details
12693 adjusted for GRUB 2.
12694 (SCO UnixWare): Likewise.
12695 (QNX): Likewise.
12696 (chainloader): Add reference to `Block list syntax'.
12697 (drivemap): New section.
12698 (parttool): New section.
12699
bb8ea0f5
CW
127002010-06-02 Colin Watson <cjwatson@ubuntu.com>
12701
12702 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
12703 the grub shell'.
12704 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
12705 (Installing GRUB using grub-install): Remove reference to the grub
12706 shell; mention `grub-mkimage' and `grub-setup' instead.
12707 (Invoking grub-install): Likewise.
12708 (Interface): Add reference to `Menu entry editor'.
12709 (serial): Remove `--device' option.
12710
288dd6ed
CW
127112010-06-02 Colin Watson <cjwatson@ubuntu.com>
12712
12713 * docs/grub.texi (Configuration): New section, documenting
12714 configuration file generation using grub-mkconfig. I've left a slot
12715 for documenting the full shell scripting format but have not yet
12716 started on writing that up.
12717 (Invoking grub-mkconfig): New section.
12718
34c9f0e9
CW
127192010-06-02 Colin Watson <cjwatson@ubuntu.com>
12720
12721 * docs/grub.texi (direntry): Remove grub-terminfo reference.
12722 (GNU GRUB manual): Likewise.
12723 (General commands): Update description of `terminfo' for GRUB 2.
12724
9121567e
CW
127252010-06-02 Colin Watson <cjwatson@ubuntu.com>
12726
12727 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
12728 (GRUB_MOD_INIT): Fix capitalisation.
12729 * docs/grub.texi (Command-line and menu entry commands): Document
12730 gettext and gptsync commands.
12731
ab631611
CW
127322010-06-02 Colin Watson <cjwatson@ubuntu.com>
12733
12734 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
12735 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
12736
bde4a9ac
CW
127372010-06-01 Colin Watson <cjwatson@ubuntu.com>
12738
12739 Add btrfs probing support, currently only in the single-device case.
12740
12741 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
12742 function.
12743 (grub_guess_root_device): Call find_root_device_from_mountinfo
12744 before looking in /dev.
12745
b1d17e10
VS
127462010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
12747
12748 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
12749 GRUB_DISK_SIZE_UNKNOWN.
12750 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
12751
dfbfe004
JS
127522010-05-31 Jiro SEKIBA <jir@unicus.jp>
12753
12754 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
12755 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
12756 corrupted or not synced properly.
12757
c2ffc8e9
VS
127582010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
12759
12760 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
12761 Reported by: Seth Goldberg.
12762
56293166
VS
127632010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
12764
12765 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
12766 addition of dest.
12767 Reported by: Seth Goldberg.
12768
7620e7de
VS
127692010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
12770
12771 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
12772 Reported by: Seth Goldberg.
12773
c837af3f
VS
127742010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
12775
12776 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
12777 64-bit address as signed on MIPS.
12778
c7c75cf4
CW
127792010-05-28 Colin Watson <cjwatson@ubuntu.com>
12780
12781 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
12782 to the empty string.
12783
fa4b8490
BC
127842010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
12785
12786 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
12787
12788 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
12789 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
12790 * kern/misc.c (__enable_execute_stack): Disable on
12791 GRUB_MACHINE_EMU.
12792
a33075b9
CW
127932010-05-28 Colin Watson <cjwatson@ubuntu.com>
12794
12795 Make grub-probe work with symbolic links under /dev/mapper as well
12796 as with real block devices. The Linux world seems to be (at best)
12797 in transition here, and GRUB shouldn't get caught in the middle.
12798
12799 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
12800 /dev/mapper.
12801
d8708134
CW
128022010-05-27 Colin Watson <cjwatson@ubuntu.com>
12803
12804 * util/grub-script-check.c (main): Ensure defined behaviour on empty
12805 input files (in which case exit zero).
12806
db2102a0
CW
128072010-05-27 Colin Watson <cjwatson@ubuntu.com>
12808
12809 * kern/emu/misc.c (canonicalize_file_name): realpath can still
12810 return NULL for various reasons even if it has a maximum-length
12811 buffer: for example, there might be a symlink loop, or the path
12812 might exceed PATH_MAX. If this happens, return NULL.
12813
5fdba519
RM
128142010-05-27 Robert Millan <rmh@gnu.org>
12815
12816 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
12817 partmap module to handle cross-partmap setups.
12818 Reported by Orestes Mas. Gràcies!
12819
d1d368e4
CW
128202010-05-27 Colin Watson <cjwatson@ubuntu.com>
12821
12822 * util/grub-mkrescue.in: Initialise override_dir rather than
12823 assuming that it's unset or empty in the environment.
12824
95ac3c73
GS
128252010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
12826
12827 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
12828 variable index into p_index to suppress a warning with -Wshadow.
12829
7d8c0213
BC
128302010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
12831
12832 * INSTALL: Added flex >= 2.5.35 requirement.
12833
db4d5813
VS
128342010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
12835
12836 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
12837
f24f4300
VS
128382010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
12839
12840 cmostest support.
12841
12842 * commands/i386/cmostest.c: New file.
12843 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
12844 (cmostest_mod_SOURCES): New variable.
12845 (cmostest_mod_CFLAGS): Likewise.
12846 (cmostest_mod_LDFLAGS): Likewise.
12847 * conf/i386-pc.rmk: Likewise.
12848 * docs/grub.texi (Vendor power-on keys): New section.
12849 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
12850 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
12851 and GRUB_BUTTON_CMOS_ADDRESS.
12852 * util/grub.d/00_header.in: Handle powering-on by separate button.
12853
ad603f61
VS
128542010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
12855
12856 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
12857 Removed drawing_scrollbar argument. All users updated
12858 Fixes #29792.
12859 Reported by Jo Shields
12860
3ecb080a
VS
128612010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
12862
12863 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
12864 buffer since gfxterm handles double repaint.
12865
5f2316c1
VS
128662010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
12867
12868 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
12869 * term/gfxterm.c (real_scroll): Likewise.
12870
9a25f885
VS
128712010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
12872
12873 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
12874 before calling BIOS.
12875
39fbb79a
VS
128762010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
12877
12878 * include/grub/i18n.h: Always enable grub_gettext.
12879
228cfa97
VS
128802010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
12881
12882 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
12883 partition naming style.
12884
21717c8f
CW
128852010-05-21 Colin Watson <cjwatson@ubuntu.com>
12886
12887 * util/grub-mkconfig.in: Fix handling of -o so that it works when
12888 not the first option.
12889
c0f48e65
CW
128902010-05-20 Colin Watson <cjwatson@ubuntu.com>
12891
12892 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
12893
96779aec
CW
128942010-05-20 Colin Watson <cjwatson@ubuntu.com>
12895
12896 * util/misc.c: Move inclusion of <limits.h> to ...
12897 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
12898
fa9d256e
GS
128992010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
12900
12901 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
12902 Fix merge error in NetBSD code.
12903 (find_partition_start) [__NetBSD__]: Likewise.
12904
123b7a85
BC
129052010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
12906
12907 Fix grub-mkrescue usage unit testing.
12908
12909 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
12910
74276c0d
CF
129112010-05-18 Christian Franke <franke@computer.org>
12912
12913 * util/grub.d/10_windows.in: Use path names instead of
12914 drive letters to prevent warning from Cygwin 1.7.
12915 Add drivemap command to menuentry if needed.
12916
c4f7b523
ST
129172010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
12918
12919 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
12920 gnumach and gnumach.gz.
12921
95b97950
VS
129222010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12923
12924 * include/grub/i18n.h (gettext): Inline instead of using #define.
12925 (grub_gettext): Likewise.
12926 (_): Likewise.
12927
01b8d2d7
VS
129282010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12929
12930 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
12931 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
12932 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
12933 (main): Add a slash after pkglibdirroot.
12934
654e1d1e
VS
129352010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12936
12937 * util/grub-install.in: Add missing "in" keyword.
12938
26966aeb
VS
129392010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12940
12941 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
12942 Reported by: Seth Goldberg.
12943
75006747
VS
129442010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12945
12946 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
12947
74cbf5bd
CW
129482010-05-18 Colin Watson <cjwatson@ubuntu.com>
12949
12950 * configure.ac: Check for Linux device-mapper support.
12951
12952 * util/hostdisk.c (device_is_mapped): New function.
12953 (find_partition_start): New function, partly broken out from
12954 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
12955 device-mapper support added.
12956 (linux_find_partition): Use find_partition_start.
12957 (convert_system_partition_to_system_disk): Add `st' argument.
12958 Support Linux /dev/mapper/* devices if device-mapper support is
12959 available; only DM-RAID devices are understood at present.
12960 (find_system_device): Add `st' argument. Pass it to
12961 convert_system_partition_to_system_disk.
12962 (grub_util_biosdisk_get_grub_dev): Pass stat result to
12963 find_system_device and convert_system_partition_to_system_disk. Use
12964 find_partition_start.
12965
12966 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
12967 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
12968 * util/deviceiter.c [__linux__]: Define MINOR.
12969 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
12970 * util/mkdevicemap.c (grub_putchar): New function.
12971 (grub_getkey): New function.
12972 (grub_refresh): New function.
12973 (main): Set debug=all if -v -v is used.
12974
355b51e9
CW
129752010-05-18 Colin Watson <cjwatson@ubuntu.com>
12976
12977 Fix build with non-GNU libcs.
12978
12979 * util/misc.c (canonicalize_file_name): Move to ...
12980 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
12981 grub_make_system_path_relative_to_its_root.
12982
7fb5c25f
CW
129832010-05-18 Colin Watson <cjwatson@ubuntu.com>
12984
12985 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
12986 we handle finding grub-mkimage. Default to finding grub-mkimage in
12987 ${bindir} with program_transform_name applied, and provide a
12988 --grub-mkimage option to override this.
12989
1d3293d6
VS
129902010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12991
12992 Remove grub-mkisofs.
12993
12994 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
12995 (grub_mkisofs_SOURCES): Removed.
12996 (grub_mkisofs_CFLAGS): Removed.
12997 * util/mkisofs/defaults.h: Removed.
12998 * util/mkisofs/eltorito.c: Likewise.
12999 * util/mkisofs/exclude.h: Likewise.
13000 * util/mkisofs/hash.c: Likewise.
13001 * util/mkisofs/include/: Likewise.
13002 * util/mkisofs/include/fctldefs.h: Likewise.
13003 * util/mkisofs/include/mconfig.h: Likewise.
13004 * util/mkisofs/include/prototyp.h: Likewise.
13005 * util/mkisofs/include/statdefs.h: Likewise.
13006 * util/mkisofs/iso9660.h: Likewise.
13007 * util/mkisofs/joliet.c: Likewise.
13008 * util/mkisofs/match.c: Likewise.
13009 * util/mkisofs/match.h: Likewise.
13010 * util/mkisofs/mkisofs.c: Likewise.
13011 * util/mkisofs/mkisofs.h: Likewise.
13012 * util/mkisofs/msdos_partition.h: Likewise.
13013 * util/mkisofs/multi.c: Likewise.
13014 * util/mkisofs/name.c: Likewise.
13015 * util/mkisofs/rock.c: Likewise.
13016 * util/mkisofs/tree.c: Likewise.
13017 * util/mkisofs/write.c: Likewise.
13018
5dde9afe
VS
130192010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13020
13021 Unify grub-mkimage accross platforms.
13022
13023 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
13024 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
13025 (grub_mkelfimage_SOURCES): Removed.
13026 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
13027 (util/grub-mkimage.c_DEPENDENCIES): .. this.
13028 (bin_UTILITIES): Add grub-mkimage.
13029 (grub_mkimage_SOURCES): New variable.
13030 (kernel_img_HEADERS): Remove machine/kernel.h.
13031 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
13032 (pkglib_PROGRAMS): Add kernel.img.
13033 (kernel_img_HEADERS): Add machine/kernel.h.
13034 (kernel_img_FORMAT): Removed.
13035 (bin_UTILITIES): Remove grub-mkimage.
13036 (grub_mkimage_SOURCES): Removed.
13037 (grub_mkimage_CFLAGS): Likewise.
13038 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13039 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
13040 (pkglib_PROGRAMS): Add kernel.img.
13041 (bin_UTILITIES): Remove grub-mkimage.
13042 (grub_mkimage_SOURCES): Removed.
13043 (grub_mkimage_CFLAGS): Likewise.
13044 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13045 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
13046 (pkglib_PROGRAMS): Add kernel.img.
13047 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
13048 (pkglib_PROGRAMS): Add kernel.img.
13049 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
13050 (grub_mkimage_SOURCES): Removed.
13051 (grub_mkimage_CFLAGS): Likewise.
13052 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13053 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
13054 (pkglib_PROGRAMS): Add kernel.img.
13055 (bin_UTILITIES): Remove grub-mkimage.
13056 (grub_mkimage_SOURCES): Removed.
13057 (grub_mkimage_CFLAGS): Likewise.
13058 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13059 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
13060 (grub_mkimage_SOURCES): Removed.
13061 (grub_mkimage_CFLAGS): Likewise.
13062 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13063 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
13064 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
13065 (grub_pe32_optional_header): ... this.
13066 (grub_pe64_optional_header): ... and this. All users updated.
13067 (GRUB_PE32_PE32_MAGIC): Split into ..
13068 (GRUB_PE32_PE32_MAGIC): .. this.
13069 (GRUB_PE32_PE64_MAGIC): .. and this.
13070 (GRUB_PE32_SIGNATURE_SIZE): New definition.
13071 * include/grub/elf.h (PT_GNU_STACK): New definition.
13072 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
13073 * include/grub/i386/efi/kernel.h: Likewise.
13074 * include/grub/i386/kernel.h: Likewise.
13075 * include/grub/i386/pc/kernel.h: Likewise.
13076 * include/grub/i386/qemu/boot.h: Likewise.
13077 * include/grub/mips/kernel.h: Likewise.
13078 * include/grub/mips/qemu-mips/kernel.h: Likewise.
13079 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13080 * include/grub/powerpc/kernel.h: Likewise.
13081 * include/grub/sparc64/ieee1275/boot.h: Likewise.
13082 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13083 * include/grub/sparc64/kernel.h: Likewise.
13084 * include/grub/x86_64/efi/kernel.h: Likewise.
13085 * include/grub/x86_64/kernel.h: Likewise.
13086 * include/grub/offsets.h: New file.
13087 * include/grub/kernel.h (grub_module_info): Split into ...
13088 (grub_module_info32): ... this.
13089 (grub_module_info64): ... and this.
13090 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
13091 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
13092 (grub_boot_blocklist): Moved from here ...
13093 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
13094 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
13095 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
13096 * include/grub/types.h (grub_target_to_host16): Removed.
13097 (grub_target_to_host32): Likewise.
13098 (grub_target_to_host64): Likewise.
13099 (grub_host_to_target16): Likewise.
13100 (grub_host_to_target32): Likewise.
13101 (grub_host_to_target64): Likewise.
13102 (grub_host_to_target_addr): Likewise.
13103
13104 Support grub-mkrescue for efi, coreboot and qemu.
13105
13106 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
13107 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
13108 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
13109 * util/grub-mkrawimage.c: Moved from here ...
13110 * util/grub-mkimage.c: ... here. All users updated.
13111 (ALIGN_ADDR): Use image_target.
13112 (TARGET_NO_FIELD): New const.
13113 (image_target_desc): New type.
13114 (image_targets): New array.
13115 (grub_target_to_host64): Use image_target.
13116 (grub_target_to_host32): Likewise.
13117 (grub_target_to_host16): Likewise.
13118 (grub_host_to_target64): Likewise.
13119 (grub_host_to_target32): Likewise.
13120 (grub_host_to_target16): Likewise.
13121 (grub_host_to_target_addr): Likewise.
13122 (generate_image): Handle multiimage.
13123 (main): Require -O parameter. All users updated.
13124 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
13125 util/efi/grub-mkimage.c
13126 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
13127 New option --rom-directory.
13128 Use xorriso.
13129 * util/i386/efi/grub-mkimage.c: Removed.
13130 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
13131 (grub_target_to_host32): Likewise.
13132 (grub_target_to_host64): Likewise.
13133 (grub_host_to_target16): Likewise.
13134 (grub_host_to_target32): Likewise.
13135 (grub_host_to_target64): Likewise.
13136 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
13137 (grub_target_to_host32): Likewise.
13138 (grub_target_to_host64): Likewise.
13139 (grub_host_to_target16): Likewise.
13140 (grub_host_to_target32): Likewise.
13141 (grub_host_to_target64): Likewise.
13142
f4fc97d0
BC
131432010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
13144
13145 Source tree is reorganized for emu build.
13146
13147 * include/grub/util/console.h: Move from here...
13148 * include/grub/emu/console.h: ...to here.
13149 * include/grub/util/getroot.h: Move from here...
13150 * include/grub/emu/getroot.h: ...to here.
13151 * include/grub/util/hostdisk.h: Move from here...
13152 * include/grub/emu/hostdisk.h: ...to here.
13153 * util/console.c: Move from here...
13154 * kern/emu/console.c: ...to here.
13155 * util/getroot.c: Move from here...
13156 * kern/emu/getroot.c: ...to here.
13157 * util/grub-emu.c: Move from here...
13158 * kern/emu/main.c: ...to here.
13159 * util/hostdisk.c: Move from here...
13160 * kern/emu/hostdisk.c: ...to here.
13161 * util/hostfs.c: Move from here...
13162 * kern/emu/hostfs.c: ...to here.
13163 * util/mm.c: Move from here...
13164 * kern/emu/mm.c: ...to here.
13165 * util/pci.c: Move from here...
13166 * bus/emu/pci.c: ...to here.
13167 * util/sdl.c: Move from here...
13168 * video/emu/sdl.c: ...to here.
13169 * util/time.c: Move from here...
13170 * kern/emu/time.c: ...to here.
13171 * util/usb.c: Move from here...
13172 * bus/usb/emu/usb.c: ...to here.
13173
13174 * include/grub/emu/misc.h: New header for grub-emu functions.
13175 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
13176
13177 * conf/any-emu.rmk: Rule updates for above renames.
13178 * conf/common.rmk: Likewise.
13179 * conf/i386-pc.rmk: Likewise.
13180 * conf/i386-qemu.rmk: Likewise.
13181 * conf/mips.rmk: Likewise.
13182 * conf/sparc64-ieee1275.rmk: Likewise.
13183 * conf/x86-efi.rmk: Likewise.
13184
13185 * disk/lvm.h: #include updates for above renames.
13186 * util/grub-mkrelpath.c: Likewise.
13187 * util/grub-probe.c: Likewise.
13188 * util/i386/pc/grub-setup.c: Likewise.
13189 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13190 * kern/emu/console.c: Likewise.
13191 * kern/emu/getroot.c: Likewise.
13192 * kern/emu/hostdisk.c: Likewise.
13193 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
13194
13195 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
13196 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
13197 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
13198 * util/misc.c: Remove grub-emu functions.
13199
cced9145
VS
132002010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13201
13202 Fix gfxmenu crash.
13203 Reported by: Thorsten Grützmacher.
13204
13205 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
13206 timeout hook.
13207 (circprog_set_property): Register and unregister timeout hook.
13208 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
13209 (label_destroy): Free template. and unregister hook.
13210 (label_set_state): New function.
13211 (label_set_property): Handle templates and hooks.
13212 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
13213 timeout hook.
13214 (progress_bar_set_property): Register and unregister timeout hook.
13215 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
13216 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
13217 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
13218 (update_timeout_visit): Removed.
13219 (update_timeouts): New function.
13220 (redraw_timeouts): Likewise.
13221 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
13222 (grub_gfxmenu_clear_timeout): Likewise.
13223 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
13224 (grub_gfxmenu_timeout_notify): Likewise.
13225 (grub_gfxmenu_timeout_notifications): New external variable.
13226 (grub_gfxmenu_timeout_register): New function.
13227 (grub_gfxmenu_timeout_unregister): Likewise.
13228
c6e5caab
VS
132292010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13230
13231 Transform (broken) vga terminal into (working) vga video driver.
13232
13233 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
13234 video/i386/pc/vga.c.
13235 * include/grub/video.h (grub_video_driver_id):
13236 Add GRUB_VIDEO_DRIVER_VGA.
13237 * term/i386/pc/vga.c: Renamed to ...
13238 * video/i386/pc/vga.c: ...this
13239 (DEBUG_VGA): Removed.
13240 (CHAR_WIDTH): Likewise.
13241 (CHAR_HEIGHT): Likewise.
13242 (TEXT_WIDTH): Likewise.
13243 (TEXT_HEIGHT): Likewise.
13244 (DEFAULT_FG_COLOR): Likewise.
13245 (DEFAULT_BG_COLOR): Likewise.
13246 (colored_char): Likewise.
13247 (xpos): Likewise.
13248 (ypos): Likewise.
13249 (cursor_state): Likewise.
13250 (fg_color): Likewise.
13251 (bg_color): Likewise.
13252 (text_buf): Likewise.
13253 (page): Likewise.
13254 (font): Likewise.
13255 (framebuffer): New variable.
13256 (set_read_map): Disabled.
13257 (setup): New variable.
13258 (is_target): Likewise.
13259 (grub_vga_mod_init): Likewise.
13260 (grub_vga_mod_fini): Likewise.
13261 (check_vga_mem): Likewise.
13262 (write_char): Likewise.
13263 (write_cursor): Likewise.
13264 (scroll_up): Likewise.
13265 (grub_vga_putchar): Likewise.
13266 (grub_vga_getcharwidth): Likewise.
13267 (grub_vga_getwh): Likewise.
13268 (grub_vga_getxy): Likewise.
13269 (grub_vga_gotoxy): Likewise.
13270 (grub_vga_cls): Likewise.
13271 (grub_vga_setcolorstate): Likewise.
13272 (grub_vga_setcursor): Likewise.
13273 (grub_video_vga_init): New function.
13274 (grub_video_vga_setup): Likewise.
13275 (grub_video_vga_fini): Likewise.
13276 (update_target): Likewise.
13277 (grub_video_vga_blit_bitmap): Likewise.
13278 (grub_video_vga_blit_render_target): Likewise.
13279 (grub_video_vga_set_active_render_target): Likewise.
13280 (grub_video_vga_get_active_render_target): Likewise.
13281 (grub_video_vga_swap_buffers): Likewise.
13282 (grub_video_vga_set_palette): Likewise.
13283 (grub_video_vga_get_info_and_fini): Likewise.
13284 (grub_vga_term): Removed.
13285 (grub_video_vga_adapter): New variable.
13286 (GRUB_MOD_INIT): Register a video driver instead of terminal.
13287 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
13288
2bf61a98
VS
132892010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13290
13291 * video/readers/jpeg.c: Indented.
13292
09ddcd11
VS
132932010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13294
13295 Various jpeg cleanups.
13296
13297 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
13298 (grub_jpeg_decode_quan_table): Use sizeof.
13299 (grub_jpeg_decode_du): Use ARRAY_SIZE.
13300
e5507505
PH
133012010-05-05 Peter Hurley <No e-mail available> (tiny change)
13302
13303 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
13304 tables. Ignore non-last ac bit.
13305 (grub_jpeg_decode_quan_table): Likewise.
13306
7e720a9b
VS
133072010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13308
13309 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
13310 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
13311 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13312 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
13313 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
13314 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
13315
a7fc080b
VS
133162010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13317
13318 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
13319 error.
13320
2bf6012d
VS
133212010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13322
13323 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
13324
265d68cd
VS
133252010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
13326
13327 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
13328 condition.
13329
133302010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
13331
13332 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
13333 part.
13334
265d68cd 133352010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
13336
13337 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
13338 pointers.
13339
265d68cd 133402010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
13341
13342 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
13343
d1b61374
CF
133442010-05-01 Christian Franke <franke@computer.org>
13345
13346 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
13347 Remove broken Cygwin path conversion.
13348 * util/misc.c: [__CYGWIN__] Add include and define.
13349 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
13350 for Cygwin 1.7.
13351 (make_system_path_relative_to_its_root): Simplify loop, replace early
13352 return by break.
13353 [__CYGWIN__] Add conversion to win32 path.
13354 Include "/" case in trailing slash removal.
13355
3558c6e9
VS
133562010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13357
13358 * kern/main.c (grub_load_config): Fix copy-pasted comment.
13359 Reported by: Seth Goldberg
13360
f5f3ff93
VS
133612010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13362
13363 * commands/help.c (grub_cmd_help): Fix a typo.
13364 Reported by: Seth Goldberg
13365
d8b5cd40
VS
133662010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13367
13368 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
13369 name and add N_.
13370 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
13371 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
13372 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
13373 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
13374 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
13375 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
13376 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
13377 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
13378 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
13379 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
13380 * normal/context.c (GRUB_MOD_INIT): Likewise.
13381 * normal/main.c (GRUB_MOD_INIT): Likewise.
13382 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
13383 * term/serial.c (GRUB_MOD_INIT): Likewise.
13384 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
13385
88c14915
VS
133862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13387
13388 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
13389 extra == 0.
13390
165134bc
VS
133912010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13392
13393 * commands/iorw.c: New file.
13394 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
13395 (iorw_mod_SOURCES): New variable.
13396 (iorw_mod_CFLAGS): Likewise.
13397 (iorw_mod_LDFLAGS): Likewise.
13398
c5ac9b32
VS
133992010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13400
13401 Hotkey support
13402
13403 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
13404 * normal/main.c (hotkey_aliases): New variable.
13405 (grub_normal_add_menu_entry): Parse "--hotkey".
13406 * normal/menu_text.c (run_menu): Handle hotkeys.
13407
ce60689c
VS
134082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13409
13410 * kern/i386/coreboot/init.c (grub_machine_init): Call
13411 grub_machine_mmap_init on qemu.
13412
0359d006
VS
134132010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13414
13415 * boot/i386/qemu/boot.S: Add a missing .code16.
13416
7819a456
VS
134172010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13418
13419 Use LBIO on coreboot.
13420
13421 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
13422 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
13423 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
13424 New declaration.
13425 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
13426 grub_machine_mmap_init on coreboot.
13427 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
13428 GRUB_LINUXBIOS_MEMBER_LINK.
13429 (grub_machine_mmap_iterate): Fix declaration.
13430 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
13431
7210dca9
VS
134322010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13433
13434 Split coreboot and multiboot ports.
13435
13436 * conf/i386-multiboot.rmk: New file.
13437 * configure.ac: Add multiboot port.
13438 * include/grub/i386/multiboot/boot.h: New file.
13439 * include/grub/i386/multiboot/console.h: Likewise.
13440 * include/grub/i386/multiboot/init.h: Likewise.
13441 * include/grub/i386/multiboot/kernel.h: Likewise.
13442 * include/grub/i386/multiboot/loader.h: Likewise.
13443 * include/grub/i386/multiboot/memory.h: Likewise.
13444 * include/grub/i386/multiboot/serial.h: Likewise.
13445 * include/grub/i386/multiboot/time.h: Likewise.
13446 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
13447 * loader/multiboot.c: Likewise.
13448 * loader/multiboot_mbi2.c: Likewise.
13449 * util/grub-mkrescue.in: Generate multiboot rescue.
13450
6f8aaf68
VS
134512010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13452
3080f7a7
VS
13453 * kern/parser.c (grub_parser_execute): Cope with read-only config.
13454
134552010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13456
13457 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
13458
13459 * commands/terminal.c (abstract_terminal): New struct.
13460 (handle_command): New function. Based on grub_cmd_terminal_input.
13461 (grub_cmd_terminal_input): Use handle_command.
13462 (grub_cmd_terminal_output): Use handle_command.
13463
a8ebb841
BC
134642010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
13465
13466 Fix comment handling.
13467
13468 * tests/grub_script_comments.in: New testcase.
13469 * conf/tests.rmk: Rules for new testcase.
13470 * script/yylex.l: Updated flex rules.
13471
bb06ba08
ST
134722010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
13473
13474 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
13475 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
13476 if argc is 1.
bb06ba08 13477
cc9d2425
VS
134782010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
13479
13480 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
13481 autogen issues.
13482
460d8402
CF
134832010-04-26 Christian Franke <franke@computer.org>
13484
13485 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
13486 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
13487 (grub_get_prefix): Remove function.
13488 * util/grub-emu.c (main): Replace grub_get_prefix () call by
13489 make_system_path_relative_to_its_root ().
13490 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
13491
553c01f9
CF
134922010-04-24 Christian Franke <franke@computer.org>
13493
13494 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
13495 (kernel_img_LDFLAGS): Remove -static-libgcc.
13496
2aec1692
CF
134972010-04-24 Christian Franke <franke@computer.org>
13498
13499 * configure.ac: Do not CHECK_BSS_START_SYMBOL
13500 and CHECK_END_SYMBOL if grub-emu is built.
13501 Unset TARGET_OBJ2ELF if grub-emu is built
13502 without module support.
13503
f67dc308
JS
135042010-04-24 Jiro SEKIBA <jir@unicus.jp>
13505
13506 Nilfs2 support.
13507
13508 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
13509 (grub_fstest_SOURCES): Likewise.
13510 (pkglib_MODULES): Add nilfs2.mod.
13511 (nilfs2_mod_SOURCES): New variable.
13512 (nilfs2_mod_CFLAGS): Likewise.
13513 (nilfs2_mod_LDFLAGS): Likewise.
13514 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
13515 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
13516 * fs/nilfs2.c: New file.
13517
4ba8d354
VS
135182010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
13519
13520 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
13521 is not supported.
13522
0d2c20c6
GS
135232010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
13524
13525 Add grub-mkconfig support for NetBSD.
13526
13527 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
13528 * util/grub-mkconfig.in: export new NetBSD specific variables.
13529 * po/POTFILES-shell: added 10_netbsd.in.
13530 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
13531
bc4a2d83
BC
135322010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
13533
13534 Fix emu build with grub-emu-pci and grub-emu-modules.
13535
13536 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
13537 functions.
13538 * include/grub/libpciaccess.h: New file.
13539 * conf/any-emu.rmk: Update kernel headers for emu build.
13540
f48c87aa
VS
135412010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13542
13543 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
13544
18959385
VS
135452010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13546
13547 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
13548
0037de3f
VS
135492010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13550
13551 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
13552 Retrieve chosen/bootpath if bootpath isn't hardcoded.
13553 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
13554 util/ieee1275/ofpath.c.
13555 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
13556 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
13557 * include/grub/sparc64/ieee1275/boot.h
13558 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
13559 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
13560 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
13561 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
13562 const char *.
13563 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
13564 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
13565 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
13566 install.
13567
38e55e90
GS
135682010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
13569
13570 * util/grub-mkconfig.in: Corrected two == equality tests.
13571 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
13572 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
13573 expect a number appended to it.
13574 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
13575 expects a number appended to it.
13576
a9e6ff28
VS
135772010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13578
13579 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
13580
0b830b8f
VS
135812010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13582
13583 * util/hostdisk.c (make_device_name): Change to new partition naming.
13584
0973daeb
VS
135852010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
13586
13587 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
13588
460d8402 135892010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
13590
13591 * Makefile.in: Add missing localedir setting.
13592
0b456309
CW
135932010-04-14 Colin Watson <cjwatson@ubuntu.com>
13594
13595 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
13596 mistake in r2156. Noticed by Anthony Fok.
13597
13598 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
13599 @localedir@.
13600 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
13601
08f46d62
BC
136022010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
13603
13604 Fix a spurious, uninitialized variable warning.
13605
13606 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
13607 Initialize variable, shdr.
13608 (grub_freebsd_load_elfmodule): Likewise.
13609 (grub_freebsd_load_elf_meta): Likewise.
13610
8c4a72d4
BC
136112010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
13612
13613 Fix for escaped dollar in double quoted strings.
13614
13615 * script/yylex.l: Updated flex rules.
13616 * conf/tests.rmk: Rule for new testcase.
13617 * tests/grub_script_dollar.in: New testcase.
13618
ce44826e
CPE
136192010-04-13 Carles Pina i Estany <carles@pina.cat>
136202010-04-13 Colin Watson <cjwatson@ubuntu.com>
13621
13622 Enclose all translated strings in grub.cfg in single quotes, and
13623 escape them appropriately (Ubuntu bug #552921).
13624
13625 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
13626 * util/grub.d/10_hurd.in: Use it.
13627 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
13628 * util/grub.d/10_linux.in (linux_entry): Likewise.
13629
4b0cd8f8
VS
136302010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13631
13632 Fix cygwin compilation.
13633
13634 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
13635 * include/grub/misc.h (__register_frame_info)
13636 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
13637 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
13638 * kern/misc.c (__register_frame_info)
13639 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
13640 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
13641
01fcf061
VS
136422010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13643
13644 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
13645
5d04b11e
VS
136462010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13647
13648 Unify libgcc processing.
13649
13650 * Makefile.in (kernel_img_LDFLAGS): New variable.
13651 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
13652 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
13653 overwriting.
13654 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
13655 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
13656 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
13657 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
13658 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
13659 overwriting. Remove -lgcc and -static-libgcc
13660 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
13661 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
13662 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
13663 (kernel_img_LDFLAGS): Append instead of overwriting.
13664 Remove -lgcc and -static-libgcc
13665 * conf/sparc64-ieee1275.rmk: Likewise.
13666 * include/grub/powerpc/libgcc.h: Move to ...
13667 * include/grub/libgcc.h: .. this.
13668 * include/grub/libgcc.h: Don't export most of the function on x86.
13669 (__bswapsi2): New export.
13670 (__bswapdi2): Likewise.
13671 * include/grub/mips/libgcc.h: Removed.
13672 * include/grub/sparc64/libgcc.h: Likewise.
13673
b7f3ac29
VS
136742010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13675
13676 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
13677 disk_info_msg (conflicts with gettexting into languages with cases).
13678
2c7031b1
GS
136792010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
13680
13681 Add grub-probe support for NetBSD.
13682
13683 * util/getroot.c (find_root_device): Convert block device to
13684 character device on NetBSD.
13685 * util/probe.c (probe): Require character device on NetBSD.
13686 * util/hostdisk.c: NetBSD specific headers.
13687 (configure_device_driver): new function to tune device driver
13688 parameters (currently only for NetBSD floppy driver).
13689 (grub_util_biosdisk_open): NetBSD specific code (get disk size
13690 via disklabel ioctl).
13691 (open_device): call configure_device_driver on NetBSD.
13692 (convert_system_partition_to_system_disk): NetBSD specific code.
13693 (device_is_wholedisk): Likewise.
13694 (grub_util_biosdisk_get_grub_dev): Likewise.
13695 (make_device_name): Fixed a typo in bsd_part_str.
13696 * configure.ac: check for opendisk() and getrawpartition() on
13697 NetBSD and set LIBUTIL.
13698 * Makefile.in: add LIBUTIL to LIBS.
13699
f516290c
BC
137002010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
13701
13702 Documentation fix.
13703
13704 * util/grub-script-check.c: Better help message.
13705
d8dcc0df
BC
137062010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
13707
13708 Fix FreeBSD build.
13709
13710 * configure.ac: Flex version check.
13711 * conf/common.rmk: Add -Wno-error to sh.mod.
13712 * script/yylex.l: Remove all #pragma.
13713
6734334a
VS
137142010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13715
13716 * include/grub/util/misc.h (canonicalise_file_name): Add missing
13717 prototype.
13718 Reported by: Seth Goldberg.
13719
daea6abd
VS
137202010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13721
13722 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
13723 Rename "module" to "module2".
13724 Reported by: Seth Goldberg.
13725
f2fd9d2b
VS
137262010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13727
13728 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
13729 EXPORT_FUNC.
13730 Reported by: Seth Goldberg.
13731
be124579
VS
137322010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13733
13734 * lib/posix_wrap/locale.h: Add missing file.
13735 Reported by: Seth Goldberg.
13736
ef5da797
VS
137372010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13738
13739 grub-emu module load support.
13740
13741 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
13742 NO_DYNAMIC_MODULES switched to this.
13743 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
13744 (CFLAGS): Likewise.
13745 * conf/any-emu.rmk: Generate symlist.
13746 (kernel_img_HEADERS): Add util/datetime.h.
13747 (kernel_img_HEADERS) [sdl]: Add sdl.h.
13748 (kernel_img_HEADERS) [libusb]: Add libusb.h.
13749 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
13750 kern/$(target_cpu)/cache.S.
13751 * configure.ac (grub-emu-modules): New option.
13752 * genmk.rb: Handle multiple source lists.
13753 * include/grub/sdl.h: New file.
13754 * include/grub/libusb.h: Likewise.
13755 * util/grub-emu.c (main): Hanle (host) root.
13756 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
13757 GRUB_ERR_UNKNOWN_DEVICE.
13758 * util/misc.c: Move mm functions to ...
13759 * util/mm.c: ... here. All users updated.
13760
47822096
VS
137612010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13762
13763 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
13764 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
13765 missing files.
13766 (maintainer-clean): Remove libgcrypt-grub.
13767
5d7e7445
VS
137682010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13769
13770 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
13771
25f4e252
EC
137722010-04-09 EFI Coder <eficoder@hotmail.com>
13773
13774 * normal/menu_text.c (print_message): Clean up the message and show
13775 the Fn information when on EFI
13776 * term/efi/console.c (grub_console_checkkey): Add F4 support.
13777
027de555
VS
137782010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13779
13780 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
13781 All users updated.
13782 * normal/crypto.c (read_crypto_list): Likewise.
13783 * normal/dyncmd.c (read_command_list): Likewise.
13784 * normal/term.c (read_terminal_list): Likewise.
13785 * normal/main.c (read_lists): Use explicit prefix.
13786 (read_lists_hook): Use read_lists.
13787 (grub_normal_execute): Likewise.
13788
47779711
VS
137892010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13790
13791 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
13792 Reported by: Thomas Schmitt.
13793 Add -no-emul-boot to grub-mkisofs parameters.
13794
1118c32e
VS
137952010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13796
13797 * font/font.c: Indented.
13798
7d652447
BC
137992010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
13800
13801 Elif support to GRUB script (by Deepak Vankadaru).
13802
13803 * tests/grub_script_if.in: New testcase.
13804 * conf/tests.rmk: Rule for new testcase.
13805 * script/parser.y: Grammar rules for elif.
13806
34bb22df
BC
138072010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
13808
13809 While and until loops support to GRUB script.
13810
13811 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
13812 (grub_script_create_cmdwhile): New function prototype.
13813 (grub_script_execute_cmdwhile): New function prototype.
13814 * script/execute.c (grub_script_execute_cmdwhile): New function.
13815 * script/parser.y (command): New commands.
13816 (whilecmd): New grammar rule.
13817 (untilcmd): New grammar rule.
13818 * script/script.c (grub_script_create_cmdwhile): New function.
13819 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
13820 function.
13821
13822 * tests/grub_script_while1.in: New testcase.
13823 * conf/tests.rmk: Rule for new testcase.
13824
e215d8e0
VS
138252010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13826
13827 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
13828 as *.jpg.
13829
d7c43ba1
MV
138302010-04-09 Mario Vazquez <mariovazq@gmail.com>
13831
13832 GRUB_BACKGROUND support.
13833
13834 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
13835 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
13836
d64795c0
VS
138372010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13838
13839 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 13840 Idea by: Mario Vazquez
d64795c0
VS
13841
13842 * util/grub.d/00_header.in: Load pf2 and image modules.
13843
f267f83a
VS
138442010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13845
13846 grub-mkconfig multiple terminal support.
13847
13848 * util/grub-mkconfig.in: Handle multiple terminals correctly.
13849 * util/grub.d/00_header.in: Likewise.
13850
b7841ceb
VS
138512010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13852
13853 * Makefile.in: Specify files explicitly instead of using $< and $@ since
13854 we use cd $(srcdir).
13855
df60998c
CW
138562010-04-08 Colin Watson <cjwatson@ubuntu.com>
13857
13858 * util/grub.d/10_linux.in: Only use the first word of
13859 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
13860 spaces in GRUB_DISTRIBUTOR.
13861 * util/grub.d/10_kfreebsd.in: Likewise.
13862 * util/grub.d/10_hurd.in: Likewise.
13863
fa09c82e
BC
138642010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
13865
14e18ae3 13866 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
13867
13868 * tests/util/grub-shell.in: Remove -serial stdio option.
13869
daf892b3
BC
138702010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13871
13872 POSIX header file wrappers.
13873
13874 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
13875 equivalents.
13876 * lib/posix_wrap/ctype.h: Likewise.
13877 * lib/posix_wrap/errno.h: Likewise.
13878 * lib/posix_wrap/langinfo.h: Likewise.
13879 * lib/posix_wrap/limits.h: Likewise.
13880 * lib/posix_wrap/localcharset.h: Likewise.
13881 * lib/posix_wrap/stdint.h: Likewise.
13882 * lib/posix_wrap/stdio.h: Likewise.
13883 * lib/posix_wrap/stdlib.h: Likewise.
13884 * lib/posix_wrap/string.h: Likewise.
13885 * lib/posix_wrap/sys/types.h: Likewise.
13886 * lib/posix_wrap/unistd.h: Likewise.
13887 * lib/posix_wrap/wchar.h: Likewise.
13888 * lib/posix_wrap/wctype.h: Likewise.
13889 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
13890 (grub_script.yy.h): Likewise.
13891 * script/yylex.l: Remove POSIX emulation #defines.
13892 * Makefile.in (POSIX_CFLAGS): New variable.
13893 (GNULIB_UTIL_CFLAGS): Likewise.
13894
13895 Regexp support.
13896
13897 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
13898 (regexp_mod_SOURCES): New variable.
13899 (regexp_mod_CFLAGS): Likewise.
13900 (regexp_mod_LDFLAGS): Likewise.
13901 * commands/regexp.c: New file.
13902 * gnulib/regcomp.c: New file. Imported from gnulib.
13903 * gnulib/regex.c: Likewise.
13904 * gnulib/regex_internal.c: Likewise.
13905 * gnulib/regex_internal.h: Likewise.
13906 * gnulib/regexec.c: Likewise.
13907 * gnulib/regex.h: Likewise.
13908
974ac4f7
VS
139092010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13910
13911 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
13912 unsupported video mode types.
13913
2622c3ff
VS
139142010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13915
13916 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
13917
064cb524
VS
139182010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13919
13920 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
13921 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
13922
a8c3b552
VS
139232010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
13924
13925 Remove unused grub_vga_get_font.
13926
13927 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
13928 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
13929
187bbe3d
GS
139302010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13931
13932 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
13933 * include/grub/misc.h: Likewise.
13934
b9396631
GS
139352010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13936
13937 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
13938 for which failure is fatal.
13939
50479feb
GS
139402010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13941
13942 * util/grub-install.in: Use mkdir -p to create grub directory.
13943 * util/i386/efi/grub-install.in: Likewise.
13944 * util/ieee1275/grub-install.in: Likewise.
13945
b1654fdf
GS
139462010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13947
13948 * Makefile.in (LEX): new variable.
13949
bd5a6415
GS
139502010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13951
13952 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
13953 `=' and added double quotes on operands of this equality test.
13954
3db3a82b
VS
139552010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
13956
13957 * Makefile.in (uninstall): Remove a leftover debug echo.
13958 Reported by: Grégoire Sutre
13959
38023412
VS
139602010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
13961
13962 MIPS multiboot2 support.
13963
13964 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
13965 (multiboot2_mod_SOURCES): New variable.
13966 (multiboot2_mod_CFLAGS): Likewise.
13967 (multiboot2_mod_LDFLAGS): Likewise.
13968 (multiboot2_mod_ASFLAGS): Likewise.
13969 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
13970 definition.
13971 (MULTIBOOT_ENTRY_REGISTER): Likewise.
13972 (MULTIBOOT_MBI_REGISTER): Likewise.
13973 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
13974 (MULTIBOOT_ELF32_MACHINE): Likewise.
13975 (MULTIBOOT_ELF64_MACHINE): Likewise.
13976 * include/grub/mips/multiboot.h: New file.
13977 * include/grub/video.h (grub_video_driver_id): New type
13978 GRUB_VIDEO_DRIVER_SM712.
13979 (grub_video_get_info_and_fini): Export.
13980 (grub_video_get_palette): Likewise.
13981 (grub_video_get_driver_id): Likewise.
13982 * include/multiboot2.h: Resynced with spec.
13983 * loader/i386/multiboot.c: Moved from here ...
13984 * loader/multiboot.c: ... here. All users updated.
13985 (grub_multiboot_boot): Use platform-specific macros.
13986 * loader/i386/multiboot_elfxx.c: Moved from here ...
13987 * loader/multiboot_elfxx.c: ... here. All users updated.
13988 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
13989 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
13990 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
13991
47674667
VS
139922010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13993
13994 Import gnulib argp module.
13995
13996 * gnulib/argp-ba.c: New file.
13997 * gnulib/argp-eexst.c: Likewise.
13998 * gnulib/argp-fmtstream.c: Likewise.
13999 * gnulib/argp-fmtstream.h: Likewise.
14000 * gnulib/argp-fs-xinl.c: Likewise.
14001 * gnulib/argp-help.c: Likewise.
14002 * gnulib/argp-namefrob.h: Likewise.
14003 * gnulib/argp-parse.c: Likewise.
14004 * gnulib/argp-pin.c: Likewise.
14005 * gnulib/argp-pv.c: Likewise.
14006 * gnulib/argp-pvh.c: Likewise.
14007 * gnulib/argp-version-etc.c: Likewise.
14008 * gnulib/argp-version-etc.h: Likewise.
14009 * gnulib/argp-xinl.c: Likewise.
14010 * gnulib/argp.h: Likewise.
14011
495442ed
VS
140122010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14013
14014 * kern/device.c (grub_device_iterate): Clear errors after failed
14015 opening device.
14016
f9fd65df
VS
140172010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14018
14019 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
14020 returned by firmware.
14021
af09641e
VS
140222010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14023
14024 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
14025 compilation on coreboot and qemu
14026
016883a5
VS
140272010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
14028
14029 * include/multiboot2.h: Resync with spec.
14030
f97e1f7d
VS
140312010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
14032
14033 Multiboot2 tag support
14034
14035 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
14036 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
14037 Remove loader/multiboot_loader.c.
14038 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
14039 (grub_multiboot2_real_boot): Likewise.
14040 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
14041 (grub_get_multiboot_mmap_count): New proto.
14042 (grub_fill_multiboot_mmap): Likewise.
14043 (grub_multiboot_set_video_mode): Likewise.
14044 (grub_multiboot_set_console): Likewise.
14045 (grub_multiboot_load): Likewise.
14046 (grub_multiboot_load_elf): Likewise.
14047 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
14048 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
14049 * include/multiboot.h: Resynced with specification.
14050 * include/multiboot2.h: Resynced with specification.
14051 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
14052 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
14053 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
14054 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
14055 users updated.
14056 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
14057 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
14058 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
14059 Removed.
14060 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
14061 Moved from here...
14062 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
14063 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14064 Moved from here...
14065 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
14066 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
14067 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
14068 All users updated.
14069 * loader/i386/multiboot_mbi2.c: New file.
14070
3506b90b
VS
140712010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
14072
14073 Resync with gnulib.
14074
14075 * Makefile.in (GNULIB_CFLAGS): New variable.
14076 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
14077 (grub_script_check_CFLAGS): New variable.
14078 * gnulib/alloca.h: Resync with gnulib.
14079 * gnulib/error.c: Likewise.
14080 * gnulib/error.h: Likewise.
14081 * gnulib/fnmatch.c: Likewise.
14082 * gnulib/fnmatch_loop.c: Likewise.
14083 * gnulib/getdelim.c: Likewise.
14084 * gnulib/getline.c: Likewise.
14085 * gnulib/getopt.c: Likewise.
14086 * gnulib/getopt1.c: Likewise.
14087 * gnulib/getopt_int.h: Likewise.
14088 * gnulib/gettext.h: Likewise.
14089 * gnulib/progname.c: Likewise.
14090 * gnulib/progname.h: Likewise.
14091
394a3120
GS
140922010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
14093
14094 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
14095 which is the case with --disabled-nls.
14096
14097 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
14098 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
14099 * util/misc.c: Likewise.
14100 * util/mkisofs/mkisofs.c: Likewise.
14101 * util/mkisofs/mkisofs.h: Likewise.
14102
969d1c78
VS
141032010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
14104
14105 Simplify Apple CC support.
14106
14107 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
14108 Add 0 byte at the end not to have a symbol with empty target.
14109 * mmap/i386/pc/mmap_helper.S: Likewise.
14110 * genmk.rb: Ignore errors 2030 and 2050.
14111 * kern/i386/pc/startup.S: Use LOCAL when possible.
14112
8d2977bb
BC
141132010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
14114
14115 Testcase and the fix for final semicolon on cmdline.
14116
14117 * tests/grub_script_final_semicolon.in: New testcase.
14118 * conf/tests.rmk: Rules for the new testcase.
14119 * script/parser.y: Grammar fix.
14120
a7bd6915
BC
141212010-03-26 BVK Chaitanya <bvk@localhost>
14122
14123 Blank lines testcase for GRUB script.
14124
14125 * tests/grub_script_blanklines.in: New testcase.
14126 * conf/tests.rmk: Rules for the new testcase.
14127
e4ff6628
VS
141282010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14129
14130 Don't use __FILE__.
14131
14132 * genmk.rb: Add -DGRUB_FILE to all C targets.
14133 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
14134 * include/grub/list.h: Likewise.
14135 * include/grub/misc.h: Likewise.
14136 * include/grub/mm.h: Likewise.
14137 * include/grub/test.h: Likewise.
14138 * kern/mm.c: Likewise.
14139 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
14140
6a5cf6b6
VS
141412010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14142
14143 Sunpc partitions support.
14144
14145 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
14146 (grub_fstest_SOURCES): Likewise.
14147 (pkglib_MODULES): Add part_sunpc.mod.
14148 (part_sunpc_mod_SOURCES): New variable.
14149 (part_sunpc_mod_CFLAGS): Likewise.
14150 (part_sunpc_mod_LDFLAGS): Likewise.
14151 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
14152 * partmap/sunpc.c: New file.
14153
746d9045
BC
141542010-03-26 BVK Chaitanya <bvk@localhost>
14155
14156 For loop support to GRUB script.
14157
14158 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
14159 (grub_script_create_cmdfor): New function prototype.
14160 (grub_script_execute_cmdfor): New function prototype.
14161 * script/execute.c (grub_script_execute_cmdfor): New function.
14162 * script/parser.y (command): New for command.
14163 (forcmd): New grammar rule.
14164 * script/script.c (grub_script_create_cmdfor): New function.
14165 * util/grub-script-check.c (grub_script_execute_cmdfor): New
14166 function.
14167 * tests/grub_script_for1.in: New testcase.
14168 * conf/tests.rmk: Rules for new testcase.
14169
18486b18
VS
141702010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14171
14172 Nested partitions
14173
14174 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
14175 'partition' is NULL, grub_partition_get_start already does that.
14176 * commands/loadenv.c (check_blocklists): Likewise.
14177 (write_blocklists): Likewise.
14178 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
14179 (grub_fstest_SOURCES): Likewise.
14180 (pkglib_MODULES): Add part_bsd.mod.
14181 (part_bsd_mod_SOURCES): New variable.
14182 (part_bsd_mod_CFLAGS): Likewise.
14183 (part_bsd_mod_LDFLAGS): Likewise.
14184 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
14185 (grub_emu_SOURCES): Likewise.
14186 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14187 * include/grub/bsdlabel.h: New file.
14188 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
14189 'get_name'.
14190 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
14191 (grub_partition_map_list): New variable.
14192 (grub_partition_map_register): Inline.
14193 (grub_partition_map_unregister): Likewise.
14194 (FOR_PARTITION_MAPS): New macro.
14195 (grub_partition_map_iterate): Removed.
14196 (grub_partition_get_start): Handle nested partitions.
14197 * include/grub/msdos_partition.h: Remove bsd-related entries.
14198 (grub_pc_partition): Remove.
14199 * kern/disk.c (grub_disk_close): Free partition data.
14200 (grub_disk_adjust_range): Handle nested partitions.
14201 * kern/partition.c (grub_partition_map_probe): New function.
14202 (grub_partition_probe): Parse name to number, handle subpartitions.
14203 (get_partmap): New function.
14204 (grub_partition_iterate): Handle subpartitions.
14205 (grub_partition_get_name): Likewise.
14206 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
14207 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
14208 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
14209 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
14210 Set 'number'.
14211 (acorn_partition_map_probe): Remove.
14212 (acorn_partition_map_get_name): Likewise.
14213 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
14214 Set 'number'.
14215 Set 'index' to 0 since there can be only one partition entry per sector.
14216 (amiga_partition_map_probe): Remove.
14217 (amiga_partition_map_get_name): Likewise.
14218 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
14219 Set 'number'.
14220 Set 'offset' and 'index' to real positions of partitions.
14221 (apple_partition_map_probe): Remove.
14222 (apple_partition_map_get_name): Likewise.
14223 * partmap/bsdlabel.c: New file.
14224 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
14225 Set 'number'.
14226 Allocate 'data' so it can be correctly freed.
14227 Set 'index' to offset inside sector.
14228 (gpt_partition_map_probe): Remove.
14229 (gpt_partition_map_get_name): Likewise.
14230 * partmap/msdos.c (grub_partition_parse): Remove.
14231 (pc_partition_map_iterate): Don't force raw access.
14232 Set 'number'.
14233 Make 'ext_offset' a local variable.
14234 (pc_partition_map_probe): Remove.
14235 (pc_partition_map_get_name): Remove.
14236 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
14237 Set 'number'.
14238 (sun_partition_map_probe): Remove.
14239 (sun_partition_map_get_name): Likewise.
14240 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
14241 (grub_pcpart_type): Likewise.
14242 * util/hostdisk.c (open_device): Handle new numbering scheme.
14243 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
14244 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
14245 * util/grub-probe.c (probe_partmap): Handle nested paritions.
14246 * util/grub-install.in: Insert all subpartition modules.
14247 * util/ieee1275/grub-install.in: Likewise.
14248
a3940f88
AG
142492010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
14250
14251 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
14252 grammar.
14253
21b99926 142542010-03-24 Colin Watson <cjwatson@ubuntu.com>
14255
14256 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
14257
bed1d352
CW
142582010-03-21 Colin Watson <cjwatson@ubuntu.com>
14259
14260 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
14261 match where 'make install' puts them.
14262 * util/i386/efi/grub-install.in: Likewise.
14263
c9f58427
CW
142642010-03-19 Colin Watson <cjwatson@ubuntu.com>
14265
14266 * .bzrignore: Add gentrigtables, grub-script-check,
14267 grub_script_check_init.c, grub_script_check_init.h, and
14268 trigtables.c.
14269
f84afb27
VS
142702010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
14271
14272 * kern/parser.c: Indented.
14273
ed0e3d30
VS
142742010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
14275
14276 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
14277
0ea81d98
VS
142782010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
14279
14280 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
14281 alpha_mask_size == 0 case.
14282
0cdc2a09
BC
142832010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
14284
14285 GRUB shell lexer and parser improvements.
14286
14287 * conf/any-emu.rmk: Build rule updates.
14288 * conf/common.rmk: Likewise.
14289 * conf/i386-coreboot.rmk: Likewise.
14290 * conf/i386-efi.rmk: Likewise.
14291 * conf/i386-ieee1275.rmk: Likewise.
14292 * conf/i386-pc.rmk: Likewise.
14293 * conf/powerpc-ieee1275.rmk: Likewise.
14294 * conf/x86_64-efi.rmk: Likewise.
14295
14296 * configure.ac: Configure check for flex.
14297
14298 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
14299 types.
14300 (grub_lexer_param): Struct member updates.
14301 (grub_parser_param): Likewise.
14302 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
14303 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
14304 (grub_script_lexer_init): Prototype update.
14305 (grub_script_lexer_record_start): Likewise.
14306 (grub_script_lexer_record_stop): Likewise.
14307 (grub_script_lexer_yywrap): New function prototype.
14308 (grub_script_lexer_fini): Likewise.
14309 (grub_script_execute_argument_to_string): Removed by...
14310 (grub_script_execute_argument_to_argv): ...better version.
14311
14312 * script/execute.c (ROUND_UPTO): New macro.
14313 (grub_script_execute_cmdline): Out of memory fixes.
14314 (grub_script_execute_menuentry): Likewise.
14315 (grub_script_execute_argument_to_string): Removed. Update all
14316 users by...
14317 (grub_script_execute_argument_to_argv): ...better version.
14318 * script/function.c (grub_script_function_create): Use
14319 grub_script_execute_argument_to_argv instead of
14320 grub_script_execute_argument_to_string.
14321
14322 * script/lexer.c (check_varstate): Removed.
14323 (check_textstate): Removed.
14324 (grub_script_lexer_record_start): Likewise.
14325 (grub_script_lexer_record_stop): Likewise.
14326 (recordchar): Replaced with...
14327 (grub_script_lexer_record): ...new function.
14328 (nextchar): Removed.
14329 (grub_script_lexer_init): Rewritten.
14330 (grub_script_yylex): Rewritten.
14331 (append_newline): New function.
14332 (grub_script_lexer_yywrap): New function.
14333 (grub_script_lexer_fini): New function.
14334 (grub_script_yyerror): Sets error flag.
14335
14336 * script/yylex.l: New file.
14337 (grub_lexer_yyfree): Wrapper for flex yyffre.
14338 (grub_lexer_yyalloc): Likewise.
14339 (grub_lexer_yyrealloc): Likewise.
14340 * script/parser.y: Refactored.
14341
14342 * script/script.c (grub_script_arg_add): Out of memory fixes.
14343 (grub_script_add_arglist): Likewise.
14344 (grub_script_create_cmdline): Likewise.
14345 (grub_script_create_cmdmenu): Likewise.
14346 (grub_script_add_cmd): Likewise.
14347 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
14348 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
14349 unnecessary code.
14350
14351 * tests/grub_script_echo1.in: New testcase.
14352 * tests/grub_script_vars1.in: New testcase.
14353 * tests/grub_script_echo_keywords.in: New testcase.
14354
1d63a066
VS
143552010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14356
14357 Remove some redundancy in build system.
14358
14359 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
14360 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
14361 (TARGET_LDFLAGS): Add -nostdlib.
14362 (TARGET_IMG_LDFLAGS): Likewise.
14363 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
14364 anything since mmap isn't available.
14365 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
14366 Add util/time.c.
14367 (pkglib_MODULES): Remove reboot.mod.
14368 (reboot_mod_SOURCES): Removed.
14369 (reboot_mod_CFLAGS): Likewise.
14370 (reboot_mod_LDFLAGS): Likewise.
14371 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
14372 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
14373 (DEFSYMFILES): Add kernel_syms.lst.
14374 (kernel_img_HEADERS): Add common headers.
14375 (symlist.c): New target.
14376 (kernel_syms.lst): Likewise.
14377 (pkglib_MODULES): Add memdisk.mod.
14378 (memdisk_mod_SOURCES): New variable.
14379 (memdisk_mod_CFLAGS): Likewise.
14380 (memdisk_mod_LDFLAGS): Likewise.
14381 (pkglib_MODULES): Add reboot.mod.
14382 (reboot_mod_SOURCES): New variable.
14383 (reboot_mod_CFLAGS): Likewise.
14384 (reboot_mod_LDFLAGS): Likewise.
14385 (pkglib_MODULES): Add date.mod.
14386 (date_mod_SOURCES): New variable.
14387 (date_mod_CFLAGS): Likewise.
14388 (date_mod_LDFLAGS): Likewise.
14389 (pkglib_MODULES): Add datehook.mod.
14390 (datehook_mod_SOURCES): New variable.
14391 (datehook_mod_CFLAGS): Likewise.
14392 (datehook_mod_LDFLAGS): Likewise.
14393 (pkglib_MODULES): Add lsmmap.mod.
14394 (lsmmap_mod_SOURCES): New variable.
14395 (lsmmap_mod_CFLAGS): Likewise.
14396 (lsmmap_mod_LDFLAGS): Likewise.
14397 (pkglib_MODULES): Add boot.mod.
14398 (boot_mod_SOURCES): New variable.
14399 (boot_mod_CFLAGS): Likewise.
14400 (boot_mod_LDFLAGS): Likewise.
14401 * conf/i386-coreboot.rmk: Removed redundant parts.
14402 * conf/i386-ieee1275.rmk: Likewise.
14403 * conf/i386-pc.rmk: Likewise.
14404 * conf/mips-yeeloong.rmk: Likewise.
14405 * conf/mips.rmk: Likewise.
14406 * conf/powerpc-ieee1275.rmk: Likewise.
14407 * conf/sparc64-ieee1275.rmk: Likewise.
14408 * conf/x86_64-efi.rmk: Likewise.
14409 * conf/i386-coreboot.rmk: Moved qemu parts ..
14410 * conf/i386-qemu.rmk: ... here
14411 * conf/i386-efi.rmk: Moved common parts to...
14412 * conf/x86-efi.rmk: ... here.
14413 * conf/i386.rmk: Added modules common to all x86 variants.
14414 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
14415 * disk/memdisk.c: Remove grub/machine/kernel.h.
14416 * gensymlist.sh.in: Include symbol.h.
14417 * hook/datehook.c: Correct module name.
14418 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
14419 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
14420 * include/grub/i386/efi/serial.h: New file.
14421 * include/grub/x86_64/efi/serial.h: Likewise.
14422 * util/time.c: Likewise.
14423 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
14424
463ac55f
CK
144252010-03-14 Colin King <colin.king@ubuntu.com>
144262010-03-14 Colin Watson <cjwatson@ubuntu.com>
14427
14428 Shrink the pre-partition-table part of boot.img by eight bytes.
14429
14430 * boot/i386/pc/boot.S (ERR): New macro.
14431 (chs_mode): Use ERR.
14432 (geometry_error): Likewise.
14433 (hd_probe_error): Remove. This is only used once, so we wrwite
14434 it inline instead.
14435 (read_error): Instead of printing read_error_string, just set up
14436 %si and fall through to ...
14437 (error_message): ... this new function, also used by ERR.
14438
08e46ede
CW
144392010-03-14 Colin Watson <cjwatson@ubuntu.com>
14440
14441 Speed up consecutive hostdisk operations on the same device.
14442
14443 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
14444 (grub_util_biosdisk_open): Initialise disk->data.
14445 (struct linux_partition_cache): New structure.
14446 (linux_find_partition): Cache partition start positions; these are
14447 expensive to compute on every read and write.
14448 (open_device): Cache open file descriptor in disk->data, so that we
14449 don't have to reopen it and flush the buffer cache for consecutive
14450 operations on the same device.
14451 (grub_util_biosdisk_close): New function.
14452 (grub_util_biosdisk_dev): Set `close' member.
14453
14454 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
14455 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
14456 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
14457 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
14458 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
14459
4a6d2d06
VS
144602010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14461
14462 Compile parts of grub-emu as modules.
14463
14464 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
14465 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
14466 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
14467 (all-local): Add $(GRUB_EMU).
14468 (install-local): Install $(GRUB_EMU).
14469 (uninstall): Uninstall $(GRUB_EMU).
14470 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
14471 * kern/dl.c: Likewise.
14472 * commands/sleep.c: Not include machine/time.h.
14473 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
14474 (COMMON_CFLAGS): Likewise.
14475 (sbin_UTILITIES): Remove grub-emu.
14476 (grub_emu_SOURCES): Removed.
14477 (kernel_img_RELOCATABLE): New variable.
14478 (pkglib_PROGRAMS): Add kernel.img.
14479 (kernel_img_SOURCES): New variable
14480 (kernel_img_CFLAGS): Likewise.
14481 (kernel_img_LDFLAGS): Likewise.
14482 (TARGET_NO_STRIP): Likewise.
14483 (TARGET_NO_DYNAMIC_MODULES): Likewise.
14484 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
14485 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
14486 (grub-emu): New target.
14487 (GRUB_EMU): New variable.
14488 * configure.ac: Whitelist -emu as possible x86_64 architecture.
14489 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
14490 * loader/xnu.c: Likewise.
14491 * include/grub/pci.h: Likewise.
14492 * genemuinit.sh: New file.
14493 * genemuinitheader.sh: Likewise.
14494 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
14495 Support TARGET_NO_DYNAMIC_MODULES.
14496 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
14497 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
14498 * disk/loopback.c: Likewise.
14499 * font/font_cmd.c: Likewise.
14500 * partmap/acorn.c: Likewise.
14501 * partmap/amiga.c: Likewise.
14502 * partmap/apple.c: Likewise.
14503 * partmap/gpt.c: Likewise.
14504 * partmap/msdos.c: Likewise.
14505 * partmap/sun.c: Likewise.
14506 * parttool/msdospart.c: Likewise.
14507 * term/gfxterm.c: Likewise.
14508 * video/bitmap.c: Likewise.
14509 * video/readers/jpeg.c: Likewise.
14510 * video/readers/png.c: Likewise.
14511 * video/readers/tga.c: Likewise.
14512 * video/video.c: Likewise.
14513 * util/grub-emu.c (read_command_list): Removed.
14514 (main): Don't call util_init_nls.
14515 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
14516 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
14517
91fdd2ed
VS
145182010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14519
14520 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
14521 date.mod, datehook.mod.
14522 (datetime_mod_SOURCES): New variable.
14523 (datetime_mod_CFLAGS): Likewise.
14524 (datetime_mod_LDFLAGS): Likewise.
14525 (date_mod_SOURCES): Likewise.
14526 (date_mod_CFLAGS): Likewise.
14527 (date_mod_LDFLAGS): Likewise.
14528 (datehook_mod_SOURCES): Likewise.
14529 (datehook_mod_CFLAGS): Likewise.
14530 (datehook_mod_LDFLAGS): Likewise.
14531 * conf/sparc64-ieee1275.rmk: Likewise.
14532 * lib/ieee1275/datetime.c: New file.
14533
873ccae6
VS
145342010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14535
14536 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
14537 (ieee1275_fb_mod_SOURCES): New variable.
14538 (ieee1275_fb_mod_CFLAGS): Likewise.
14539 (ieee1275_fb_mod_LDFLAGS): Likewise.
14540 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
14541 New proto.
14542 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
14543 (HEAP_MAX_ADDR): Likewise.
14544 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
14545 type.
14546 Correct stop condition.
14547 (grub_ieee1275_devices_iterate): New function.
14548 * video/ieee1275.c: New file.
14549
601c97c0
VS
145502010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14551
14552 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
14553
14554 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
14555 as scratch.
14556 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
14557 SCRATCH_PAD_DISKBOOT as scratch.
14558 (bootit): Pass Openfirmware pointer in %o4.
14559 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
14560 of 0x200000.
14561 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
14562 with util/grub-mkrawimage.c.
14563 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
14564 * include/grub/aout.h (AOUT_MID_SUN): New definition.
14565 (grub_aout_get_type) [GRUB_UTIL]: Removed.
14566 (grub_aout_load) [GRUB_UTIL]: Likewise.
14567 * include/grub/kernel.h (grub_modules_get_end): New proto.
14568 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
14569 (SCRATCH_PAD_BOOT): New definition.
14570 (SCRATCH_PAD_DISKBOOT): Likewise.
14571 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
14572 * include/grub/sparc64/ieee1275/ieee1275.h
14573 (grub_ieee1275_original_stack): New variable
14574 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
14575 New definition
14576 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
14577 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
14578 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
14579 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
14580 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
14581 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
14582 (grub_platform_image_format_t): New type.
14583 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
14584 * kern/main.c (grub_modules_get_end)
14585 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
14586 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
14587 (codestart): Switch stacks.
14588 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
14589 variable.
14590 (grub_heap_init): Use grub_modules_get_end.
14591 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
14592 stack.
14593 * util/grub-mkrawimage.c (generate_image): Support sparc64.
14594 (main): Likewise.
14595 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
14596
d68b491e
TG
145972010-03-14 Thorsten Glaser <tg@mirbsd.org>
14598
14599 * util/grub-mkrescue.in: Base ISO UUID on UTC.
14600
4e02ed50
MK
146012010-03-08 Matt Kraai <kraai@ftbfs.org>
14602
14603 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
14604 bug #559005).
14605
1f15fc1e
VS
146062010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
14607
14608 * genmoddep.awk: Output all missing symbols and not only first.
14609
fce5d8ff
VS
146102010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
14611
14612 * NEWS: Put the date of 1.98 release.
14613
d1e8a02f
VS
146142010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
14615
14616 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
14617 ft2build.h.
14618
696fd607
VS
146192010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
14620
14621 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
14622 completition in the middle of string.
14623
33e2e6f3
VS
146242010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
14625
14626 * util/grub-mkrescue.in: Use mktemp with explicit template.
14627
b1f6d291
VS
146282010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
14629
14630 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
14631
2ac227c7
VS
146322010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
14633
14634 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
14635 right pointer.
14636
8f9a632b
VS
146372010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
14638
14639 Fix FreeBSD compilation.
14640
14641 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
14642 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
14643
60b03859
VS
146442010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
14645
14646 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
14647
48a5a769
VS
146482010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14649
14650 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
14651
3ab4bd77
VS
146522010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14653
14654 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
14655
d116e0d8
RM
146562010-03-04 Robert Millan <rmh.grub@aybabtu.com>
14657
14658 Support relative image path in theme file.
14659
14660 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
14661 (image_set_property): Handle theme_dir and relative path.
14662
c7ef54aa
VS
146632010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14664
14665 * configure.ac: Alias amd64 to x86_64.
14666
fcee14ed
VS
146672010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14668
14669 * NEWS: mention multiboot on EFI.
14670
d0780363
VS
146712010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14672
14673 * kern/main.c (grub_load_modules): Handle errors from init functions of
14674 embeded modules.
14675
41168ea4
VS
146762010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14677
14678 * normal/autofs.c (autoload_fs_module): Handle errors.
14679
b54d93ac
VS
146802010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14681
14682 Disable linux.mod on qemu-mips since it's not functional and leads
14683 to compilation failure.
14684
14685 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
14686 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
14687 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
14688 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
14689 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
14690 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
14691 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
14692 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
14693 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
14694 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
14695 Reported by: BVK Chaitanya
14696
fc8345da
JU
146972010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
14698
14699 * INSTALL: Add gettext as a dependency and add qemu to a new section
14700 "Prerequisites for make-check".
14701
4760f979
CF
147022010-03-04 Christian Franke <franke@computer.org>
14703
14704 * util/grub-pe2elf.c: Add missing include "progname.h".
14705
f209b5b2
VS
147062010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14707
14708 * normal/crypto.c (read_crypto_list): Fix a typo.
14709 Reported by: Seth Goldberg.
14710
b4b7be98
VS
147112010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14712
14713 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 14714 Reported by: Seth Goldberg.
b4b7be98 14715
c0ee0385
VS
147162010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14717
14718 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
14719 ascii.bitmaps.
14720
a8efbf64
VS
147212010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14722
14723 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 14724 Reported by: Seth Goldberg.
a8efbf64 14725
08dcd913
VS
147262010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14727
14728 * util/i386/efi/grub-install.in: Copy gettext files.
14729
c4d0b332
VS
147302010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
14731
14732 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
14733
c6f2fe52
VS
147342010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
14735
14736 Wait for user entry basing on presence of output rather than on errors.
14737
14738 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
14739 (grub_install_newline_hook): Likewise.
14740 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
14741 * normal/menu.c (show_menu): Check line_counter to determine presence
14742 of output.
14743 * normal/term.c (grub_normal_line_counter): New variable.
14744 (grub_normal_get_line_counter): New function.
14745 (grub_install_newline_hook): Likewise.
14746
5382b1e4
VS
147472010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
14748
14749 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
14750
5519963b
VS
147512010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
14752
14753 * configure.ac: Update version to 1.98.
14754
72b28631
VS
147552010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
14756
14757 * util/grub.d/10_linux.in (linux_entry): Don't default to
14758 gfxpayload=keep if Linux doesn't support video handover.
14759
c140a180
VS
147602010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
14761
14762 Don't compile video modules on yeeloong since video subsystem is part
14763 of kernel.
14764
14765 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
14766 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
14767 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
14768 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
14769 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
14770 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
14771 * include/grub/bitmap_scale.h: Likewise.
14772 * include/grub/bufio.h: Likewise.
14773 * include/grub/font.h: Likewise.
14774 * include/grub/gfxterm.h: Likewise.
14775 * include/grub/video.h: Likewise.
14776 * include/grub/vbe.h: Don't include video_fb.h.
14777 * video/i386/pc/vbe.c: Include video_fb.h.
14778 * commands/i386/pc/vbetest.c: Include video.h.
14779
a0ca21c2
CW
147802010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
14781
14782 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
14783 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
14784 default entry if GRUB_SAVEDEFAULT=true. This allows using
14785 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
14786 saving a new default on every boot.
14787
4a8a763c
VS
147882010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
14789
14790 * normal/crypto.c (read_crypto_list): Fix a memory leak.
14791 * normal/term.c (read_terminal_list): Likewise.
14792 * normal/main.c (grub_normal_init_page): Likewise.
14793 (grub_normal_read_line_real): Likewise.
14794
607ffde2
VS
147952010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
14796
14797 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
14798 memory leak.
14799 Reported by: Seth Goldberg.
14800
2b8fa975
CW
148012010-02-24 Joey Korkames <joey+lists@kidfixit.com>
14802
14803 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
14804 duplicate declaration of `start'.
14805
618307dd
VS
148062010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
14807
14808 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
14809 filename.
14810 Reported by: Georgy Buranov
14811
7dd05b96 148122010-02-20 Carles Pina i Estany <carles@pina.cat>
14813
14814 * util/grub-mkrawimage.c (usage): Change string formatting to
14815 improve gettext.
14816
d1484a42
MRA
148172010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
14818
14819 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
14820 backspace keys.
14821
42b1d186
VS
148222010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
14823
14824 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
14825 Reported by: Michael Suchanek.
14826
148272010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
14828
14829 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
14830 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
14831
d9f31a41
VS
148322010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
14833
14834 Remove any reference to non-free fonts.
14835
14836 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
14837 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
14838 uses non-free components.
14839 * font/font.c (grub_font_get_name): Remove example name.
14840 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
14841 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
14842 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
14843 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
14844
2793c71e
GB
148452010-02-16 Georgy Buranov <gburanov@gmail.com>
14846
14847 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
14848
402e3779
VS
148492010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
14850
14851 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
14852 Double divisor.
14853 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
14854 features.
14855 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
14856
0dd1e0dd
VS
148572010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
14858
14859 * gensymlist.sh.in: Use TARGET_CC instead of CC.
14860
6fa7cfce
ST
148612010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14862
14863 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
14864 * docs/grub.texi (Command-line and menu entry commands): Document play
14865 command.
14866
37c8483b
ST
148672010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14868
14869 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
14870 parse arguments as inline tempo and notes. Move code for playing notes
14871 to...
14872 (play): ... new function.
14873
14da0fb7
ST
148742010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14875
14876 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
14877 grub_uint16_t instead of short.
14878 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
14879 disk from little endian to cpu endianness.
14880
04459e70
ST
148812010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
14882
14883 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
14884 GRUB_TICKS_PER_SECOND instead of 120.
14885
a0876943
VS
148862010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14887
14888 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
14889 escape sequence after \e.
14890
e29f95dc
VS
148912010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14892
14893 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
14894 non-ASCII characters.
14895
d27859b2
VS
148962010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14897
14898 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
14899 set root in single quotes to prevent \, from being unescaped.
14900
bc028f2f
VS
149012010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14902
14903 Prevent unknown commands from stopping menuentry execution.
14904
14905 * script/execute.c (grub_script_execute_cmdline): Print error after
14906 unknown command.
14907
095f5f82
VS
149082010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14909
14910 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
14911 Reported by: Pavel Pisa.
14912
8c717950
VS
149132010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14914
14915 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
14916
904935c3
VS
149172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14918
14919 Merge grub_ieee1275_map_physical into grub_map and rename to
14920 grub_ieee1275_map
14921
14922 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
14923 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
14924 Remove.
14925 * kern/ieee1275/openfw.c (grub_map): Rename to ...
14926 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
14927 necessary.
14928 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
14929
5b59a4e3
VS
149302010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14931
14932 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
14933 opening and not after.
14934
69e137e8
VS
149352010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14936
14937 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
14938 constants.
14939
2c0fcc36
VS
149402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14941
14942 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
14943 (alloc_phys): Use ALIGN_UP instead of align_addr.
14944
8c6052ce
VS
149452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14946
14947 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
14948
17cec782
VS
149492010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14950
14951 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
14952
e0128bbd
VS
149532010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14954
14955 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
14956 verbose dprintf.
14957
ca62070b
VS
149582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14959
14960 Fix over-4GiB seek on sparc64.
14961
14962 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
14963 Replace pos_i and pos_lo with pos. All users updated.
14964 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
14965 New constant.
14966 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
14967 Likewise.
14968 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
14969 and pos_lo.
14970
bdca2607
VS
149712010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14972
14973 * util/grub-mkrawimage.c (main): Call set_program_name.
14974
da278c4d
VS
149752010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14976
14977 Properly align 64-bit targets.
14978
14979 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
14980 (generate_image): Use ALIGN_ADDR.
14981
b274d734
VS
149822010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14983
14984 Properly create cross-endian images.
14985
14986 * include/grub/types.h (grub_host_to_target_addr): New macro
14987 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
14988
82da2062
VS
149892010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14990
14991 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
14992
7cae4377
VS
149932010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
14994
14995 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
14996
14997 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
14998 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
14999 (grub_linux_boot): Divide by 64K when on VESA.
15000
65a533e7
VS
150012010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15002
15003 Support GRUB_GFXPAYLOAD_LINUX.
15004
15005 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
15006 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
15007
dd01d397
VS
150082010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15009
15010 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
15011 to show messages instead of discarding them.
15012 Process errors after executing command and not before. Keep old method
15013 too as precaution.
15014
660960d6
VS
150152010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
15016
15017 * configure.ac: Check for ft2build.h.
15018
62509f04
VS
150192010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15020
15021 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
15022
473df63d
VS
150232010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15024
15025 * genkernsyms.sh.in: Use TARGET_CC.
15026
c98d2a13
CW
150272010-02-07 Colin Watson <cjwatson@ubuntu.com>
15028
15029 * NEWS: Update.
15030
6e14234c
VS
150312010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15032
15033 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
15034 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
15035 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 15036
b255e9cf
YB
150372010-02-07 Yves Blusseau <blusseau@zetam.org>
15038
6e14234c 15039 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 15040
98e6959d
VS
150412010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15042
15043 Fix warnings in grub-emu when compiling with maximum warning options.
15044
15045 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
15046 (grub_arch_modules_addr): Return 0 and not NULL.
15047 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 15048 (xstrdup): Use newstr instead of dup.
f88d801b
VS
15049 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
15050 of disk to dsk to avoid shadowing.
74e4934e
VS
15051 (find_free_slot): Fix prototype.
15052 * util/getroot.c (grub_util_is_dmraid): Make static.
15053 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
15054 Add missing prototype.
15055 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 15056
74e31b5c
VS
150572010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15058
15059 * loader/i386/linux.c (grub_linux_setup_video): Handle error
15060 appropriately.
15061
6b2ad14b
VS
150622010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15063
15064 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
15065 code out.
15066
8f891adc
VS
150672010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15068
15069 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
15070 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
15071 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
15072 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
15073 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
15074 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
15075
74b45184
VS
150762010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15077
15078 * include/grub/err.h (grub_err_printf): Don't export.
15079
a4bced77
VS
150802010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15081
15082 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
15083
007d0695
VS
150842010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15085
15086 * include/grub/i18n.h (grub_gettext_dummy): Removed.
15087 * kern/misc.c (grub_gettext_dummy): Make static.
15088
b6c0d9c2
VS
150892010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15090
15091 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
15092 by non-valid ones.
15093 * kern/term.c (grub_putchar): Likewise.
15094
f51a90d0
VS
150952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15096
15097 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
15098 buggy hook call and memory leak.
15099
6846cec5
VS
151002010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15101
15102 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
15103
468d69fe
VS
151042010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15105
15106 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
15107
51906b8c
VS
151082010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15109
15110 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
15111 modevar.
15112 Return grub_errno on allocation error.
15113
09706ce5
VS
151142010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15115
15116 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
15117
911df80c
YB
151182010-02-06 Yves Blusseau <blusseau@zetam.org>
15119
15120 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
15121 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
15122
3746a6bc
VS
151232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15124
15125 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
15126 non-pxe disk.
15127 (grub_pxefs_open): Likewise.
15128
09706ce5
VS
151292010-02-06 Robert Millan <rmh.grub@aybabtu.com>
15130
15131 * util/grub.d/10_hurd.in: Add --class information to menuentries.
15132 * util/grub.d/10_kfreebsd.in: Likewise.
15133 * util/grub.d/10_linux.in: Likewise.
15134
7cc192d9
VS
151352010-02-06 Colin D Bennett <colin@gibibit.com>
15136
15137 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
15138 (gfxmenu_mod_SOURCES): New variable.
15139 (gfxmenu_mod_CFLAGS): Likewise.
15140 (gfxmenu_mod_LDFLAGS): Likewise.
15141 * include/grub/term.h (grub_term_set_current_output): Declare
15142 argument as const.
15143 * docs/gfxmenu-theme-example.txt: New file.
15144 * gfxmenu/gfxmenu.c: Likewise.
15145 * gfxmenu/gui_box.c: Likewise.
15146 * gfxmenu/gui_canvas.c: Likewise.
15147 * gfxmenu/gui_circular_progress.c: Likewise.
15148 * gfxmenu/gui_image.c: Likewise.
15149 * gfxmenu/gui_label.c: Likewise.
15150 * gfxmenu/gui_list.c: Likewise.
15151 * gfxmenu/gui_progress_bar.c: Likewise.
15152 * gfxmenu/gui_string_util.c: Likewise.
15153 * gfxmenu/gui_util.c: Likewise.
15154 * gfxmenu/icon_manager.c: Likewise.
15155 * gfxmenu/model.c: Likewise.
15156 * gfxmenu/named_colors.c: Likewise.
15157 * gfxmenu/theme_loader.c: Likewise.
15158 * gfxmenu/view.c: Likewise.
15159 * gfxmenu/widget-box.c: Likewise.
15160 * include/grub/gfxmenu_model.h: Likewise.
15161 * include/grub/gfxmenu_view.h: Likewise.
15162 * include/grub/gfxwidgets.h: Likewise.
15163 * include/grub/gui.h: Likewise.
15164 * include/grub/gui_string_util.h: Likewise.
15165 * include/grub/icon_manager.h: Likewise.
15166
151672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15168
15169 Agglomerate scrolling in gfxterm.
15170
15171 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
15172 (grub_virtual_screen_setup): Initialise 'total_screen'.
15173 (write_char): Split to ...
15174 (paint_char): ... this ...
15175 (write_char): ... and this.
15176 (paint_char): Handle delayed scrolling.
15177 (draw_cursor): Likewise.
15178 (scroll_up): Split to ...
15179 (real_scroll): ... this ...
15180 (scroll_up): ... and this.
15181 (real_scroll): Handle multi-line scroll and draw below-the-bottom
15182 characters.
15183 (grub_gfxterm_refresh): Call real_scroll.
15184
151852010-02-06 Colin D Bennett <colin@gibibit.com>
15186
15187 * include/grub/misc.h (grub_iscntrl): New inline function.
15188 (grub_isalnum): Likewise.
15189 (grub_strtol): Likewise.
15190
151912010-02-06 Colin D Bennett <colin@gibibit.com>
15192
15193 * normal/menu_text.c (get_entry_number): Move from here ...
15194 * normal/menu.c (get_entry_number): ... moved here.
15195 * include/grub/menu.h (grub_menu_get_default_entry_index):
15196 New prototype.
15197 * normal/menu.c (grub_menu_get_default_entry_index): New function.
15198 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
15199 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
15200 (grub_menu_viewer_should_return): Likewise.
15201 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
15202 * normal/menu_text.c (run_menu): Enable menu switching.
15203 * normal/menu_viewer.c (should_return): New variable.
15204 (menu_viewer_changed): Likewise.
15205 (grub_menu_viewer_show_menu): Handle menu viewer changes.
15206 (grub_menu_viewer_should_return): New function.
15207 (menuviewer_write_hook): Likewise.
15208 (grub_menu_viewer_init): Likewise.
15209
152102010-02-06 Colin D Bennet <colin@gibibit.com>
152112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15212
15213 Support for gfxterm in a window.
15214
15215 * include/grub/gfxterm.h: New file.
15216 * include/grub/video.h (struct grub_video_rect): New declaration.
15217 (grub_video_rect_t): Likewise.
15218 * term/gfxterm.c (struct grub_gfxterm_window): New type.
15219 (refcount): New variable.
15220 (render_target): Likewise.
15221 (window): Likewise.
15222 (repaint_callback): Likewise.
15223 (grub_virtual_screen_setup): Use 'render_target'.
15224 (init_window): New function.
15225 (grub_gfxterm_init_window): Likewise.
15226 (grub_gfxterm_init): Check reference counter.
15227 Use init_window.
15228 (destroy_window): New function.
15229 (grub_gfxterm_destroy_window): Likewise.
15230 (grub_gfxterm_fini): Check reference counter.
15231 Use destroy_window.
15232 (redraw_screen_rect): Restore viewport.
15233 Use 'render_target' and 'window'.
15234 Call 'repaint_callback'.
15235 (write_char): Use 'render_target'.
15236 (draw_cursor): Likewise.
15237 (scroll_up): Restore viewport.
15238 Use 'render_target' and 'window'.
15239 Call 'repaint_callback'.
15240 (grub_gfxterm_cls): Likewise.
15241 (grub_gfxterm_refresh): Use 'window'.
15242 (grub_gfxterm_set_repaint_callback): New function.
15243 (grub_gfxterm_background_image_cmd): Use 'window'.
15244 (grub_gfxterm_get_term): New function.
15245 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
15246
152472010-02-06 Colin D Bennett <colin@gibibit.com>
15248
15249 Bitmap scaling support.
15250
15251 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
15252 (bitmap_scale_mod_SOURCES): New variable.
15253 (bitmap_scale_mod_CFLAGS): Likewise.
15254 (bitmap_scale_mod_LDFLAGS): Likewise.
15255 * include/grub/bitmap_scale.h: New file.
15256 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
15257 (background_image_cmd_options): New variable.
15258 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
15259 (cmd): Rename and change type to ...
15260 (background_image_cmd_handle): ... this. All users updated.
15261 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
15262 * video/bitmap_scale.c: New file.
15263
152642010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15265
15266 SDL support.
15267
15268 * Makefile.in (LIBSDL): New variable.
15269 (enable_grub_emu_sdl): Likewise.
15270 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
15271 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
15272 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
15273 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
15274 * util/sdl.c: New file.
15275
152762010-02-06 Colin D Bennett <colin@gibibit.com>
152772010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15278
15279 Double buffering support.
15280
15281 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
15282 * include/grub/video.h: Update comment.
15283 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
15284 New type.
15285 (grub_video_fb_doublebuf_blit_init): New prototype.
15286 * term/gfxterm.c (scroll_up): Support double buffering.
15287 (grub_gfxterm_refresh): Likewise.
15288 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
15289 (grub_video_fb_doublebuf_blit_init): Likewise.
15290 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
15291 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
15292 'displayed_page', 'render_page' and 'update_screen'.
15293 (grub_video_vbe_fini): Free offscreen buffer.
15294 (doublebuf_pageflipping_commit): New function.
15295 (doublebuf_pageflipping_update_screen): Likewise.
15296 (doublebuf_pageflipping_init): Likewise.
15297 (double_buffering_init): Likewise.
15298 (grub_video_vbe_setup): Enable doublebuffering.
15299 (grub_video_vbe_swap_buffers): Implement.
15300 (grub_video_vbe_set_active_render_target): Handle double buffering.
15301 (grub_video_vbe_get_active_render_target): Likewise.
15302 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
15303 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
15304 (grub_video_vbe_enable_double_buffering): Likewise.
15305 (grub_video_vbe_swap_buffers): Use update_screen.
15306 (grub_video_set_mode): Use double buffering.
15307
153082010-02-06 Robert Millan <rmh.grub@aybabtu.com>
15309
15310 * maintainance/gentrigtables.py: Remove.
15311 * lib/trig.c: Likewise.
15312
15313 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
15314
15315 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
15316 `trigtables.c'.
15317 (trigtables.c): New rule.
15318 (gentrigtables): Likewise.
15319 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
15320
153212010-02-06 Robert Millan <rmh.grub@aybabtu.com>
15322
15323 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
15324 integer constants.
15325
153262010-02-06 Colin D Bennet <colin@gibibit.com>
15327
15328 Trigonometry support.
15329
15330 * include/grub/trig.h: New file.
15331 * lib/trig.c: Likewise.
15332 * maintainance/gentrigtables.py: Likewise.
15333 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
15334 (trig_mod_SOURCES): New variable.
15335 (trig_mod_CFLAGS): Likewise.
15336 (trig_mod_LDFLAGS): Likewise.
15337
5562834e
VS
153382010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15339
15340 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
15341 disk devices.
15342
4f8528fc
VS
153432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15344
15345 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
15346 error.
15347
2b4068e9
VS
153482010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
15349
15350 * util/hostdisk.c (open_device): Don't use partition device when reading
15351 before the partition.
15352 (grub_util_biosdisk_read): Don't read from partition and before the
15353 partition in single operation.
15354 (grub_util_biosdisk_write): Don't write to partition and before the
15355 partition in single operation.
15356
399f6e4d
TL
153572010-02-03 Torsten Landschoff <torsten@debian.org>
15358
15359 * kern/disk.c (grub_disk_read): Fix offset computation when reading
15360 last sectors.
15361
996649b0
VS
153622010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
15363
15364 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
15365 CDROM reads.
15366 (grub_biosdisk_write): Refuse to write to CDROM.
15367
3b205d4d
VS
153682010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
15369
15370 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
15371
61e89d9d
VS
153722010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
15373
15374 * font/font.c (find_glyph): Check that bmp_idx is available before
15375 using it.
15376 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
15377 with (font == NULL).
15378
bf7fcba2
CS
153792010-01-28 Christian Schmitt <chris@ilovelinux.de>
15380
15381 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
15382
f45d2663
BC
153832010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
15384
15385 * include/grub/script_sh.h (sourcecode): Add const qualifier.
15386 * util/grub-script-check.c (getline): Fix empty lines case.
15387
ec1444e6
RM
153882010-01-28 Robert Millan <rmh.grub@aybabtu.com>
15389
15390 * Makefile.in (check): Exit with fail status when one of the tests
15391 fails.
15392 * tests/example_functional_test.c (example_test): Fix reversed assert.
15393 * tests/example_unit_test.c (example_test): Likewise.
15394
2e1cb9bb
CW
153952010-01-28 Colin Watson <cjwatson@ubuntu.com>
15396
15397 * util/grub.d/10_linux.in: This script does not use any of the
15398 contents of gettext.sh, only the external command `gettext', so stop
15399 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
15400 the same prefix as GRUB.)
15401 * util/grub.d/10_kfreebsd.in: Likewise.
15402
63533ab0
VS
154032010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
15404
15405 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
15406 of the line.
15407
989e1f93
VS
154082010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
15409
15410 * kern/disk.c (grub_disk_read): Fix offset computation when reading
15411 last sectors.
15412
e709ebe2
VS
154132010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
15414
15415 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
15416 having a 4KiB and not 32KiB buffer size.
15417
27dea7ed
RM
154182010-01-27 Robert Millan <rmh.grub@aybabtu.com>
15419
15420 * util/hostfs.c: Include `<errno.h>'.
15421 (grub_hostfs_read): Handle errors from fseeko() and fread().
15422
67667b9c
RM
154232010-01-27 Robert Millan <rmh.grub@aybabtu.com>
15424
15425 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
15426 loop when using read hooks on files whose size isn't sector-aligned.
15427
c294d9d8
RM
154282010-01-27 Robert Millan <rmh.grub@aybabtu.com>
15429
15430 Remove unused parameter.
15431
15432 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
15433 (grub_iso9660_open): Remove initialization of `data->length'.
15434
af75a9f1
RM
154352010-01-27 Robert Millan <rmh.grub@aybabtu.com>
15436
15437 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
15438 memleak conditions.
15439
254e2ce5 154402010-01-27 Carles Pina i Estany <carles@pina.cat>
15441
15442 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
15443 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
15444
b510928c 154452010-01-26 Carles Pina i Estany <carles@pina.cat>
15446
15447 * util/bin2h.c (usage): Fix warning (space after backslash).
15448
aa2f9dd2 154492010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 15450
15451 * font/font.c: Include `grub/fontformat.h.
15452 Remove font file format constants.
15453 (grub_font_load): Use the new macros.
15454 * include/grub/fontformat.h: New file.
15455 * util/grub-mkfont.c: Include `grub/fontformat.c'.
15456 (write_font_pf2): Use the new macros.
15457
94e7e712
RM
154582010-01-26 Robert Millan <rmh.grub@aybabtu.com>
15459
15460 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
15461 does.
15462
3973a59a
RM
154632010-01-26 Robert Millan <rmh.grub@aybabtu.com>
15464
15465 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
15466
15467 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
15468 (_start): Macroify `0x7F'.
15469
15470 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
15471 (make_install_device): Use "(pxe)" as fallback prefix when booting
15472 via PXE.
15473
42e0cba3
GS
154742010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
15475
15476 * configure.ac: Reset LIBS after check for libgcc symbols.
15477
847effd8
CW
154782010-01-25 Colin Watson <cjwatson@ubuntu.com>
15479
15480 * util/hostdisk.c (open_device): Add trailing newline to debug
15481 message.
15482
ea4a7e35
GS
154832010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
15484
15485 * configure.ac: Check for `limits.h'.
15486 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
15487
67951a53
RM
154882010-01-24 Robert Millan <rmh.grub@aybabtu.com>
15489
15490 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
15491 capitalize error strings.
15492
c273d4ce
ST
154932010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
15494
15495 * util/grub.d/10_hurd.in: Add a recovery mode.
15496
69be5b74
VS
154972010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
15498
15499 * configure.ac: Check for libgcc symbols with -nostdlib.
15500
fc9e5810
BC
155012010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
15502
15503 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
15504
4b358c0a
VS
155052010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15506
15507 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
15508 stack since heap may be unavailable at that point.
15509 (grub_ofconsole_gotoxy): Likewise.
15510
454fcd1c
VS
155112010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15512
15513 * configure.ac: Check for _restgpr_14_x.
15514 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
15515 and _savegpr_* prototypes.
15516
566863ca
RM
155172010-01-22 Robert Millan <rmh.grub@aybabtu.com>
15518
15519 Use generic grub_reboot() for i386-efi.
15520
15521 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
15522 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
15523 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
15524
bf86e59a
VS
155252010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15526
15527 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
15528 presence of "prefix" variable as it breaks when normal.mod is
15529 embedded.
15530
d645e0f8
VS
155312010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
15532
15533 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
15534 stack since heap is unavailable at that point.
15535
f9ab2e25
VS
155362010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
15537
15538 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
15539 (grub_freebsd_bootinfo): Rewritten.
15540 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
15541
01fc7054
VS
155422010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
15543
15544 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
15545
caab4fd6
RM
155462010-01-21 Robert Millan <rmh.grub@aybabtu.com>
15547
15548 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
15549 domain now.
15550
67eb1427
FZ
155512010-01-20 Felix Zielcke <fzielcke@z-51.de>
15552
15553 * util/misc.c (make_system_path_relative_to_its_root): Change the work
15554 around for handling "/" to the correct fix. Fix a memory leak. Use
15555 xstrdup instead of strdup.
15556
a9ed4ff3
VS
155572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15558
15559 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
15560
155612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
15562
15563 Optimise glyph lookup by Basic Multilingual Plane lookup array.
15564
15565 * font/font.c (struct grub_font): New member 'bmp_idx'.
15566 (font_init): Initialise 'bmp_idx'.
15567 (load_font_index): Fill 'bmp_idx'.
15568 (find_glyph): Make inline. Use bmp_idx for BMP characters.
15569
48209f4f
VS
155702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15571
15572 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
15573 unnecessary calls.
15574
9f0a4bb7
VS
155752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15576
15577 Move context handling out of the kernel.
15578
15579 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
15580 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
15581 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
15582 * conf/i386-efi.rmk: Likewise.
15583 * conf/i386-ieee1275.rmk: Likewise.
15584 * conf/i386-pc.rmk: Likewise.
15585 * conf/powerpc-ieee1275.rmk: Likewise.
15586 * conf/sparc64-ieee1275.rmk: Likewise.
15587 * conf/x86_64-efi.rmk: Likewise.
15588 * include/grub/env.h: Include grub/menu.h.
15589 (grub_env_var_type): Removed.
15590 (grub_env_var): Replaced field 'type' with 'global'.
15591 (grub_env_find): New prototype.
15592 (grub_env_context_open): Remove EXPORT_FUNC.
15593 (grub_env_context_close): Likewise.
15594 (grub_env_export): Likewise.
15595 (grub_env_set_data_slot): Removed.
15596 (grub_env_get_data_slot): Likewise.
15597 (grub_env_unset_data_slot): Likewise.
15598 (grub_env_unset_menu): New prototype.
15599 (grub_env_set_menu): Likewise.
15600 (grub_env_get_menu): Likewise.
15601 * include/grub/env_private.h: New file.
15602 * include/grub/normal.h (grub_context_init): New prototype.
15603 (grub_context_fini): Likewise.
15604 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
15605 * normal/context.c (grub_cmd_export): ... to here.
15606 * kern/env.c: Include env_private.h.
15607 (HASHSZ): Moved to include/grub/env_private.h.
15608 (grub_env_context): Likewise.
15609 (grub_env_sorted_var): Likewise.
15610 (current_context): Renamed from this ...
15611 (grub_current_context): ...to this. 'static' removed. All users updated.
15612 (grub_env_find): Removed 'static'.
15613 (grub_env_context_open): Moved to normal/context.c.
15614 (grub_env_context_close): Likewise.
15615 (grub_env_export): Likewise.
15616 (mangle_data_slot_name): Removed.
15617 (grub_env_set_data_slot): Likewise.
15618 (grub_env_get_data_slot): Likewise.
15619 (grub_env_unset_data_slot): Likewise.
15620 * kern/main.c (grub_set_root_dev): Don't export root.
15621 It will be done later.
15622 (grub_main): Don't export prefix.
15623 It will be done later.
15624 * normal/context.c: New file.
15625 * normal/main.c (free_menu): Use grub_env_unset_menu.
15626 (grub_normal_add_menu_entry): Use grub_env_get_menu.
15627 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
15628 (GRUB_MOD_INIT(normal)): Call grub_context_init.
15629 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
15630
8dd35b8c
VS
156312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15632
15633 setpci support.
15634
15635 * commands/setpci.c: New file.
15636 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
15637 (setpci_mod_SOURCES): New variable.
15638 (setpci_mod_CFLAGS): Likewise.
15639 (setpci_mod_LDFLAGS): Likewise.
15640
449193d5
VS
156412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15642
15643 Byte-addressable PCI configuration space.
15644
15645 * bus/pci.c (grub_pci_make_address): Use byte address instead of
15646 dword address.
15647 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
15648 GRUB_PCI_REG_CACHELINE.
15649 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
15650 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
15651 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
15652 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
15653 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
15654 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
15655 grub_pci_make_address.
15656 (lock_rom_area): Likewise.
15657 * commands/lspci.c (grub_lspci_iter): Use macroses
15658 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
15659 of grub_pci_make_address.
15660 * disk/ata.c (grub_ata_pciinit): Likewise.
15661 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
15662 (GRUB_PCI_REG_VENDOR): Likewise.
15663 (GRUB_PCI_REG_DEVICE): Likewise.
15664 (GRUB_PCI_REG_COMMAND): Likewise.
15665 (GRUB_PCI_REG_STATUS): Likewise.
15666 (GRUB_PCI_REG_REVISION): Likewise.
15667 (GRUB_PCI_REG_CLASS): Likewise.
15668 (GRUB_PCI_REG_CACHELINE): Likewise.
15669 (GRUB_PCI_REG_LAT_TIMER): Likewise.
15670 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
15671 (GRUB_PCI_REG_BIST): Likewise.
15672 (GRUB_PCI_REG_ADDRESSES): Likewise.
15673 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
15674 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
15675 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
15676 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
15677 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
15678 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
15679 (GRUB_PCI_REG_CIS_POINTER): Likewise.
15680 (GRUB_PCI_REG_SUBVENDOR): Likewise.
15681 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
15682 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
15683 (GRUB_PCI_REG_CAP_POINTER): Likewise.
15684 (GRUB_PCI_REG_IRQ_LINE): Likewise.
15685 (GRUB_PCI_REG_IRQ_PIN): Likewise.
15686 (GRUB_PCI_REG_MIN_GNT): Likewise.
15687 (GRUB_PCI_REG_MAX_LAT): Likewise.
15688 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
15689 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
15690 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 15691 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
15692 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
15693 space.
15694
96d73208
RM
156952010-01-20 Robert Millan <rmh.grub@aybabtu.com>
15696
15697 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
15698 can be reliably determined to be supported.
15699
d4484482
RM
157002010-01-20 Robert Millan <rmh.grub@aybabtu.com>
15701
15702 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
15703 that VESA is supported.
15704 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
15705 supported.
15706
00308ecf
VS
157072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15708
15709 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
15710
f66924a4
RM
157112010-01-20 Robert Millan <rmh.grub@aybabtu.com>
15712
15713 * util/misc.c (make_system_path_relative_to_its_root): Work around
15714 special-casing of "/", as previous incarnation of this routine did.
15715
cbca0ada
VS
157162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15717
15718 Fix any-emu compilation.
15719
15720 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
15721 * grub_bin2h_SOURCES: New variable.
15722
34a66d99
RM
157232010-01-20 Robert Millan <rmh.grub@aybabtu.com>
15724
15725 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
15726
94fabf58
RM
157272010-01-20 Robert Millan <rmh.grub@aybabtu.com>
15728
15729 * util/grub.d/00_header.in: Fix handling of locale_dir.
15730
02cf98ca
VS
157312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15732
15733 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
15734 as possible unifont location (Gentoo).
15735 Reported by: Alexander Brüning
15736
327dbcd7
VS
157372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15738
15739 Don't try to generate lists for kernel.img.
15740
15741 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
15742 (pkglib_MODULES): Remove kernel.img.
15743 (kernel_img_EXPORTS): Removed.
15744 (kernel_img_RELOCATABLE): New variable.
15745 * conf/x86_64-efi.rmk: Likewise.
15746 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
15747
ca467290
VS
157482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15749
15750 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
15751 grub_xasprintf or grub_snprintf.
15752 (grub_vsprintf): Likewise.
15753 (grub_snprintf): New proto.
15754 (grub_vsnprintf): Likewise.
15755 (grub_xasprintf): Likewise.
15756 (grub_xvasprintf): Likewise.
15757 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
15758 (grub_sprintf): Removed.
15759 (grub_vsnprintf): New function.
15760 (grub_snprintf): Likewise.
15761 (grub_xvasprintf): Likewise.
15762 (grub_xasprintf): Likewise.
15763 (grub_vsprintf): Renamed to ...
15764 (grub_vsnprintf_real): ...this. New argument max_len.
15765
aca655fd
BC
157662010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
15767
15768 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
15769 fix grub-script-check warning.
15770
7ee92c32
VS
157712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15772
15773 * include/grub/font.h (grub_font_load): Fix prototype.
15774
f80927ca
VS
157752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15776
15777 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
15778
119c50ea
VS
157792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15780
15781 * include/grub/x86_64/at_keyboard.h: New file.
15782
47d5f3c1
VS
157832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15784
15785 * loader/mips/linux.c: Include missing grub/i18n.h.
15786
55ff5266
RM
157872009-12-20 Robert Millan <rmh.grub@aybabtu.com>
15788
15789 * normal/menu.c (notify_execution_failure): Clarify error message.
15790
c893cc87
RM
157912009-12-20 Robert Millan <rmh.grub@aybabtu.com>
15792
15793 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
15794 return value (and revert all return statements). Update users.
15795
917dd370
CW
157962010-01-20 Dan Merillat <debian@dan.merillat.org>
15797
15798 * kern/device.c (grub_device_iterate): Allocate new part_ent
15799 structure based on sizeof (*p) rather than sizeof (p->next), to
15800 account for structure padding.
15801
15802 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
15803 disk is NULL, which might happen for LVM physical volumes with no
15804 LVM signature.
15805
d4a4ee57
RM
158062009-12-20 Robert Millan <rmh.grub@aybabtu.com>
15807
15808 * loader/mips/linux.c (grub_cmd_initrd)
15809 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
15810
158112009-12-20 Robert Millan <rmh.grub@aybabtu.com>
15812
15813 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
15814 (grub_video_video_init, grub_video_bitmap_init)
15815 (grub_font_manager_init, grub_term_gfxterm_init)
15816 (grub_at_keyboard_init): New extern declarations.
15817 (grub_machine_init): Initialize gfxterm and at_keyboard.
15818
15819 * kern/main.c (grub_main): Revert grub_printf delay kludge.
15820
15821 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
15822 `gfxterm.mod' into core image.
15823
15824 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
15825 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
15826 (kernel_img_FORMAT): Copy to ...
15827
15828 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
15829 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
15830 (kernel_img_FORMAT): ... here, and ...
15831
15832 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
15833 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
15834 (kernel_img_FORMAT): ... here.
15835
15836 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
15837 and input (at_keyboard) terminals in kernel.
15838 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
15839
15840 (pkglib_MODULES): Remove `pci.mod'.
15841 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
15842 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
15843 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
15844 (at_keyboard_mod_LDFLAGS): Remove variables.
15845
158462010-01-11 Felix Zielcke <fzielcke@z-51.de>
15847
15848 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
15849
158502009-12-10 Robert Millan <rmh.grub@aybabtu.com>
15851
15852 * include/grub/mips/libgcc.h: Only export symbols for functions
15853 that libgcc provides.
15854
158552009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
15856
15857 MIPS support.
15858
15859 * bus/bonito.c: New file.
15860 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
15861 GRUB_PCI_NUM_DEVICES.
15862 * term/i386/pc/serial.c: Move to ...
15863 * term/serial.c: ... here. All users updated.
15864 * util/i386/pc/grub-mkimage.c: Move to ...
15865 * util/grub-mkrawimage.c: ... here. All users updated.
15866 * term/i386/pc/at_keyboard.c: Move to ...
15867 * term/at_keyboard.c: ... here. All users updated.
15868 * conf/mips-qemu-mips.rmk: New file.
15869 * conf/mips-yeeloong.rmk: Likewise.
15870 * conf/mips.rmk: Likewise.
15871 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
15872 mipsel-qemu-mips.
15873 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
15874 to port addresses.
15875 (grub_ata_pciinit): Support CS5536.
15876 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
15877 * font/font_cmd.c (loadfont_command): Open file before passing it to
15878 grub_font_load.
15879 (pseudo_file_read): New function.
15880 (pseudo_file_close): Likewise.
15881 (pseudo_fs): New structure.
15882 (load_font_module): New function.
15883 (GRUB_MOD_INIT(font_manager)): Load embedded font.
15884 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
15885 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
15886 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
15887 * include/grub/i386/at_keyboard.h: Split into ...
15888 * include/grub/at_keyboard.h: ... this ...
15889 * include/grub/i386/at_keyboard.h: ... and this.
15890 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
15891 New prototype.
15892 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
15893 updated.
15894 (grub_elf64_size): Likewise.
15895 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
15896 filename.
15897 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
15898 * include/grub/i386/coreboot/serial.h: Rewritten.
15899 * include/grub/i386/ieee1275/serial.h: Include
15900 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
15901 * include/grub/i386/pc/serial.h: Moved from here ...
15902 * include/grub/serial.h: ... to here. All users updated.
15903 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
15904 (GRUB_PCI_NUM_BUS): Likewise.
15905 (GRUB_PCI_NUM_DEVICES): Likewise.
15906 (grub_pci_device_map_range): Add missing volatile keyword.
15907 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
15908 * include/grub/mips/at_keyboard.h: New file.
15909 * include/grub/mips/cache.h: Likewise.
15910 * include/grub/mips/io.h: Likewise.
15911 * include/grub/mips/kernel.h: Likewise.
15912 * include/grub/mips/libgcc.h: Likewise.
15913 * include/grub/mips/pci.h: Likewise.
15914 * include/grub/mips/qemu-mips/boot.h: Likewise.
15915 * include/grub/mips/qemu-mips/kernel.h: Likewise.
15916 * include/grub/mips/qemu-mips/loader.h: Likewise.
15917 * include/grub/mips/qemu-mips/memory.h: Likewise.
15918 * include/grub/mips/qemu-mips/serial.h: Likewise.
15919 * include/grub/mips/qemu-mips/time.h: Likewise.
15920 * include/grub/mips/relocator.h: Likewise.
15921 * include/grub/mips/time.h: Likewise.
15922 * include/grub/mips/types.h: Likewise.
15923 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
15924 * include/grub/mips/yeeloong/boot.h: Likewise.
15925 * include/grub/mips/yeeloong/kernel.h: Likewise.
15926 * include/grub/mips/yeeloong/loader.h: Likewise.
15927 * include/grub/mips/yeeloong/memory.h: Likewise.
15928 * include/grub/mips/yeeloong/pci.h: Likewise.
15929 * include/grub/mips/yeeloong/serial.h: Likewise.
15930 * include/grub/mips/yeeloong/time.h: Likewise.
15931 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
15932 * kern/elf.c (grub_elf32_size): New parameter. All users
15933 updated.
15934 (grub_elf64_size): Likewise.
15935 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
15936 Load modules before saying "Welcome to GRUB!".
15937 Call grub_refresh after saying "Welcome to GRUB!".
15938 * kern/mips/cache.S: New file.
15939 * kern/mips/cache_flush.S: Likewise.
15940 * kern/mips/dl.c: Likewise.
15941 * kern/mips/init.c: Likewise.
15942 * kern/mips/qemu-mips/init.c: Likewise.
15943 * kern/mips/startup.S: Likewise.
15944 * kern/mips/yeeloong/init.c: Likewise.
15945 * kern/term.c (grub_putcode): Handle NULL terminal.
15946 (grub_getcharwidth): Likewise.
15947 (grub_getkey): Likewise.
15948 (grub_checkkey): Likewise.
15949 (grub_getkeystatus): Likewise.
15950 (grub_getxy): Likewise.
15951 (grub_getwh): Likewise.
15952 (grub_gotoxy): Likewise.
15953 (grub_cls): Likewise.
15954 (grub_setcolorstate): Likewise.
15955 (grub_setcolor): Likewise.
15956 (grub_getcolor): Likewise.
15957 (grub_refresh): Likewise.
15958 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
15959 (write_jump): Add hatch nop.
15960 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
15961 * lib/mips/setjmp.S: New file.
15962 * loader/mips/linux.c: Likewise.
15963 * term/i386/pc/at_keyboard.c: Move from here ...
15964 * term/at_keyboard.c: ... to here.
15965 * term/i386/pc/serial.c: Moved from here ...
15966 * term/serial.c: ... to here. All users updated.
15967 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
15968 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
15969 (serial_translate_key_sequence): Avoid deadlock.
15970 (grub_serial_getkey): Handle backspace.
15971 (grub_serial_putchar): Fix newline handling.
15972 * util/i386/pc/grub-mkimage.c: Move from here ...
15973 * util/grub-mkrawimage.c: ... to here. All users updated.
15974 (generate_image): New parameters 'font_path' and 'format'.
15975 Support embedding font.
15976 Use grub_host_to_target* instead of grub_cpu_to_le*.
15977 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
15978 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
15979 (options): New option "--font".
15980 (usage): Likewise.
15981 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
15982 (main): Handle "--font".
15983 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
15984 (grub_virtual_screen_setup): Set bg_color_display.
15985 (redraw_screen_rect): Use bg_color_display instead of incorrect
15986 bg_color.
15987 (grub_gfxterm_cls): Likewise.
15988 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
15989 Support embedding config file.
15990 (add_segments): Likewise.
15991 (options): New option "--config".
15992 (main): Handle "--config".
15993 * video/sm712.c: New file.
15994
25c2b5b3
RM
159952010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15996
15997 Fix parallel builds.
15998
15999 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
16000 font.c depend on ascii.h).
16001
160022010-01-12 Carles Pina i Estany <carles@pina.cat>
16003
16004 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
16005
160062010-01-11 Carles Pina i Estany <carles@pina.cat>
16007
16008 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
16009 By default: disabled.
16010 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
16011 parameter.
16012
160132010-01-10 Carles Pina i Estany <carles@pina.cat>
16014
16015 * font/font.c: Update copyright years.
16016 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
16017
160182010-01-10 Carles Pina i Estany <carles@pina.cat>
16019
16020 * font/font.c: Include `ascii.h'.
16021 (ASCII_BITMAP_SIZE): New macro.
16022 (ascii_font_glyph): Define.
16023 (ascii_glyph_lookup): New function.
16024 (grub_font_get_string_width): Change comment. If glyph not found, use
16025 ascii_glyph_lookup.
16026 (grub_font_get_glyph_with_fallback): If glyph not available returns
16027 ascii_glyph_lookup.
16028 * util/grub-mkfont.c (file_formats): New enum.
16029 (options): Add `ascii-bitmaps' new option.
16030 (usage): Add `asii-bitmaps' new option.
16031 (write_font_ascii_bitmap): New function.
16032 (write_font): Rename to ...
16033 (write_font_p2): ... this. Remove print_glyphs call.
16034 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
16035 used. Call print_glyphs.
16036 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
16037
160382010-01-14 Robert Millan <rmh.grub@aybabtu.com>
16039
16040 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
16041 (grub_bin2h_SOURCES): New variable.
16042 * util/bin2h.c: New file.
16043
915fc1b8
VS
160442010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16045
16046 * include/multiboot.h: Resynced with spec.
16047 * include/multiboot2.h: Likewise.
16048 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
16049 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
16050
9444b678
RM
160512010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16052
16053 * include/grub/term.h (grub_term_register_input,
16054 grub_term_register_output): Check return of terminal init()
16055 routines, and abort if errors are raised.
16056
16057 * commands/terminal.c: Update copyright year.
16058
cba98e8d
RM
160592010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16060
16061 * commands/terminal.c (grub_cmd_terminal_input)
16062 (grub_cmd_terminal_output): Check return of terminal init()
16063 routines, and abort if errors are raised.
16064
6f7db5d6
VS
160652010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
16066
16067 * include/grub/i386/bsd.h: Fix include pathes.
16068
262bff8d
VS
160692010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
16070
16071 Add missing *BSD copyright headers.
16072
16073 * include/grub/aout.h: Add BSD licence.
16074 * include/grub/i386/bsd.h: Parts under different licences moved to ...
16075 * include/grub/i386/freebsd_linker.h: ... here,
16076 * include/grub/i386/freebsd_reboot.h: ... here,
16077 * include/grub/i386/netbsd_bootinfo.h: ... here,
16078 * include/grub/i386/netbsd_reboot.h: ... here,
16079 * include/grub/i386/openbsd_bootarg.h: ... here,
16080 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
16081 licence to each file.
16082
b2cab848
RM
160832010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16084
16085 * acinclude.m4: Remove `nop' assembly instruction; it's not
16086 implemented by all architectures.
16087
2cb6be4b
RM
160882010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16089
16090 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
16091 ELILO. This is no longer necessary.
16092
a2eaee15
BC
160932010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
16094
16095 Added new tool, grub-scrit-check to verify grub.cfg syntax.
16096
16097 * util/grub-script-check.c: grub-script-check tool.
16098 * conf/common.rmk: Make rules for grub-script-check.
16099
88d17012
RM
161002010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16101
16102 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
16103 spotting it back in 2008. Shame on me for forgetting he did.
16104
16105 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
16106
8040619d
RM
161072010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16108
16109 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
16110 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
16111 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
16112 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
16113 (GRUB_VIDEO_TYPE_EFI): Rename to ...
16114 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
16115
a0c2a0f6
RM
161162010-01-17 Robert Millan <rmh.grub@aybabtu.com>
16117
16118 * include/grub/test.h: Add license header.
16119 * tests/example_functional_test.c: Likewise.
16120 * tests/example_unit_test.c: Likewise.
16121 * tests/lib/functional_test.c: Likewise.
16122 * tests/lib/test.c: Likewise.
16123 * tests/lib/unit_test.c: Likewise.
16124
b0b13907
VS
161252010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
16126
16127 Use flag-based instead of hook-based video mode selection and "auto"
16128 keyword.
16129
16130 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
16131 (grub_video_set_mode): Changed prototype. All users updated.
16132 (grub_video_check_mode_flag): New inline function.
16133 * video/video.c (parse_modespec): New function.
16134 (grub_video_set_mode): Parse flags and keywords.
16135
ea379330 161362010-01-17 Carles Pina i Estany <carles@pina.cat>
16137
16138 * util/misc.c (grub_util_info): Fix the order of the parameters in a
16139 fprintf call.
16140
e15c215e
FZ
161412010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
16142
16143 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
16144
409ae1c9 161452010-01-16 Carles Pina i Estany <carles@pina.cat>
16146
16147 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
16148 string.
16149 * util/grub-emu.c (usage): Likewise.
16150 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
16151 * util/i386/efi/grub-mkimage.c (usage): Likewise.
16152 * util/i386/pc/grub-mkimage.c (usage): Likewise.
16153 * util/i386/pc/grub-setup.c (usage): Likewise.
16154
70a14d3d 161552010-01-16 Carles Pina i Estany <carles@pina.cat>
16156
16157 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
16158 the message.
16159 (grub_util_info): Likewise.
16160 (grub_util_error): Likewise.
16161 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
16162 and/or new lines in `grub_util_warna', `grub_util_info',
16163 `grub_util_error' calls.
16164 * util/getroot.c: Likewise.
16165 * util/grub-editenv.c: Likewise.
16166 * util/grub-emu.c: Likewise.
16167 * util/grub-fstest.c: Likewise.
16168 * util/grub-mkdevicemap.c: Likewise.
16169 * util/grub-mkfont.c: Likewise.
16170 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16171 * util/grub-mkrelpath.c: Likewise.
16172 * util/grub-pe2elf.c: Likewise.
16173 * util/grub-probe.c: Likewise.
16174 * util/hostdisk.c: Likewise.
16175 * util/i386/efi/grub-mkimage.c: Likewise.
16176 * util/i386/pc/grub-mkimage.c: Likewise.
16177 * util/i386/pc/grub-setup.c: Likewise.
16178 * util/ieee1275/ofpath.c: Likewise.
16179 * util/mkisofs/eltorito.c: Likewise.
16180 * util/mkisofs/rock.c: Likewise.
16181 * util/mkisofs/write.c: Likewise.
16182 * util/raid.c: Likewise.
16183 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
16184 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16185
a0b766fc
VS
161862010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16187
16188 Enable multiboot on non-pc.
16189
16190 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
16191 multiboot.mod and multiboot2.mod to ...
16192 * conf/i386.rmk (pkglib_MODULES): ... here.
16193 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
16194 Moved to ...
16195 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
16196 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
16197 Moved to ...
16198 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
16199 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
16200 Moved to ...
16201 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
16202 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
16203 Moved to ...
16204 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
16205 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
16206 relocator.mod.
16207 (ata_mod_SOURCES): Removed.
16208 (ata_mod_CFLAGS): Likewise.
16209 (ata_mod_LDFLAGS): Likewise.
16210 (relocator_mod_SOURCES): Removed.
16211 (relocator_mod_CFLAGS): Likewise.
16212 (relocator_mod_ASFLAGS): Likewise.
16213 (relocator_mod_LDFLAGS): Likewise.
16214 Include i386.mk.
16215 * include/grub/x86_64/multiboot.h: New file.
16216 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
16217 Terminate EFI.
16218
884ade56
VS
162192010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16220
16221 Video multiboot support.
16222
16223 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
16224 New prototype.
16225 * include/multiboot.h: Resynced with multiboot specification.
16226 * include/multiboot2.h: Likewise.
16227 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
16228 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
16229 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
16230 (HAS_VGA_TEXT): Likewise.
16231 (accepts_video): New variable.
16232 (grub_multiboot_set_accepts_video): New function.
16233 (grub_multiboot_get_mbi_size): Account for video structures.
16234 (set_video_mode): New function.
16235 (retrieve_video_parameters): Likewise.
16236 (grub_multiboot_make_mbi): Fill video fields.
16237
0d90e8a6
VS
162382010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16239
16240 Video driver ids.
16241
16242 * include/grub/video.h (grub_video_driver_id): New type.
16243 (grub_video_adapter): New member 'id'. All users updated.
16244 (grub_video_get_driver_id): New proto.
16245 * video/video.c (grub_video_get_driver_id): New function.
16246
5c71db1b 162472010-01-14 Carles Pina i Estany <carles@pina.cat>
16248
16249 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
16250 `var=val'.
16251
cca15b52 162522010-01-14 Carles Pina i Estany <carles@pina.cat>
16253
16254 * normal/cmdline.c (print_completion): Gettextizze.
16255
c586fbb2 162562001-01-14 Carles Pina i Estany <carles@pina.cat>
16257
16258 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
16259
ba2f6848 162602010-01-14 Carles Pina i Estany <carles@pina.cat>
16261
16262 * gettext/gettext.c (grub_gettext_translate): Push and pop
16263 grub_errno.
16264 (grub_gettext_delete_list): Change comment style.
16265 * kern/err.c (grub_error): Gettextizze.
16266 (grub_fatal): Gettextizze.
16267
0a46429a
RM
162682010-01-14 Robert Millan <rmh.grub@aybabtu.com>
16269
16270 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
16271 (grub_linux16_real_boot): ... this.
16272 * kern/i386/loader.S: Likewise.
16273 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
16274 (grub_linux16_boot): New function. Switches to text mode and calls
16275 grub_linux16_real_boot().
16276
16277 * loader/i386/bsd.c: Include `<grub/video.h>'.
16278 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
16279 text mode before calling grub_unix_real_boot().
16280
16281 * loader/i386/multiboot.c: Include `<grub/video.h>'.
16282 (grub_multiboot_boot): Switch to text mode before calling
16283 grub_relocator32_boot().
16284
16285 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
16286 (grub_chainloader_boot): Switch to text mode before calling
16287 grub_chainloader_real_boot().
16288
d6f93a66
RM
162892010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
162902010-01-05 Colin Watson <cjwatson@ubuntu.com>
16291
16292 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
16293 non-empty value.
16294
162952010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
162962010-01-05 Colin Watson <cjwatson@ubuntu.com>
16297
16298 * util/grub.d/00_header.in: Define a "savedefault" function for use
16299 in menu entries.
16300 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
16301
163022010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
163032010-01-05 Colin Watson <cjwatson@ubuntu.com>
16304
16305 * util/grub-mkconfig_lib.in (save_default_entry): Only set
16306 saved_entry if boot_once is unset.
16307 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
16308 previous saved entry (i.e. grub-reboot).
16309
163102009-12-08 Colin Watson <cjwatson@ubuntu.com>
16311
16312 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
16313
163142009-12-08 Colin Watson <cjwatson@ubuntu.com>
16315
16316 * util/grub.d/00_header.in: Use `set var=val' rather than plain
16317 `var=val'.
16318 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
16319
163202009-12-08 Colin Watson <cjwatson@ubuntu.com>
16321
16322 * util/grub-reboot.in: Fix --version output.
16323 * util/grub-set-default.in: Likewise.
16324
163252009-12-08 Colin Watson <cjwatson@ubuntu.com>
16326
16327 * util/grub.d/00_header.in: Silently ignore zero-sized environment
16328 blocks.
16329
163302009-12-08 Colin Watson <cjwatson@ubuntu.com>
16331
16332 * util/grub.d/00_header.in: Quote the value assigned to `default',
16333 in case it contains spaces.
16334
163352009-12-08 Colin Watson <cjwatson@ubuntu.com>
16336
16337 * util/grub.d/30_os-prober.in: Fix merge error that moved a
16338 `save_default_entry' call from the macosx case to the linux case.
16339
163402009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
163412009-10-25 Colin Watson <cjwatson@ubuntu.com>
16342
16343 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
16344 in `chosen' environment variable.
16345 * normal/menu_text.c (get_entry_number): Check if the variable
16346 matches the title of a menu entry.
16347 (run_menu): Pass menu to get_entry_number.
16348
16349 * util/grub-reboot.in: New file.
16350 * util/grub-set-default.in: New file.
16351 * conf/common.rmk (grub-reboot): New utility.
16352 (grub-set-default): New utility.
16353
16354 * util/grub-mkconfig_lib.in (save_default_entry): New function.
16355 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
16356 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
16357 move it to `saved_entry' for the next boot. Load environment on
16358 initialisation.
16359 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
16360 * util/grub.d/10_hurd.in: Likewise.
16361 * util/grub.d/10_linux.in (linux_entry): Likewise.
16362 * util/grub.d/10_windows.in: Likewise.
16363 * util/grub.d/30_os-prober.in: Likewise.
16364
16365 * util/grub-install.in: Create environment block.
16366 * util/i386/efi/grub-install.in: Likewise.
16367 * util/ieee1275/grub-install.in: Likewise.
16368 * util/sparc64/ieee1275/grub-install.in: Likewise.
16369
0934d184
BC
163702010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
16371
16372 Unit testing framework for GRUB.
16373
16374 * Makefile.in: Test framework build rules for 'make check'.
16375 * conf/tests.rmk: Build rules for individual tests and framework.
16376
16377 * include/grub/test.h: Header file for whitebox tests.
16378 * tests/lib/functional_test.c: Framework support for whitebox
16379 functional tests.
16380 * tests/lib/test.c: Common whitebox testing code for unit and
16381 functional tests.
16382 * tests/lib/unit_test.c: Framework support for whitebox unit
16383 tests.
16384
16385 * tests/util/grub-shell-tester.in: Support utility for grub-script
16386 tests.
16387 * tests/util/grub-shell.in: Utility to execute grub-script
16388 commands in a Qemu instance.
16389
16390 * tests/example_functional_test.c: Example whitebox functional
16391 test.
16392 * tests/example_grub_script_test.in: Example grub-script test.
16393 * tests/example_scripted_test.in: Example scripted test.
16394 * tests/example_unit_test.c: Example whitebox unit test.
16395
9c4ffeeb
VS
163962010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
16397
16398 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
16399 Add loader/i386/multiboot_mbi.c.
16400 (multiboot2_mod_SOURCES): Likewise.
16401 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
16402 (multiboot2_mod_SOURCES): Likewise.
16403 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
16404 (grub_multiboot_make_mbi): Likewise.
16405 (grub_multiboot_free_mbi): Likewise.
16406 (grub_multiboot_init_mbi): Likewise.
16407 (grub_multiboot_add_module): Likewise.
16408 (grub_multiboot_set_bootdev): Likewise.
16409 * loader/i386/multiboot.c (mbi): Removed.
16410 (mbi_dest): Likewise.
16411 (alloc_mbi): New variable.
16412 (grub_multiboot_payload_size): Removed. All users updated.
16413 (grub_multiboot_pure_size): New variable.
16414 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
16415 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
16416 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
16417 (grub_fill_multiboot_mmap): Likewise.
16418 (grub_multiboot_get_bootdev): Likewise.
16419 (grub_multiboot): Use multiboot_mbi functions.
16420 * loader/i386/multiboot_mbi.c: New file.
16421
17383dfe
VS
164222010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16423
16424 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
16425 it would result in module crash.
16426
c1f28820
VS
164272010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16428
16429 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
16430 (grub_ofconsole_getwh): Split to ...
16431 (grub_ofconsole_getwh): ... this.
16432 (grub_ofconsole_dimensions): ...and this.
16433 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
16434
58655a16
RM
164352010-01-13 Robert Millan <rmh.grub@aybabtu.com>
16436
16437 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
16438
10891398
VS
164392010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16440
16441 * loader/i386/pc/multiboot2.c: Removed stalled file.
16442
0b8a223c
VS
164432010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16444
16445 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
16446 Reported by: Grégoire Sutre
16447
92ab12b0
RM
164482010-01-11 Robert Millan <rmh.grub@aybabtu.com>
16449
16450 * util/misc.c (canonicalize_file_name): New function.
16451 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
16452 instead of realpath().
16453
a788afb6
CW
164542010-01-11 Colin Watson <cjwatson@ubuntu.com>
16455
16456 * util/grub-install.in (usage): Clarify meaning of --root-directory,
16457 and make it clearer that it's optional. Based on confusion
16458 witnessed on IRC.
16459
ffa8e3d2
VS
164602010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16461
16462 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
16463 in premature implicit newline.
16464
e9060a9d
VS
164652010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16466
16467 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
16468 which resulted in garbled command line at the end of screen.
16469
f0d0c0b7
RM
164702010-01-10 Robert Millan <rmh.grub@aybabtu.com>
16471
16472 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
16473 initialization with similar approach as with other Linux loaders.
16474
0e60bae7
RM
164752010-01-10 Robert Millan <rmh.grub@aybabtu.com>
16476
16477 Fix i386-ieee1275 build.
16478
16479 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
16480 and grub_term_height() for video_{width,height} initialization.
16481
164822010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
16483
16484 Fix grub-emu build.
16485
16486 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
16487
cdb3f378
RM
164882010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
164892010-01-09 Robert Millan <rmh.grub@aybabtu.com>
16490
16491 Support for multiple terminals.
16492
16493 * Makefile.in (pkglib_DATA): terminal.lst.
16494 (terminal.lst): New target.
16495 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
16496 (GRUB_MOD_INIT(handler)): Likewise.
16497 (GRUB_MOD_FINI(handler)): Likewise.
16498 * commands/help.c (grub_cmd_help): Handle multiple terminals.
16499 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
16500 * commands/sleep.c (do_print): Use grub_term_restore_pos.
16501 (grub_cmd_sleep): Use grub_term_save_pos.
16502 * commands/terminal.c: New file.
16503 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
16504 commands/terminal.c and lib/charset.c.
16505 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
16506 (pkglib_MODULES): Add terminal.mod.
16507 (terminal_mod_SOURCES): New variable.
16508 (terminal_mod_CFLAGS): Likewise.
16509 (terminal_mod_LDFLAGS): Likewise.
16510 * genhandlerlist.sh: Don't handle terminals.
16511 * genmk.rb: Generate terminal-*.lst.
16512 * genterminallist.sh: New file.
16513 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
16514 (grub_is_valid_utf8): Likewise.
16515 (grub_utf8_to_ucs4_alloc): Likewise.
16516 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
16517 (grub_menu_register_viewer): Changed argument.
16518 (grub_menu_try_text): New proto.
16519 (grub_gfxmenu_try_hook): New declaration.
16520 * include/grub/normal.h (grub_normal_exit_level): New declaration.
16521 (grub_menu_init_page): Additional argument term.
16522 (grub_normal_init_page): Likewise.
16523 (grub_cmdline_get): Arguments simplified.
16524 (grub_utf8_to_ucs4_alloc): Removed.
16525 (grub_print_ucs4): Additional argument term.
16526 (grub_getstringwidth): Likewise.
16527 (grub_print_message_indented): Likewise.
16528 (grub_menu_text_register_instances): New proto.
16529 (grub_show_menu): Likewise.
16530 (read_terminal_list): Likewise.
16531 (grub_set_more): Likewise.
16532 * include/grub/parser.h: Include handler.h.
16533 * include/grub/reader.h: Rewritten.
16534 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
16535 (GRUB_TERM_WIDTH): Changed to function.
16536 (GRUB_TERM_HEIGHT): Likewise.
16537 (GRUB_TERM_BORDER_WIDTH): Likewise.
16538 (GRUB_TERM_BORDER_HEIGHT): Likewise.
16539 (GRUB_TERM_NUM_ENTRIES): Likewise.
16540 (GRUB_TERM_ENTRY_WIDTH): Likewise.
16541 (GRUB_TERM_CURSOR_X): Likewise.
16542 (grub_term_input_class): Likewise.
16543 (grub_term_output_class): Likewise.
16544 (grub_term_outputs_disabled): New declaration.
16545 (grub_term_inputs_disabled): Likewise.
16546 (grub_term_outputs): Likewise.
16547 (grub_term_inputs): Likewise.
16548 (grub_term_register_input): Rewritten.
16549 (grub_term_register_output): Likewise.
16550 (grub_term_unregister_input): Likewise.
16551 (grub_term_unregister_output): Likewise.
16552 (FOR_ACTIVE_TERM_INPUTS): New macro.
16553 (FOR_DISABLED_TERM_INPUTS): Likewise.
16554 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
16555 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
16556 * include/grub/terminfo.h: Add oterm argument to all protypes.
16557 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
16558 Use grub_rescue_run.
16559 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
16560 All users updated.
16561 * kern/reader.c: Removed. All users updated.
16562 * kern/rescue_reader.c (grub_rescue_init): Removed.
16563 (grub_rescue_reader): Likewise.
16564 (grub_register_rescue_reader): Likewise.
16565 (grub_rescue_run): New function based on kern/reader.c.
16566 * kern/term.c: Adapted for multiterm.
16567 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
16568 (grub_is_valid_utf8): Likewise.
16569 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
16570 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
16571 right terminal.
16572 * loader/i386/linux.c (grub_linux_boot): Likewise.
16573 * normal/auth.c (grub_username_get): New function.
16574 (grub_auth_check_authentication): Use grub_username_get.
16575 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
16576 * normal/color.c: Adapt for multiterm.
16577 * normal/main.c (read_config_file): Don't use grub_reader_loop.
16578 (grub_normal_init_page): Additional argument term.
16579 (read_lists): Call read_terminal_lists.
16580 (grub_enter_normal_mode): Call grub_cmdline_run.
16581 Handle grub_normal_exit_level.
16582 (grub_cmd_normal): Make reentrant.
16583 (grub_cmd_normal_exit): New function.
16584 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
16585 * normal/menu.c: Adapt for multiterm.
16586 * normal/menu_entry.c: Likewise.
16587 * normal/menu_text.c: Likewise.
16588 * normal/menu_viewer.c: Removed. All users updated.
16589 * normal/term.c: New file.
16590 * util/console.c: Change order of includes to workaround a bug in
16591 ncurses headers.
16592 * term/terminfo.c: New argument oterm on all exported functions.
16593 All users updated.
16594 * util/grub-editenv.c (grub_term_input_class): Removed.
16595 (grub_term_output_class): Likewise.
16596
1a064917
RM
165972010-01-09 Robert Millan <rmh.grub@aybabtu.com>
16598
16599 Make loader output a bit more user-friendly.
16600
16601 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
16602 is being loaded. Likewise for the Hurd.
16603
16604 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
16605 that kernel of FreeBSD ${version} is being loaded.
16606
16607 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
16608 grub_dprintf().
16609 (grub_cmd_initrd): Likewise.
16610 * util/grub.d/10_linux.in (linux_entry): Print message indicating
16611 that Linux ${version} is being loaded. Likewise for initrd.
16612
5ce0a83a 166132010-01-09 Carles Pina i Estany <carles@pina.cat>
16614
16615 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
16616
809bbfeb 166172010-01-08 Carles Pina i Estany <carles@pina.cat>
16618
16619 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
16620 (GRUB_MOD_INIT): Gettextizze.
16621 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
16622 (GRUB_MOD_INIT): Gettextizze.
16623 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
16624 (grub_cmd_linux): Capitalise Linux.
16625 (GRUB_MOD_INIT): Gettextizze.
16626 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
16627 (grub_cmd_linux): Capitalise Linux.
16628 (GRUB_MOD_INIT): Gettextizze.
16629 * loader/i386/linux.c: Include `<grub/i18n.h>'.
16630 (grub_cmd_linux): Capitalise Linux.
16631 (GRUB_MOD_INIT): Gettextizze.
16632 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
16633 (GRUB_MOD_INIT): Gettextizze.
16634 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
16635 (grub_cmd_linux): Capitalise Linux.
16636 (GRUB_MOD_INIT): Gettextizze.
16637 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
16638 (grub_cpu_xnu_init): Gettextizze.
16639 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
16640 (GRUB_MOD_INIT): Gettextizze.
16641 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
16642 (GRUB_MOD_INIT): Gettextizze.
16643 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
16644 (grub_linux_load64): Capitalise Linux.
16645 (GRUB_MOD_INIT): Gettextizze.
16646 * loader/xnu.c: Include `<grub/i18n.h>'.
16647 (GRUB_MOD_INIT): Gettextizze.
16648 * po/POTFILES: Add `loader/efi/appleloader.c',
16649 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
16650 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
16651 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
16652 `loader/i386/xnu.c', `loader/multiboot_loader.c',
16653 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
16654 and `loader/xnu.c'.
16655
b394b2ca
RM
166562010-01-08 Robert Millan <rmh.grub@aybabtu.com>
16657
16658 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
16659
166602010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
16661
16662 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
16663 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
16664 * util/mkisofs/mkisofs.c (main): Readjust --version output.
16665
bc8b32b3
RM
166662010-01-07 Robert Millan <rmh.grub@aybabtu.com>
16667
16668 Reset Multiboot 2 support. New loader implements the draft in
16669 /branches/multiboot2 and shares as much code as possible with the
16670 production Multiboot 1 implementation.
16671
16672 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
16673 * loader/multiboot2.c: Likewise.
16674 * loader/i386/multiboot_helper.S: Likewise.
16675 * include/multiboot2.h: Replace with latest version from the draft
16676 in /branches/multiboot2.
16677
16678 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
16679 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
16680 and `loader/multiboot2.c'.
16681 (pkglib_MODULES): Add `multiboot2.mod'.
16682 (multiboot2_mod_SOURCES): New variable.
16683 (multiboot2_mod_LDFLAGS): Likewise.
16684 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
16685
16686 * conf/i386-pc.rmk: Likewise.
16687
16688 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
16689 (multiboot_mod_SOURCES): Remove variable.
16690 (multiboot_mod_LDFLAGS): Likewise.
16691 (multiboot_mod_CFLAGS): Likewise.
16692
16693 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
16694 `<multiboot2.h>' instead of `<multiboot.h>'.
16695 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
16696 (MULTIBOOT_HEADER_MAGIC): New macros.
16697
16698 * loader/multiboot_loader.c (module_version_status): Remove variable.
16699 (find_multi_boot2_header): Remove function.
16700 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
16701 logic. Always check for the Multiboot version we're compiling for.
16702 (grub_cmd_module_loader): Likewise.
16703 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
16704 command instead of `multiboot'.
16705
5d2c52b8
RM
167062010-01-07 Robert Millan <rmh.grub@aybabtu.com>
16707
16708 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
16709 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
16710 all users.
16711
53108d92
RM
167122010-01-07 Robert Millan <rmh.grub@aybabtu.com>
167132010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16714
16715 Fix breakage introduced with previous commit.
16716
16717 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
16718 commands.
16719 * normal/handler.c (read_handler_list): Revert part of previous commit
16720 affecting this file.
16721 * normal/main.c (read_lists): Move read_handler_list() call back to ...
16722 (grub_normal_execute): ... here.
16723
e2e936b2
RM
167242010-01-07 Robert Millan <rmh.grub@aybabtu.com>
16725
16726 Merge prefix-redefinition-fix branch.
16727
16728 * normal/autofs.c (read_fs_list): Make function capable of being
16729 run multiple times, gracefuly replacing the previous data
16730 structures.
16731 * normal/dyncmd.c (read_command_list): Likewise.
16732 * normal/handler.c (read_handler_list): Likewise.
16733 * normal/main.c (read_lists): New function. Calls all the
16734 list reading functions.
16735 (grub_normal_execute): Use read_lists() instead of calling all
16736 list reading functions explicitly. Register read_lists() as a
16737 variable hook attached to ${prefix}.
16738
607a3701
VS
167392010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16740
16741 Merge crypto branch.
16742
16743 * Makefile.in (pkglib_DATA): Add crypto.lst.
16744 (crypto.lst): New target.
16745 * commands/hashsum.c: New file.
16746 * commands/password.c (check_password): Use grub_crypto_memcmp.
16747 * commands/password_pbkdf2.c: New file.
16748 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
16749 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
16750 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
16751 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
16752 -I$(srcdir)/lib/libgcrypt_wrap.
16753 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
16754 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
16755 password_pbkdf2.mod.
16756 (crypto_mod_SOURCES): New variable.
16757 (crypto_mod_CFLAGS): Likewise.
16758 (crypto_mod_LDFLAGS): Likewise.
16759 (hashsum_mod_SOURCES): New variable.
16760 (hashsum_mod_CFLAGS): Likewise.
16761 (hashsum_mod_LDFLAGS): Likewise.
16762 (pbkdf2_mod_SOURCES): New variable.
16763 (pbkdf2_mod_CFLAGS): Likewise.
16764 (pbkdf2_mod_LDFLAGS): Likewise.
16765 (password_pbkdf2_mod_SOURCES): New variable.
16766 (password_pbkdf2_mod_CFLAGS): Likewise.
16767 (password_pbkdf2_mod_LDFLAGS): Likewise.
16768 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
16769 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
16770 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
16771 Include conf/gcry.rmk.
16772 * include/grub/auth.h: Rewritten.
16773 * include/grub/crypto.h: New file.
16774 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
16775 * include/grub/normal.h (read_crypto_list): New prototype.
16776 * lib/crypto.c: New file.
16777 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
16778 * lib/pbkdf2.c: Likewise.
16779 * normal/auth.c (grub_auth_strcmp): Removed.
16780 (grub_iswordseparator): Likewise.
16781 (grub_auth_strword): Likewise.
16782 (is_authenticated): Use grub_strword.
16783 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
16784 and grub_strword. Pass entered password to authentication callback.
16785 * normal/crypto.c: New file.
16786 * normal/main.c: Call read_crypto_list.
16787 * util/grub-mkpasswd-pbkdf2.c: New file.
16788 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
16789
42841caa
VS
167902010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
16791
16792 Fix descent and ascent calculation.
16793
16794 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
16795 (options): New option "asce".
16796 (usage): Likewise.
16797 (add_char): Ignore invalid glyphs for descent calculation.
16798 Calculate ascent from actual content.
16799 (print_glyphs): Use 'asce'.
16800 (write_font): Likewise. Allow ascent override.
16801 (main): Handle "asce" option.
16802
e7730de7 168032010-01-06 Carles Pina i Estany <carles@pina.cat>
16804
16805 * kern/err.c: Include `<grub/i18n.h>'.
16806 (grub_print_error): Add full stop. Gettextizze.
16807 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
16808 (grub_bsd_load_elf): Capitalise ELF.
16809 (grub_cmd_freebsd_loadenv): Add `s' in error string.
16810 (grub_cmd_freebsd_module): Likewise.
16811 (grub_cmd_freebsd_module_elf): Likewise.
16812 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
16813
40e3a41f 168142010-01-06 Carles Pina i Estany <carles@pina.cat>
16815
16816 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
16817 * commands/search_file.c (HELP_MESSAGE): New macro.
16818 * commands/search_label.c (HELP_MESSAGE): Likewise.
16819 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
16820 * po/POTFILES: Add `commands/search_file.c',
16821 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
16822 `commands/search.c'.
16823
83507e68
RM
168242010-01-05 Robert Millan <rmh.grub@aybabtu.com>
16825
16826 * config.rpath: Update from Gnulib.
16827
465c787b
YB
168282010-01-05 Yves Blusseau <blusseau@zetam.org>
16829
16830 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
16831
6581dd3a
YB
168322010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
16833
16834 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
16835
3bff18c5
CW
168362010-01-05 Colin Watson <cjwatson@ubuntu.com>
16837
16838 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
16839 arguments to fread so that we get a return value in bytes, rather
16840 than something that will normally be rounded down to 0.
16841 Adjust error handling to avoid producing garbage when size_t is not
16842 the same size as long long.
16843
a1368118
CW
168442010-01-05 Colin Watson <cjwatson@ubuntu.com>
16845
16846 * util/mkisofs/write.c (padblock_write): Check return value of
16847 fread.
16848
7c302978
RM
168492010-01-05 Robert Millan <rmh.grub@aybabtu.com>
16850
16851 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
16852 floppy images now.
16853
16854 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
16855
e33ace06
RM
168562010-01-04 Robert Millan <rmh.grub@aybabtu.com>
16857
16858 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
16859 instead of manual alignment.
16860 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
16861 verbose). Avoid attempts to read past end of the device
16862 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
16863 but GRUB_DISK_CACHE_SIZE may exceed that).
16864
4b856776
RM
168652010-01-04 Robert Millan <rmh.grub@aybabtu.com>
16866
16867 * commands/crc.c (grub_cmd_crc): Abort on read errors.
16868 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
16869 it to upper layer.
16870
52c2d97f
VS
168712010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16872
16873 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
16874 New constant.
16875 (grub_efi_piwg_device_path): New structure
16876 (grub_efi_piwg_device_path_t): New type.
16877 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
16878 (devpath_1): Transform to a structure. All users updated.
16879 (devpath_2): Likewise.
16880 (devpath_3): Likewise.
16881 (devpath_4): Likewise.
16882 (devpath_5): Likewise.
16883
98ff6a54
VS
168842010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16885
16886 * loader/efi/appleloader.c: Restored. Update all users.
16887
3a73dcb6
RM
168882010-01-03 Robert Millan <rmh.grub@aybabtu.com>
16889
16890 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
16891
16892 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
16893 (struct boot_blocklist): Move from here ...
16894 * include/grub/i386/pc/boot.h [ASM_FILE]
16895 (struct grub_boot_blocklist): ... to here. Update all users.
16896 (setup): Only initialize `start' member of `first_block'
16897 structure. Add assert() calls to verify the other members.
16898
16899 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
16900 (generate_image): Fix broken blocklist length initialization.
16901 Add assert() call to verify blocklist `segment' field.
16902
ab0eeb0c
RM
169032010-01-03 Robert Millan <rmh.grub@aybabtu.com>
16904
16905 * loader/efi/appleloader.c: Remove. Update all users.
16906
58bc8bd5
RM
169072010-01-03 Robert Millan <rmh.grub@aybabtu.com>
16908
16909 * boot/i386/pc/boot.S: Update copyright year.
16910 * boot/i386/pc/cdboot.S: Likewise.
16911 * boot/i386/pc/diskboot.S: Likewise.
16912 * boot/i386/pc/lnxboot.S: Likewise.
16913 * boot/i386/pc/pxeboot.S: Likewise.
16914 * bus/pci.c: Likewise.
16915 * commands/cmp.c: Likewise.
16916 * commands/help.c: Likewise.
16917 * commands/hexdump.c: Likewise.
16918 * commands/i386/pc/halt.c: Likewise.
16919 * commands/i386/pc/play.c: Likewise.
16920 * commands/i386/pc/vbeinfo.c: Likewise.
16921 * commands/ls.c: Likewise.
16922 * commands/test.c: Likewise.
16923 * disk/dmraid_nvidia.c: Likewise.
16924 * disk/i386/pc/biosdisk.c: Likewise.
16925 * disk/ieee1275/nand.c: Likewise.
16926 * disk/ieee1275/ofdisk.c: Likewise.
16927 * disk/lvm.c: Likewise.
16928 * disk/raid.c: Likewise.
16929 * disk/raid6_recover.c: Likewise.
16930 * disk/scsi.c: Likewise.
16931 * fs/affs.c: Likewise.
16932 * fs/cpio.c: Likewise.
16933 * fs/ext2.c: Likewise.
16934 * fs/hfs.c: Likewise.
16935 * fs/iso9660.c: Likewise.
16936 * fs/ntfs.c: Likewise.
16937 * fs/sfs.c: Likewise.
16938 * fs/udf.c: Likewise.
16939 * fs/ufs.c: Likewise.
16940 * fs/xfs.c: Likewise.
16941 * gencmdlist.sh: Likewise.
16942 * genmk.rb: Likewise.
16943 * include/grub/disk.h: Likewise.
16944 * include/grub/efi/api.h: Likewise.
16945 * include/grub/efi/efi.h: Likewise.
16946 * include/grub/efi/pe32.h: Likewise.
16947 * include/grub/elf.h: Likewise.
16948 * include/grub/fs.h: Likewise.
16949 * include/grub/i386/at_keyboard.h: Likewise.
16950 * include/grub/i386/pc/memory.h: Likewise.
16951 * include/grub/i386/pc/vbe.h: Likewise.
16952 * include/grub/i386/pci.h: Likewise.
16953 * include/grub/i386/tsc.h: Likewise.
16954 * include/grub/ieee1275/ieee1275.h: Likewise.
16955 * include/grub/ntfs.h: Likewise.
16956 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
16957 * include/grub/sparc64/libgcc.h: Likewise.
16958 * include/grub/symbol.h: Likewise.
16959 * include/grub/types.h: Likewise.
16960 * include/multiboot2.h: Likewise.
16961 * io/gzio.c: Likewise.
16962 * kern/device.c: Likewise.
16963 * kern/disk.c: Likewise.
16964 * kern/efi/efi.c: Likewise.
16965 * kern/efi/mm.c: Likewise.
16966 * kern/elf.c: Likewise.
16967 * kern/file.c: Likewise.
16968 * kern/i386/dl.c: Likewise.
16969 * kern/i386/pc/init.c: Likewise.
16970 * kern/i386/pc/startup.S: Likewise.
16971 * kern/ieee1275/ieee1275.c: Likewise.
16972 * kern/ieee1275/init.c: Likewise.
16973 * kern/main.c: Likewise.
16974 * kern/mm.c: Likewise.
16975 * kern/powerpc/dl.c: Likewise.
16976 * kern/sparc64/dl.c: Likewise.
16977 * kern/x86_64/dl.c: Likewise.
16978 * lib/hexdump.c: Likewise.
16979 * loader/efi/appleloader.c: Likewise.
16980 * loader/i386/ieee1275/linux.c: Likewise.
16981 * loader/i386/pc/chainloader.c: Likewise.
16982 * loader/i386/pc/linux.c: Likewise.
16983 * loader/i386/pc/multiboot2.c: Likewise.
16984 * loader/ieee1275/multiboot2.c: Likewise.
16985 * loader/multiboot2.c: Likewise.
16986 * loader/multiboot_loader.c: Likewise.
16987 * loader/powerpc/ieee1275/linux.c: Likewise.
16988 * normal/completion.c: Likewise.
16989 * normal/menu_entry.c: Likewise.
16990 * partmap/apple.c: Likewise.
16991 * util/grub.d/10_hurd.in: Likewise.
16992 * util/hostfs.c: Likewise.
16993 * video/readers/png.c: Likewise.
16994
e2d70b5c
CW
169952010-01-03 Colin Watson <cjwatson@ubuntu.com>
16996
16997 * include/grub/misc.h (GNUC_PREREQ): New macro.
16998 (ATTRIBUTE_ERROR): New macro.
16999 * include/grub/list.h (grub_bad_type_cast_real): Use
17000 ATTRIBUTE_ERROR.
17001
a173283f 170022010-01-03 Carles Pina i Estany <carles@pina.cat>
17003
17004 * normal/menu_text.c (print_message): Change messages.
17005
7fa7ff74 170062010-01-03 Carles Pina i Estany <carles@pina.cat>
17007
17008 * normal/menu_entry.c (store_completion): Gettextizze.
17009
136d24f6 170102010-01-03 Carles Pina i Estany <carles@pina.cat>
17011
17012 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
17013
f936862e 170142010-01-03 Carles Pina i Estany <carles@pina.cat>
17015
17016 * po/POTFILES: Sort correctly.
17017
29c44ad1 170182010-01-03 Carles Pina i Estany <carles@pina.cat>
17019
17020 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
17021 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
17022 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
17023 full stop.
17024 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
17025 summary. Gettextizze the strings.
17026 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
17027 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
17028 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
17029 full stop.
17030 (GRUB_MOD_INIT): Remove command name from summary.
17031 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
17032 summary.
17033 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
17034 * term/i386/pc/serial.c (options): Add full stops.
17035 (GRUB_MOD_INIT): Remove command name from the summary.
17036
77a79592 170372010-01-03 Carles Pina i Estany <carles@pina.cat>
17038
17039 * commands/acpi.c: Gettextizze help strings and/or options. Include
17040 `grub/i18n.h' if needed.
17041 * commands/blocklist.c: Likewise.
17042 * commands/boot.c: Likewise.
17043 * commands/cat.c: Likewise.
17044 * commands/cmp.c: Likewise.
17045 * commands/configfile.c: Likewise.
17046 * commands/crc.c: Likewise.
17047 * commands/date.c: Likewise.
17048 * commands/echo.c: Likewise.
17049 * commands/efi/fixvideo.c: Likewise.
17050 * commands/efi/loadbios.c: Likewise.
17051 * commands/gptsync.c: Likewise.
17052 * commands/halt.c: Likewise.
17053 * commands/handler.c: Likewise.
17054 * commands/hdparm.c: Likewise.
17055 * commands/hexdump.c: Likewise.
17056 * commands/i386/cpuid.c: Likewise.
17057 * commands/i386/pc/drivemap.c: Likewise.
17058 * commands/i386/pc/halt.c: Likewise.
17059 * commands/i386/pc/pxecmd.c: Likewise.
17060 * commands/i386/pc/vbeinfo.c: Likewise.
17061 * commands/i386/pc/vbetest.c: Likewise.
17062 * commands/ieee1275/suspend.c: Likewise.
17063 * commands/keystatus.c: Likewise.
17064 * commands/loadenv.c: Likewise.
17065 * commands/ls.c: Likewise.
17066 * commands/lsmmap.c: Likewise.
17067 * commands/lspci.c: Likewise.
17068 * commands/memrw.c: Likewise.
17069 * commands/minicmd.c: Likewise.
17070 * commands/parttool.c: Likewise.
17071 * commands/password.c: Likewise.
17072 * commands/probe.c: Likewise.
17073 * commands/read.c: Likewise.
17074 * commands/reboot.c: Likewise.
17075 * commands/search.c: Likewise.
17076 * commands/sleep.c: Likewise.
17077 * commands/test.c: Likewise.
17078 * commands/true.c: Likewise.
17079 * commands/usbtest.c: Likewise.
17080 * commands/videotest.c: Likewise.
17081 * commands/xnu_uuid.c: Likewise.
17082 * disk/loopback.c: Likewise.
17083 * hello/hello.c: Likewise.
17084 * loader/i386/bsd.c: Likewise.
17085 * term/i386/pc/serial.c: Likewise.
17086 * po/POTFILES: Add new files.
17087
da8d5c53
CW
170882010-01-02 Colin Watson <cjwatson@ubuntu.com>
17089
17090 * term/i386/pc/at_keyboard.c
17091 (keyboard_controller_wait_untill_ready): Rename to ...
17092 (keyboard_controller_wait_until_ready): ... this. Update all users.
17093
33937904 170942010-01-01 Carles Pina i Estany <carles@pina.cat>
17095
17096 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
17097 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
17098 string using string width.
17099 * normal/menu_text.c (grub_print_message_indented): Use
17100 grub_print_spaces and not print_spaces.
17101 (print_timeout): Likewise.
17102 (print_spaces): Move to...
17103 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
17104
3fd3b8d8
RM
171052010-01-01 Robert Millan <rmh.grub@aybabtu.com>
17106
17107 Import from Gnulib.
17108
17109 * gnulib/getdelim.c: New file.
17110 * gnulib/getline.c: Likewise.
17111
33433555
VS
171122009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
17113
17114 * include/grub/list.h (grub_assert_fail): Removed.
17115 (grub_bad_type_cast_real): New function.
17116 (grub_bad_type_cast): New macro.
17117 (GRUB_AS_LIST): Use grub_bad_type_cast.
17118 (GRUB_AS_LIST_P): Likewise.
e44721e8 17119 (GRUB_AS_NAMED_LIST): Likewise.
33433555 17120 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 17121 (GRUB_AS_PRIO_LIST): Likewise.
33433555 17122 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 17123 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 17124
f5a51306
VS
171252009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
17126
17127 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
17128 Fix syntax error.
17129
90d1e879
RM
171302009-12-29 Robert Millan <rmh.grub@aybabtu.com>
17131
17132 * configure.ac: Check for TARGET_CFLAGS initialization before we
17133 initialize it ourselves (sigh).
17134 Move a few modifications to TARGET_CFLAGS to be unconditional
17135 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
17136 eh_frame)
17137
17138 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
17139 * term/i386/pc/at_keyboard.c
17140 (keyboard_controller_wait_untill_ready): Likewise.
17141 (keyboard_controller_led): Rename `led_status' paramter to avoid
17142 name conflict.
17143
465b5a81 171442009-12-28 Carles Pina i Estany <carles@pina.cat>
17145
17146 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
17147 quotes.
17148
c181849b
VS
171492009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17150
17151 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
17152
9c8739a4
VS
171532009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17154
17155 * normal/menu_text.c (grub_print_message_indented): Prevent
17156 past-the-end-of-array dereference.
17157
3e74249c
VS
171582009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17159
17160 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
17161 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
17162
64fd18ed 171632009-12-27 Carles Pina i Estany <carles@pina.cat>
17164
17165 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
17166 * normal/main.c (grub_normal_read_line): Remove a space from the
17167 default prompt.
17168
714af9b9 171692009-12-27 Carles Pina i Estany <carles@pina.cat>
17170
17171 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
17172 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17173 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
17174 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
17175 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17176 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17177 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17178
82f3e412 171792009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 17180
17181 * video/readers/jpeg.c (cmd): Declare.
17182 (grub_cmd_jpegtest): Use `grub_command_t' type.
17183 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17184 Assign to `cmd'.
17185 (GRUB_MOD_FINI): Use `cmd' to unregister.
17186 * video/readers/png.c (cmd): Declare.
17187 (grub_cmd_pngtest): Use `grub_command_t' type.
17188 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17189 Assign to `cmd'.
17190 (GRUB_MOD_FINI): Use `cmd' to unregister.
17191 * video/readers/tga.c (cmd): Declare.
17192 (grub_cmd_tgatest): Use `grub_command_t' type.
17193 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17194 Assign to `cmd'.
17195 (GRUB_MOD_FINI): Use `cmd' to unregister.
17196
82f3e412 171972009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 17198
17199 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
17200 stops.
17201 * kern/corecmd.c (grub_register_core_commands): Likewise.
17202 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
17203 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
17204 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
17205 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17206 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
17207 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
17208 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
17209 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
17210 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17211 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17212 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17213 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17214 * normal/handler.c (insert_handler): Likewise.
17215 * normal/main.c (GRUB_MOD_INIT): Likewise.
17216 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
17217
fdcdbb66 172182009-12-26 Carles Pina i Estany <carles@pina.cat>
17219
17220 * commands/help.c (grub_cmd_help): Print the command name before the
17221 summary.
17222 (GRUB_MOD_INIT): Remove command name from the summary.
17223 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 17224 string as summary.
fdcdbb66 17225 * lib/arg.c (find_long): Print the command name before the summary.
17226 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
17227 summary.
17228 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
17229 * commands/cat.c (GRUB_MOD_INIT): Likewise.
17230 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
17231 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
17232 * commands/crc.c (GRUB_MOD_INIT): Likewise.
17233 * commands/date.c (GRUB_MOD_INIT): Likewise.
17234 * commands/echo.c (GRUB_MOD_INIT): Likewise.
17235 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
17236 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
17237 * commands/handler.c (GRUB_MOD_INIT): Likewise.
17238 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
17239 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
17240 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
17241 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
17242 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
17243 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
17244 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
17245 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
17246 * commands/ls.c (GRUB_MOD_INIT): Likewise.
17247 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
17248 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
17249 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
17250 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
17251 * commands/password.c (GRUB_MOD_INIT): Likewise.
17252 * commands/probe.c (GRUB_MOD_INIT): Likewise.
17253 * commands/read.c (GRUB_MOD_INIT): Likewise.
17254 * commands/search.c (GRUB_MOD_INIT): Likewise.
17255 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
17256 * commands/test.c (GRUB_MOD_INIT): Likewise.
17257 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
17258 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
17259 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
17260 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
17261 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
17262 * lib/arg.c (GRUB_MOD_INIT): Likewise.
17263 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
17264 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
17265 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17266 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17267 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
17268 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
17269 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
17270 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
17271
9c288be2
VS
172722009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17273
17274 Use search command for preliminar UUID search.
17275
17276 * commands/search.c: Split into ...
17277 * commands/search_wrap.c: ...this
17278 * commands/search.c: ...and this.
17279 * commands/search_file.c: New file.
17280 * commands/search_label.c: New file.
17281 * commands/search_uuid.c: New file.
17282 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
17283 Add commands/search_wrap.c, commands/search_file.c,
17284 commands/search_label.c and commands/search_uuid.c.
17285 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
17286 (search_mod_SOURCES): Set to commands/search_wrap.c.
17287 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
17288 search_label.mod.
17289 (search_fs_file_mod_SOURCES): New variable.
17290 (search_fs_file_mod_CFLAGS): Likewise.
17291 (search_fs_file_mod_LDFLAGS): Likewise.
17292 (search_label_mod_SOURCES): Likewise.
17293 (search_label_mod_CFLAGS): Likewise.
17294 (search_label_mod_LDFLAGS): Likewise.
17295 (search_fs_uuid_mod_SOURCES): New variable.
17296 (search_fs_uuid_mod_CFLAGS): Likewise.
17297 (search_fs_uuid_mod_LDFLAGS): Likewise.
17298 (fs_file_mod_SOURCES): Removed.
17299 (fs_file_mod_CFLAGS): Likewise.
17300 (fs_file_mod_LDFLAGS): Likewise.
17301 (fs_uuid_mod_SOURCES): Removed.
17302 (fs_uuid_mod_CFLAGS): Likewise.
17303 (fs_uuid_mod_LDFLAGS): Likewise.
17304 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
17305 Set to util/grub-install.in.
17306 * disk/fs_file.c: Removed.
17307 * disk/fs_uuid.c: Likewise.
17308 * include/grub/search.h: New file.
17309 * util/grub-install.in: Handle sparc64.
17310 Create and use load.cfg.
17311 * util/sparc64/ieee1275/grub-install.in: Removed.
17312
db943399
VS
173132009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17314
17315 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
17316 Ignore return status if CF is cleared.
17317 (grub_biosdisk_get_diskinfo_standard): Likewise.
17318
3fdae612
RM
173192009-12-25 Robert Millan <rmh.grub@aybabtu.com>
17320
17321 * term/i386/pc/at_keyboard.c
17322 (keyboard_controller_wait_untill_ready): New function.
17323 (grub_keyboard_controller_write, grub_keyboard_controller_read)
17324 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
17325 for keyboard polling, rather than duplicate the same loop. This
17326 saves a few bytes in code size.
17327
7ebaa2b4
VS
173282009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17329
17330 Support for (pxe[:server[:gateway]]) syntax and
17331 use environment variable for PXE.
17332
17333 * commands/i386/pc/pxecmd.c (options): Removed.
17334 (print_ip): Removed.
17335 (grub_cmd_pxe): Removed
17336 (grub_cmd_pxe_unload): New function.
17337 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
17338 (grub_pxe_your_ip): Made static.
17339 (grub_pxe_default_server_ip): Likewise.
17340 (grub_pxe_default_gateway_ip): Likewise.
17341 (grub_pxe_blksize): Likewise.
17342 (parse_ip): New function.
17343 (grub_pxe_open): Support server and gateway specification.
17344 (grub_pxe_close): Free disk->data.
17345 (grub_pxefs_open): Use disk->data.
17346 (grub_pxefs_read): Likewise.
17347 (grub_env_write_readonly): New function.
17348 (set_mac_env): Likewise.
17349 (set_env_limn_ro): Likewise.
17350 (parse_dhcp_vendor): Likewise.
17351 (grub_pxe_detect): Set the environment variables.
17352 (set_ip_env): New function.
17353 (write_ip_env): Likewise.
17354 (grub_env_write_pxe_default_server): Likewise.
17355 (grub_env_write_pxe_default_gateway): Likewise.
17356 (grub_env_write_pxe_blocksize): Likewise.
17357 (GRUB_MOD_INIT(pxe)): Set environment variables.
17358 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
17359 (grub_pxe_mac_addr_t): ... this. All users updated.
17360 (grub_pxe_your_ip): Removed.
17361 (grub_pxe_server_ip): Likewise.
17362 (grub_pxe_gateway_ip): Likewise.
17363 (grub_pxe_blksize): Likewise.
17364
ec5f98ab 173652009-12-25 Carles Pina i Estany <carles@pina.cat>
17366
17367 * commands/help.c: Include `<grub/i18n.h>'.
17368 (grub_cmd_help): Gettextizze.
17369 (GRUB_MOD_INIT): Likewise.
17370 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
17371 (GRUB_MOD_INIT): Gettextizze.
17372 * commands/search.c: Include `<grub/i18n.h>'.
17373 (options): Gettextizze.
17374 (GRUB_MOD_INIT): Gettextizze.
17375 * lib/arg.c: Include `<grub/i18n.h>'.
17376 (help_options): Gettextizze.
17377 (find_long): Likewise.
17378 (grub_arg_show_help): Likewise.
17379 * normal/dyncmd.c: Include `<grub/i18n.h>'.
17380 (read_command_list): Gettextizze.
17381 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 17382 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 17383
22815526
RM
173842009-12-25 Robert Millan <rmh.grub@aybabtu.com>
17385
17386 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
17387 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
17388 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
17389 (led_status): New variable.
17390 (keyboard_controller_led): New function.
17391 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
17392 update led status for caps lock, num lock and scroll lock.
17393
0ad46fd7
FZ
173942009-12-25 Felix Zielcke <fzielcke@z-51.de>
17395
17396 * util/hostdisk.c (open_device): Fix a comment.
17397
d0e158c2
RM
173982009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17399
17400 * util/grub-install.in (host_os): New variable.
17401 * util/i386/efi/grub-install.in (host_os): Likewise.
17402
401c0ad6
RM
174032009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17404
17405 * util/mkisofs/write.c (padblock_write): Abort when given an
17406 excedingly large embed image, instead of silently truncating it.
17407
d14d3370
RM
174082009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17409
17410 * include/multiboot.h: Indentation fixes.
17411
eeed10b4
RM
174122009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17413
17414 * include/multiboot.h (struct multiboot_aout_symbol_table)
17415 (struct multiboot_elf_section_header_table): New structure
17416 declarations (stolen from GRUB Legacy).
17417 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
17418 table information.
17419
17420 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
17421 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
17422 type aliases.
17423
681c70ab
RM
174242009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17425
17426 * include/multiboot.h: Make comments src2texi-friendly.
17427
e4d47d8d
RM
174282009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17429
17430 For consistency with [multiboot]/docs/boot.S.
17431
17432 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
17433 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
17434 (MULTIBOOT_MAGIC2): Rename from this ...
17435 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
17436
a0b70bda
RM
174372009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17438
17439 * include/multiboot.h: Remove `<grub/types.h>'.
17440 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
17441 types. Update all users.
17442
61ba42be 174432009-12-25 Carles Pina i Estany <carles@pina.cat>
17444
17445 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
17446 `couldn't' and `can not' by `cannot'.
17447 * commands/i386/pc/drivemap.c: Likewise.
17448 * disk/ata.c: Likewise.
17449 * disk/ieee1275/nand.c: Likewise.
17450 * fs/affs.c: Likewise.
17451 * fs/fat.c: Likewise.
17452 * fs/hfs.c: Likewise.
17453 * fs/hfsplus.c: Likewise.
17454 * fs/iso9660.c: Likewise.
17455 * fs/jfs.c: Likewise.
17456 * fs/minix.c: Likewise.
17457 * fs/reiserfs.c: Likewise.
17458 * fs/sfs.c: Likewise.
17459 * fs/udf.c: Likewise.
17460 * fs/ufs.c: Likewise.
17461 * fs/xfs.c: Likewise.
17462 * loader/powerpc/ieee1275/linux.c: Likewise.
17463 * loader/sparc64/ieee1275/linux.c: Likewise.
17464 * util/grub-probe.c: Likewise.
17465 * util/misc.c: Likewise.
17466
7fd0baee 174672009-12-24 Carles Pina i Estany <carles@pina.cat>
17468
17469 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
17470 grub_errno calls.
17471 * commands/acpi.c: Likewise.
17472 * commands/blocklist.c: Likewise.
17473 * commands/efi/loadbios.c: Likewise.
17474 * commands/i386/pc/drivemap.c: Likewise.
17475 * commands/loadenv.c: Likewise.
17476 * commands/memrw.c: Likewise.
17477 * commands/password.c: Likewise.
17478 * commands/videotest.c: Likewise.
17479 * disk/ata.c: Likewise.
17480 * disk/ata_pthru.c: Likewise.
17481 * disk/dmraid_nvidia.c: Likewise.
17482 * disk/ieee1275/nand.c: Likewise.
17483 * disk/ieee1275/ofdisk.c: Likewise.
17484 * disk/loopback.c: Likewise.
17485 * disk/lvm.c: Likewise.
17486 * disk/mdraid_linux.c: Likewise.
17487 * disk/raid.c: Likewise.
17488 * disk/raid6_recover.c: Likewise.
17489 * disk/scsi.c: Likewise.
17490 * efiemu/main.c: Likewise.
17491 * efiemu/mm.c: Likewise.
17492 * efiemu/pnvram.c: Likewise.
17493 * efiemu/symbols.c: Likewise.
17494 * font/font.c: Likewise.
17495 * fs/cpio.c: Likewise.
17496 * fs/hfsplus.c: Likewise.
17497 * fs/iso9660.c: Likewise.
17498 * fs/jfs.c: Likewise.
17499 * fs/minix.c: Likewise.
17500 * fs/ntfs.c: Likewise.
17501 * fs/ntfscomp.c: Likewise.
17502 * fs/reiserfs.c: Likewise.
17503 * fs/ufs.c: Likewise.
17504 * fs/xfs.c: Likewise.
17505 * gettext/gettext.c: Likewise.
17506 * include/grub/auth.h: Likewise.
17507 * kern/elf.c: Likewise.
17508 * kern/file.c: Likewise.
17509 * kern/ieee1275/init.c: Likewise.
17510 * kern/ieee1275/mmap.c: Likewise.
17511 * kern/ieee1275/openfw.c: Likewise.
17512 * kern/powerpc/dl.c: Likewise.
17513 * kern/sparc64/dl.c: Likewise.
17514 * lib/arg.c: Likewise.
17515 * loader/i386/bsd.c: Likewise.
17516 * loader/i386/bsdXX.c: Likewise.
17517 * loader/i386/efi/linux.c: Likewise.
17518 * loader/i386/efi/xnu.c: Likewise.
17519 * loader/i386/ieee1275/linux.c: Likewise.
17520 * loader/i386/linux.c: Likewise.
17521 * loader/i386/multiboot.c: Likewise.
17522 * loader/i386/pc/linux.c: Likewise.
17523 * loader/i386/pc/multiboot2.c: Likewise.
17524 * loader/i386/xnu.c: Likewise.
17525 * loader/ieee1275/multiboot2.c: Likewise.
17526 * loader/macho.c: Likewise.
17527 * loader/machoXX.c: Likewise.
17528 * loader/multiboot2.c: Likewise.
17529 * loader/multiboot_loader.c: Likewise.
17530 * loader/powerpc/ieee1275/linux.c: Likewise.
17531 * loader/sparc64/ieee1275/linux.c: Likewise.
17532 * loader/xnu.c: Likewise.
17533 * loader/xnu_resume.c: Likewise.
17534 * mmap/i386/pc/mmap.c: Likewise.
17535 * normal/menu_viewer.c: Likewise.
17536 * partmap/acorn.c: Likewise.
17537 * partmap/amiga.c: Likewise.
17538 * partmap/apple.c: Likewise.
17539 * script/lexer.c: Likewise.
17540 * term/gfxterm.c: Likewise.
17541 * term/i386/pc/serial.c: Likewise.
17542 * term/i386/pc/vga.c: Likewise.
17543 * term/ieee1275/ofconsole.c: Likewise.
17544 * term/terminfo.c: Likewise.
17545 * video/bitmap.c: Likewise.
17546 * video/efi_gop.c: Likewise.
17547 * video/efi_uga.c: Likewise.
17548 * video/fb/video_fb.c: Likewise.
17549 * video/i386/pc/vbe.c: Likewise.
17550 * video/readers/tga.c: Likewise.
17551 * video/video.c: Likewise.
17552
0ad46fd7 175532009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
17554
17555 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
17556 * commands/lspci.c: Likewise.
17557 * commands/probe.c: Likewise.
17558 * commands/xnu_uuid.c: Likewise.
17559 * conf/i386-coreboot.rmk: Likewise.
17560 * conf/i386-efi.rmk: Likewise.
17561 * conf/i386-ieee1275.rmk: Likewise.
17562 * conf/i386-pc.rmk: Likewise.
17563 * conf/powerpc-ieee1275.rmk: Likewise.
17564 * conf/sparc64-ieee1275.rmk: Likewise.
17565 * conf/x86_64-efi.rmk: Likewise.
17566 * fs/i386/pc/pxe.c: Likewise.
17567 * gettext/gettext.c: Likewise.
17568 * include/grub/efi/graphics_output.h: Likewise.
17569 * include/grub/i386/pc/memory.h: Likewise.
17570 * kern/env.c: Likewise.
17571 * kern/i386/qemu/startup.S: Likewise.
17572 * lib/i386/pc/biosnum.c: Likewise.
17573 * lib/i386/relocator.c: Likewise.
17574 * lib/i386/relocator_asm.S: Likewise.
17575 * lib/relocator.c: Likewise.
17576 * loader/i386/bsd.c: Likewise.
17577 * loader/i386/multiboot.c: Likewise.
17578 * loader/i386/pc/chainloader.c: Likewise.
17579 * loader/i386/xnu.c: Likewise.
17580 * loader/xnu.c: Likewise.
17581 * normal/main.c: Likewise.
17582 * normal/menu_text.c: Likewise.
17583 * util/getroot.c: Likewise.
17584 * util/grub-mkconfig_lib.in: Likewise.
17585 * util/grub.d/00_header.in: Likewise.
17586 * util/i386/pc/grub-mkimage.c: Likewise.
17587 * util/mkisofs/eltorito.c: Likewise.
17588 * util/mkisofs/exclude.h: Likewise.
17589 * util/mkisofs/hash.c: Likewise.
17590 * util/mkisofs/iso9660.h: Likewise.
17591 * util/mkisofs/joliet.c: Likewise.
17592 * util/mkisofs/mkisofs.c: Likewise.
17593 * util/mkisofs/mkisofs.h: Likewise.
17594 * util/mkisofs/multi.c: Likewise.
17595 * util/mkisofs/name.c: Likewise.
17596 * util/mkisofs/rock.c: Likewise.
17597 * util/mkisofs/tree.c: Likewise.
17598 * util/mkisofs/write.c: Likewise.
17599 * video/efi_gop.c: Likewise.
17600
009ec743
VS
176012009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
17602
17603 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
17604 size counting.
17605
0ad46fd7 176062009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
17607
17608 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
17609 * genmk.rb (class SCRIPT): Modify the target file instead of source.
17610
d3d30ea0
VS
176112009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
17612
17613 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
17614 (GRUB_MOD_INIT(memrw)): Update help line.
17615
a34f5c70
VS
176162009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
17617
17618 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
17619 Use grub_extcmd_t. All users updated.
17620 (options): New variable.
17621 (grub_cmd_read): Restructure for readability. Support "-v" option.
17622 (grub_cmd_write): Restructure for readability.
17623
0ad46fd7 176242009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
17625
17626 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
17627
0ad46fd7 176282009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
17629
17630 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
17631 with the actual contents of the correspondending make variable.
17632 * util/grub-mkrescue.in (pkglib_DATA): New variable.
17633 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
17634 specifying `*.lst' and `efiemu??.o'
17635
0ad46fd7 176362009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
17637
17638 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
17639 after function name.
17640 Noticed by Rene Engelhard <rene@debian.org>.
17641
dc77a799
VS
176422009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
17643
17644 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
17645 (options): New variable.
17646 (iospace): Likewise.
17647 (grub_lspci_iter): List IO spaces if "-i" was given.
17648 (grub_cmd_lspci): Parse options.
17649 (GRUB_MOD_INIT(lspci)): Use extcmd.
17650 (GRUB_MOD_FINI(lspci)): Likewise.
17651
0ad46fd7 176522009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
17653
17654 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
17655 `function' keyword.
17656 Patch by Tony Mancill <tmancill@debian.org>.
17657
b5d5993b
VS
176582009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
17659
17660 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
17661 (grub_uhci_portstatus): Likewise.
17662 (grub_uhci_portstatus): Add necessary delay.
11d18281 17663 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 17664
941903f2 176652009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 17666
941903f2 17667 * commands/acpi.c (options): Fix capitalizations and/or full stops.
17668 (GRUB_MOD_INIT): Likewise.
17669 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 17670 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
17671 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 17672 * commands/efi/loadbios.c (enable_rom_area): Likewise.
17673 (enable_rom_area): Likewise.
17674 (GRUB_MOD_INIT): Likewise.
17675 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
17676 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
17677 * commands/handler.c (GRUB_MOD_INIT): Likewise.
17678 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
17679 * commands/hexdump.c (options): Likewise.
17680 * commands/i386/cpuid.c (options): Likewise.
17681 (GRUB_MOD_INIT): Likewise.
17682 * commands/i386/pc/drivemap.c (options): Likewise.
17683 (GRUB_MOD_INIT): Likewise.
17684 * commands/i386/pc/halt (options): Likewise.
17685 (GRUB_MOD_INIT): Likewise.
17686 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
17687 * commands/i386/pc/pxecmd.c (options): Likewise.
17688 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
17689 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
17690 * commands/keystatus.c (options): Likewise.
17691 (GRUB_MOD_INIT): Likewise.
17692 * commands/loadenv.c (options): Likewise.
17693 * commands/ls.c (options): Likewise.
17694 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
17695 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
17696 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
17697 * commands/parttool.c (helpmsg): Likewise.
17698 * commands/probe.c (options): Likewise.
17699 * commands/read.c (GRUB_MOD_INIT): Likewise.
17700 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
17701 * commands/search.c (options): Likewise.
17702 * commands/sleep.c (options): Likewise.
17703 * commands/test.c (GRUB_MOD_INIT): Likewise.
17704 * commands/true.c (GRUB_MOD_INIT): Likewise.
17705 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
17706 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
17707 * lib/arg.c (help_options): Likewise.
e9bbb4e7 17708 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
17709 `$(XGETTEXT)'.
98a50553 17710 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 17711
0ad46fd7 177122009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 17713
ef3c2c3a 17714 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
17715 instead of specifying them explicit.
17716
7922f68b
RM
177172009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17718
17719 * NEWS: Add grub-probe support for GNU/Hurd.
17720
537ce47f
RM
177212009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17722
17723 * NEWS: gettext was added after 1.97.
17724
9b214e3a
RM
177252009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17726
17727 * util/mkisofs/msdos_partition.h: New file (based on
17728 include/grub/msdos_partition.h).
17729 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
17730 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
17731 (ld_options, main): Recognize --protective-msdos-label.
17732 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
17733 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
17734 (padblock_write): If `use_protective_msdos_label' is set, patch a
17735 protective DOS-style label in the output image.
17736
17737 * util/grub-mkrescue.in: Use --protective-msdos-label.
17738
e9309813
RM
177392009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17740
17741 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
17742 boot.
17743
0ae56929
RM
177442009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17745
17746 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
17747 variables.
17748 (ld_options, main): Recognize `--embedded-boot'.
17749 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
17750 declarations.
17751 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
17752 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
17753 (padblock_write): Likewise. Rewrite to support embedded boot image.
17754
17755 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
17756 for BIOS-based disk boot instead of only ElTorito.
17757
b15937b1
RM
177582009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17759
17760 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
17761 build (not needed for bootstrap).
17762
52cc3ce0
RM
177632009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17764
17765 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
17766 from i386-pc build (not needed for bootstrap).
17767 Rewrite a pair of strings.
17768
36f5ff04
RM
177692009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17770
17771 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
17772
973c6c85 177732009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
17774
17775 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
17776
05d21547
AB
177772009-12-21 Andreas Born <futur.andy@googlemail.com>
17778
17779 * kern/env.c (grub_env_context_open): Mark exported variable for
17780 reexport.
17781
0175d51f
AB
177822009-12-21 Andreas Born <futur.andy@googlemail.com>
17783
17784 * kern/env.c (grub_env_export): Create nonexistent variables before
17785 exporting.
17786
7f39d92f 177872009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 17788
7f39d92f 17789 * include/grub/auth.h: Include `<grub/i18n.h>'.
17790 (GRUB_GET_PASSWORD): Gettextizze string.
17791 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
17792 menu_text.c.
17793 (grub_utf8_to_ucs4_alloc): Fix indentation.
17794 (grub_print_ucs4): Likewise.
17795 (grub_getstringwidth): Likewise.
17796 (print_message_indented): New declaration.
17797 * normal/auth.c: Include `<grub/i18n.h>'.
17798 (grub_auth_check_authentication): Gettexttize string.
17799 * normal/cmdline.c: Include `<grub/i18n.h>'.
17800 (grub_cmdline_get): Gettextizze.
17801 * normal/color.c: Include `<grub/i18n.h>'.
17802 (grub_parse_color_name_pair): Gettexttize strings.
17803 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
17804 string (use `print_message_indented').
17805 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
17806 `include/grub/normal.h'.
17807 (print_message_indented): Renamed to ...
17808 (grub_print_message_indented): ... this. Remove `static' qualifer (now
17809 used in normal/main.c).
17810 (print_message): Use `grub_print_message_indented' instead of
17811 `print_message_indented'.
17812 (print_timeout): Likewise.
17813 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
17814 (grub_normal_print_device_info): Gettexttize strings.
17815 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
17816
3041d898
VS
178172009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
17818
17819 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
17820 of arguments. Return number of tokens and not arguments. All users
17821 updated.
17822
de15bf8e
VS
178232009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
17824
17825 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
17826 non-MSDOS paritions.
17827
e0a6ca52
VS
178282009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17829
17830 * include/grub/types.h (UNUSED): Removed since it conflicts with
17831 NetBSD headers. All users changed to direct __attribute__ ((unused)).
17832 Reported by Grégoire Sutre.
17833
b99518d1 178342009-12-19 Carles Pina i Estany <carles@pina.cat>
17835
17836 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
17837 (grub_print_ucs4_alloc): Likewise.
17838 (grub_getstringwidth): Likewise.
17839 * normal/main.c (grub_normal_init_page): Gettextize version string.
17840 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
17841 (getstringwidth): Renamed to ...
17842 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
17843 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
17844 (grub_print_ucs4): Remove `static' qualifer (now used in
17845 normal/main.c).
17846 * po/POTFILES: Add normal/main.c.
17847
bfd5e52b 178482009-12-19 Carles Pina i Estany <carles@pina.cat>
17849
17850 * normal/menu_text.c (STANDARD_MARGIN): New macro.
17851 (print_message_indented): Add `margin_left' and `margin_right'
17852 parameters.
17853 (print_message): Update `print_message_indented' calls. Adds '\n' to the
17854 strings.
17855 (print_timeout): Use `print_message_indented' to print the message.
17856 Deletes `second_stage' parameter.
17857 (run_menu): Update `print_timeout' calls.
17858
5a1ad2b9
VS
178592009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17860
17861 Fix console palette on OpenFirmware.
17862
17863 * term/ieee1275/ofconsole.c (MAX): Removed.
17864 (colors): Redone based on VGA palette.
17865 (grub_ofconsole_setcolor): Discard brightness bit since only 8
17866 colors are supported.
17867 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
17868
b045f00a
VS
178692009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17870
17871 Fix potential EfiEmu double prepare.
17872
17873 * efiemu/main.c (prepared): New variable
17874 (grub_efiemu_unload): Set prepare to '0'.
17875 (grub_efiemu_prepare): Return if already prepared. Set prepared.
17876
17877 set_virtual_address_map support.
17878
17879 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
17880 prototype.
17881 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
17882 prototype.
17883 (grub_efiemu_crc32): Likewise.
17884 (grub_efiemu_crc64): Likewise.
17885 (grub_efiemu_set_virtual_address_map): Likewise.
17886 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
17887 New definition.
17888 (grub_autoefi_set_virtual_address_map): Likewise.
17889 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
17890 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
17891 Restructure flow to accomodate it.
17892 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
17893 (grub_efiemu_crc): Recompute CRC32.
17894 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
17895 (efiemu_ptv_relocated): ... this. Made global. All users updated.
17896 * efiemu/symbols.c (relocated_handle): New variable.
17897 (grub_efiemu_free_syms): Free relocated_handle.
17898 (grub_efiemu_alloc_syms): Allocate relocated_handle.
17899 (grub_efiemu_write_sym_markers): New function.
17900 (grub_efiemu_set_virtual_address_map): Likewise.
17901
17902 Newer XNU parameters.
17903
17904 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
17905 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
17906 (grub_xnu_fill_devicetree): New prototype.
17907 (grub_xnu_heap_real_start): New variable.
17908 * loader/xnu.c (get_name_ptr): New function.
17909 (grub_xnu_load_driver): Fill namelen and name.
17910
17911 64-bit xnu support.
17912
17913 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
17914 and 'loader/macho64.c'.
17915 * conf/i386-pc.rmk: Likewise.
17916 * conf/x86_64-efi.rmk: Likewise.
17917 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
17918 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
17919 * include/grub/macho.h (grub_macho_segment64): New structure.
17920 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
17921 (grub_macho_size32): ... to this.
17922 (grub_macho32_get_entry_point): Renamed from ...
17923 (grub_macho_get_entry_point32): ... to this.
17924 (grub_macho_contains_macho64): New prototype.
17925 (grub_macho_size64): Likewise.
17926 (grub_macho_get_entry_point64): Likewise.
17927 (grub_macho32_load): Renamed from ...
17928 (grub_macho_load32): ... to this.
17929 (grub_macho32_filesize): Renamed from ...
17930 (grub_macho_filesize32): ... to this.
17931 (grub_macho32_readfile): Renamed from ...
17932 (grub_macho_readfile32): ... to this.
17933 (grub_macho_filesize64): New prototype.
17934 (grub_macho_readfile64): Likewise.
17935 (grub_macho_parse32): Likewise.
17936 (grub_macho_parse64): Likewise.
17937 * loader/macho.c: Split into ...
17938 * loader/machoXX.c: ... and this. Replace 32 with XX.
17939 * loader/macho32.c: New file.
17940 * loader/macho64.c: Likewise.
17941 * loader/xnu.c (grub_xnu_is_64bit): New variable.
17942 (grub_cmd_xnu_kernel): Make 32-bit only.
17943 (grub_cmd_xnu_kernel64): New function.
17944 (grub_xnu_load_driver): Support Mach-O 64.
17945 (grub_cmd_xnu_mkext): Likewise.
17946 * util/grub.d/30_os-prober.in (osx_entry): New function.
17947 Generate entries for 64-bit boot too.
17948
17949 Eliminate ad-hoc tree format in XNU and EfiEmu.
17950
17951 * efiemu/main.c (grub_efiemu_prepare): Update comment.
17952 * efiemu/pnvram.c: Rewritten to use environment variables.
17953 All users updated.
17954
17955 Inline utf16_to_utf8.
17956
17957 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
17958 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
17959 All users updated.
17960 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
17961
17962 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
17963 * commands/usbtest.c (grub_usb_get_string): ... move here.
17964 (usb_print_str): Fix error handling.
17965 * include/grub/usb.h (grub_usb_get_string): Remove.
17966
17967 UTF-8 to UTF-16 transformation.
17968
17969 * conf/common.rmk (pkglib_MODULES): Add charset.mod
17970 (charset_mod_SOURCES): New variable.
17971 (charset_mod_CFLAGS): Likewise.
17972 (charset_mod_LDFLAGS): Likewise.
17973 * include/grub/utf.h: New file.
17974 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
17975
17976 Support for device properties.
17977
17978 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
17979 (grub_xnu_devprop_device_header): Likewise.
17980 (grub_xnu_devprop_device_descriptor): Likewise.
17981 (grub_xnu_devprop_add_device): New prototype.
17982 (grub_xnu_devprop_remove_device): Likewise.
17983 (grub_xnu_devprop_remove_property): Likewise.
17984 (grub_xnu_devprop_add_property_utf8): Likewise.
17985 (grub_xnu_devprop_add_property_utf16): Likewise.
17986 (grub_cpu_xnu_init): Likewise.
17987 (grub_cpu_xnu_fini): Likewise.
17988 (grub_cpu_xnu_unload): Likewise.
17989 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
17990 (property_descriptor): Likewise.
17991 (devices): New variable.
17992 (grub_xnu_devprop_remove_property): New function.
17993 (grub_xnu_devprop_add_device): Likewise.
17994 (grub_xnu_devprop_remove_device): Likewise.
17995 (grub_xnu_devprop_add_property): Likewise.
17996 (grub_xnu_devprop_add_property_utf8): Likewise.
17997 (grub_xnu_devprop_add_property_utf16): Likewise.
17998 (hextoval): Likewise.
17999 (grub_cpu_xnu_fill_devprop): Likewise.
18000 (grub_cmd_devprop_load): Likewise.
18001 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
18002 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
18003 (cmd_devprop_load): New variable.
18004 (grub_cpu_xnu_init): New function.
18005 (grub_cpu_xnu_fini): Likewise.
18006 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
18007 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
18008 (grub_cmd_xnu_devtree): Likewise.
18009 (hextoval): New function.
18010 (unescape): Likewise.
18011 (grub_xnu_fill_devicetree): Likewise.
18012
18013 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
18014 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
18015
0945f181
VS
180162009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18017
18018 Workaround for broken ATI VBE.
18019
18020 * video/i386/pc/vbe.c (last_set_mode): New variable.
18021 (grub_vbe_set_video_mode): Set 'last_set_mode'.
18022 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
18023 (grub_video_vbe_setup): Don't check for reserved flag.
18024
0ad46fd7 180252009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
18026
18027 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
18028 the `find' command.
18029
c179ebe4
VS
180302009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
18031
18032 UUID support for HFS.
18033
18034 * fs/hfs.c (grub_hfs_uuid): New function.
18035 (grub_hfs_fs): New value .uuid.
18036 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
18037
0ad46fd7 180382009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
18039
18040 Fix a segfault with parsing unknown long options.
18041
18042 * util/grub-mkrelpath.c (options): Zero terminate it.
18043
c4a3e41a
CPE
180442009-12-13 Carles Pina i Estany <carles@pina.cat>
18045
18046 * include/grub/misc.h (grub_puts): New declaration.
18047 (grub_puts_): Likewise.
a22008a6 18048 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
18049 (grub_puts_): Likewise.
18050
2e8a7602
RM
180512009-12-13 Robert Millan <rmh.grub@aybabtu.com>
18052
18053 * util/grub-probe.c (probe): Improve error message.
18054
b50b77b9
RM
180552009-12-13 Robert Millan <rmh.grub@aybabtu.com>
18056
18057 * loader/i386/multiboot_elfxx.c
18058 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
18059 initialization.
18060
180612009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
18062
18063 Relocator framework
18064
18065 * loader/i386/xnu_helper.S: Removed. All users updated.
18066 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
18067 (relocator_mod_SOURCES): New variable.
18068 (relocator_mod_CFLAGS): Likewise.
18069 (relocator_mod_LDFLAGS): Likewise.
18070 (relocator_mod_ASFLAGS): Likewise.
18071 * conf/x86_64.rmk: Likewise.
18072 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
18073 (grub_multiboot_payload_entry_offset): Likewise.
18074 (grub_multiboot_forward_relocator): Likewise.
18075 (grub_multiboot_forward_relocator_end): Likewise.
18076 (grub_multiboot_backward_relocator): Likewise.
18077 (grub_multiboot_backward_relocator_end): Likewise.
18078 (grub_multiboot_payload_eip): New variable.
18079 (grub_multiboot_payload_orig): Likewise.
18080 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
18081 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
18082 * include/grub/i386/memory.h
18083 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
18084 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
18085 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
18086 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
18087 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
18088 * include/grub/i386/relocator.h: New file.
18089 * include/grub/x86_64/relocator.h: Likewise.
18090 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
18091 (XNU_RELOCATOR): New macro.
18092 (grub_xnu_launcher_start): Remove.
18093 (grub_xnu_launcher_end): Likewise.
18094 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
18095 (grub_xnu_heap_real_start): Remove.
18096 (grub_xnu_heap_start): Change to void *. All users updated.
18097 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
18098 * lib/i386/relocator.c: New file.
18099 * lib/i386/relocator_asm.S: Likewise.
18100 * lib/i386/relocator_backward.S: Likewise.
18101 * lib/mips/relocator.c: Likewise.
18102 * lib/mips/relocator_asm.S: Likewise.
18103 * lib/relocator.c: Likewise.
18104 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
18105 (entry): Removed.
18106 (playground): Likewise.
18107 (grub_multiboot_payload_orig): New variable.
18108 (grub_multiboot_payload_dest): Likewise.
18109 (grub_multiboot_payload_size): Likewise.
18110 (grub_multiboot_payload_eip): Likewise.
18111 (grub_multiboot_payload_esp): Likewise.
18112 (grub_multiboot_boot): Use grub_relocator32_boot.
18113 (grub_multiboot_unload): Free relocators.
18114 (grub_multiboot): Setup stack. Use relocators.
18115 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
18116 (grub_multiboot_load_elfXX): Use relocators.
18117 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
18118 (grub_multiboot_payload_size): Likewise.
18119 (grub_multiboot_payload_dest): Likewise.
18120 (grub_multiboot_payload_entry_offset): Likewise.
18121 (grub_multiboot_forward_relocator): Likewise.
18122 (grub_multiboot_backward_relocator): Likewise.
18123 (grub_multiboot_real_boot): Likewise.
18124 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
18125 (grub_xnu_entry_point): Likewise.
18126 (grub_xnu_arg1): Likewise.
18127 (grub_xnu_stack): Likewise.
18128 (grub_xnu_launch): Removed.
18129 (grub_xnu_boot_resume): New function.
18130 (grub_xnu_boot): Use relocators.
18131 * loader/i386/xnu_helper.S: Removed.
18132 * loader/xnu.c (grub_xnu_heap_start): New variable.
18133 (grub_xnu_heap_size): Likewise.
18134 (grub_xnu_heap_malloc): Use relocators.
18135 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
18136
29eb90c6
VS
181372009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
18138
18139 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
18140 anything.
18141
31027430
CPE
181422009-12-13 Carles Pina i Estany <carles@pina.cat>
18143
18144 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
18145 GRUB_ERR_NONE before calling grub_env_set.
18146
dc0c71d9
RM
181472009-12-12 Robert Millan <rmh@aybabtu.com>
18148
18149 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
18150 * genmk.rb (video): New variable.
18151 (CLEANFILES, VIDEOFILES): Add #{video}.
18152 (#{video}): New target rule.
18153 * genvideolist.sh: New file.
18154 * Makefile.in (pkglib_DATA): Add video.lst.
18155 (video.lst): New target rule.
18156 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
18157 `video.lst'.
18158 * util/grub.d/30_os-prober.in: Replace `vbe' with
18159 ${GRUB_VIDEO_BACKEND}.
18160
2a4bfcf0
RM
181612009-12-11 Robert Millan <rmh.grub@aybabtu.com>
18162
18163 * THANKS: Add David Miller.
18164
2a3aa4d5
RM
181652009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
18166
18167 libpciaccess support.
18168
18169 * Makefile.in (LIBPCIACCESS): New variable.
18170 (enable_grub_emu_pci): Likewise.
18171 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
18172 util/pci.c and commands/lspci.c.
18173 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
18174 * configure.ac (grub-emu-pci): New option.
18175 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
18176 (grub_pci_device_unmap_range): Likewise.
18177 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
18178 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
18179 (grub_pci_address_t) [!GRUB_UTIL]: New type.
18180 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
18181 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
18182 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
18183 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
18184 * include/grub/pciutils.h: New file.
18185 * util/pci.c: Likewise.
18186
0ad46fd7 181872009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
18188
18189 * util/misc.c: Don't include <errno.h> twice.
18190
0ad46fd7 181912009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
18192
18193 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
18194 name in an error message.
18195 (grub_biosdisk_rw): Likewise.
18196
2e59983c
VS
181972009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18198
18199 Eliminate NTFS 4Gib barrier.
18200
18201 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
18202 (read_run_data): Likewise.
18203 (grub_ntfs_read_run_list): Likewise.
18204 (grub_ntfs_read_block): Likewise.
18205 (grub_ntfs_iterate_dir): Likewise.
18206 (read_mft): Likewise.
18207 (read_data): Likewise.
18208 Use COM_LOG_LEN.
18209 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
18210 to avoid 64-bit division
18211 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
18212 (grub_ntfs_rlst): Use grub_disk_addr_t.
18213
71ee178a
VS
182142009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18215
18216 Eliminate grub-fstest 4Gib barrier.
18217
18218 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
18219 (read_file): Fix error reporting.
18220
2520d4b8
VS
182212009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18222
18223 Eliminate hexdump 4Gib barrier.
18224
18225 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
18226 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
18227
e1f27065
VS
182282009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18229
18230 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
18231 Fixes amarsh bug.
18232
1a0f7f45
RM
182332009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
18234
18235 Remove miscellaneous files in distclean target.
18236
18237 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
18238
c631d9fb
CW
182392009-12-09 Colin Watson <cjwatson@ubuntu.com>
18240
18241 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
18242 if they're already set. This resolves the conflict between my
18243 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
18244 fixing the --grub-probe option again.
18245 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
18246 change on 2009-10-06, so that we now once again source
18247 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
18248
7c7b6106
RM
182492009-12-08 Robert Millan <rmh.grub@aybabtu.com>
18250
18251 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
18252 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
18253 `util/devicemap.c'.
18254
e3069ec1
CPE
182552009-12-08 Carles Pina i Estany <carles@pina.cat>
18256
18257 * include/grub/misc.h (grub_printf_): New declaration.
18258 * kern/misc.c (grub_printf_): New definition.
18259 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
18260 instead of `grub_printf' and `_'.
18261 * normal/menu_entry.c (store_completion): Likewise.
18262 (run): Likewise.
18263 (grub_menu_entry_run): Likewise.
18264 * normal/menu_text.c (grub_wait_after_message): Likewise.
18265 (notify_booting): Likewise.
18266 (notify_fallback): Likewise.
18267 (notify_execution_failure): Likewise.
18268
d6ceebf1
CW
182692009-12-07 Colin Watson <cjwatson@ubuntu.com>
18270
18271 * configure.ac: Check for vasprintf.
18272 * util/misc.c (asprintf): Move allocation from here ...
18273 (vasprintf): ... to here. New function.
18274 (xasprintf): New function.
18275 * include/grub/util/misc.h (vasprintf, xasprintf): Add
18276 prototypes.
18277 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
18278 * util/grub-mkfont.c (write_font): Likewise.
18279 * util/grub-probe.c (probe): Likewise.
18280 * util/hostdisk.c (make_device_name): Likewise.
18281
de6daa8b
DM
182822009-12-06 David S. Miller <davem@sunset.davemloft.net>
18283
18284 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
18285 anything even prefixed with 'cdrom' as a cdrom.
18286
0ad46fd7 182872009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
18288
18289 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
18290 mount points.
18291
98d3dc02
CPE
182922009-12-05 Carles Pina i Estany <carles@pina.cat>
18293
18294 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
18295 grub_gettext_msg_list.
18296 (grub_gettext_gettranslation_from_position): Return const char *
18297 and not char *.
a2c1332b 18298 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
18299 returns from the list if existing there.
18300 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
18301 (grub_gettext_delete_list): Delete the list.
18302 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
18303 lang environment variable is changed.
18304 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
18305
b283f108
VS
183062009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
18307
18308 Rename kernel.mod to kernel.img.
18309
18310 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
18311 (kernel_mod_EXPORTS): Rename to ...
18312 (kernel_img_EXPORTS): ... this.
18313 (kernel_mod_SOURCES): Rename to ...
18314 (kernel_img_SOURCES): ... this.
18315 (kernel_mod_HEADERS): Rename to ...
18316 (kernel_img_HEADERS): ... this. All users updated.
18317 (kernel_mod_CFLAGS): Rename to ...
18318 (kernel_img_CFLAGS): ... this.
18319 (kernel_mod_ASFLAGS): Rename to ...
18320 (kernel_img_ASFLAGS): ... this.
18321 (kernel_mod_LDFLAGS): Rename to ...
18322 (kernel_img_LDFLAGS): ... this.
18323 * conf/x86_64-efi.rmk: Likewise.
18324 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
18325 (read_kernel_image): ... this. All users updated.
18326 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
18327
69055f8a
CPE
183282009-12-05 Carles Pina i Estany <carles@pina.cat>
18329
18330 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
18331 (print_spaces): New function.
18332 (grub_print_ucs4): New function.
18333 (getstringwidth): New function.
18334 (print_message_indented): New function.
18335 (print_message): Gettexttize strings using print_message_indented.
18336 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
18337 width.
18338 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 18339 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
18340 Gettextize.
18341 * normal/menu_entry.c (store_completion): Cleanup the gettextized
18342 string.
18343 (run): Likewise.
18344 (grub_menu_entry_run): Likewise.
18345 * PO/POTFILES: Add normal/menu_entry.c.
18346
f616f51c
VS
183472009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
18348
18349 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
18350
57bbe3be
CPE
183512009-12-05 Carles Pina i Estany <carles@pina.cat>
18352
18353 * util/grub-install.in: Install gettext .mo files.
18354 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
18355
013d67a1
CPE
183562009-12-05 Carles Pina i Estany <carles@pina.cat>
18357
18358 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
18359 grub_dprintf.
18360
fb954db0
RM
183612009-12-05 Robert Millan <rmh.grub@aybabtu.com>
18362
18363 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
18364 non-firmware-dependant one in realmode.S takes precedence.
18365
6b8474f8
RM
183662009-12-04 Robert Millan <rmh.grub@aybabtu.com>
18367
18368 * commands/halt.c: Replace misc arch-specific headers with
18369 `<grub/misc.h>'.
18370 * commands/reboot.c: Likewise.
18371 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
18372 `<grub/misc.h>'.
18373 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
18374 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
18375 (kernel_img_SOURCES): ... to here.
18376
18377 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
18378 * include/grub/i386/pc/init.h: Likewise.
18379 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
18380 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
18381
18382 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
18383
18384 * include/grub/i386/halt.h: Remove.
18385 * include/grub/i386/reboot.h: Likewise.
18386
18387 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
18388
4b2e6ca2
DM
183892009-12-03 David S. Miller <davem@sunset.davemloft.net>
18390
18391 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
18392 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
18393 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
18394 "progname.h"
18395 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
18396 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18397 (usage): Add missing comma in printf.
18398
5239348f
RM
183992009-12-02 Robert Millan <rmh.grub@aybabtu.com>
18400
18401 Use the same reboot approach on i386 coreboot and qemu as we do on
18402 BIOS.
18403
18404 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
18405 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
18406 * kern/i386/reboot.c: Remove.
18407 * include/grub/i386/reboot.h (grub_reboot): Export function.
18408 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
18409 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
18410 0xf000:0xfff0 instead of 0xffff:0x0000.
18411 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
18412 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
18413
ef34cbd4
RM
184142009-11-30 Robert Millan <rmh.grub@aybabtu.com>
18415
18416 Fix $srcdir != $objdir build.
18417
18418 * Makefile.in (po/%.po): Rewrite as ...
18419 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
18420
dc9837ea
ST
184212009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
18422
18423 Fix GNU/Hurd grub-install crash.
18424 * util/grub-probe.c (probe): Try to access `path' only when it is not
18425 NULL.
18426
2f857f98
VS
184272009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
18428
18429 Correct module naming.
18430
18431 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
18432 (GRUB_MOD_INIT(efi_uga)): ... to this
18433 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
18434 (GRUB_MOD_FINI(efi_uga)): ... to this
18435 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
18436 (GRUB_MOD_INIT(efi_gop)): ... to this
18437 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
18438 (GRUB_MOD_FINI(efi_gop)): ... to this
18439
c5448046
RM
184402009-11-28 Robert Millan <rmh.grub@aybabtu.com>
18441
18442 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
18443 translatable.
18444 (usage): Translate `arg' strings using gettext().
18445 Thanks to Jordi Mallach for the suggestion.
18446
c85184ad
VS
184472009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
18448
18449 GOP support. Based on patch from Bean
18450 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
18451
18452 * video/efi_gop.c: New file.
18453 * include/grub/efi/graphics_output.h: Likewise.
18454 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
18455 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
18456 variables.
18457 * conf/x86_64-efi.rmk: Likewise.
18458
8a4c48d8
VS
184592009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
18460
18461 Rename efi_fb to efi_uga.
18462
18463 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
18464 'efi_uga.mod'.
18465 (efi_fb_mod_SOURCES): Rename this ...
18466 (efi_uga_mod_SOURCES): ... to this.
18467 (efi_fb_mod_CFLAGS): Rename this ...
18468 (efi_uga_mod_CFLAGS): ... to this.
18469 (efi_fb_mod_LDFLAGS): Rename this ...
18470 (efi_uga_mod_LDFLAGS): ... to this.
18471 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
18472 'efi_uga.mod'.
18473 (efi_fb_mod_SOURCES): Rename this ...
18474 (efi_uga_mod_SOURCES): ... to this.
18475 (efi_fb_mod_CFLAGS): Rename this ...
18476 (efi_uga_mod_CFLAGS): ... to this.
18477 (efi_fb_mod_LDFLAGS): Rename this ...
18478 (efi_uga_mod_LDFLAGS): ... to this.
18479 * video/efi_fb.c: Move this ...
18480 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
18481
fb6c1a7b
RM
184822009-11-27 Robert Millan <rmh.grub@aybabtu.com>
18483
18484 * po/README: New file. Explain our PO file workflow.
18485
3bc7896c
RM
184862009-11-27 Robert Millan <rmh.grub@aybabtu.com>
18487
18488 * po/ChangeLog: Remove. Move relevant entries back to ...
18489 * ChangeLog: ... here.
18490 * po/ca.po: Remove (now handled by TLP).
18491 * po/id.po: Likewise.
18492 * po/zh_CN.po: Likewise.
18493 * Makefile.in (LINGUAS): Initialize in a way that supports
18494 empty set.
18495
9ed4841d
RM
184962009-11-27 Robert Millan <rmh.grub@aybabtu.com>
18497
18498 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
18499 reliing on po/LINGUAS.
18500 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
18501 (po/%.po): ... this.
18502
0ad46fd7 185032009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
18504
18505 * util/i386/efi/grub-mkimage.c: Include "progname.h".
18506 (main): Use `program_name' instead of nonexistent `progname'.
18507
e30dd392
FZ
185082009-11-26 Felix Zielcke <fzielcke@z-51.de>
18509
18510 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
18511 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
18512
7656de4f
RM
185132009-11-26 Robert Millan <rmh.grub@aybabtu.com>
18514
18515 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
18516 commit.
18517 * conf/i386-efi.rmk: Likewise.
18518 * conf/i386-ieee1275.rmk: Likewise.
18519 * conf/powerpc-ieee1275.rmk: Likewise.
18520 * conf/sparc64-ieee1275.rmk: Likewise.
18521 * conf/x86_64-efi.rmk: Likewise.
18522
db77c4d4
FZ
185232009-11-26 Felix Zielcke <fzielcke@z-51.de>
18524
18525 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
18526
a755bb04
FZ
185272009-11-26 Felix Zielcke <fzielcke@z-51.de>
18528
18529 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
18530
8a4c07fd
RM
185312009-11-26 Robert Millan <rmh.grub@aybabtu.com>
18532
18533 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
18534 (grub_mkdevicemap_SOURCES): New variable.
18535 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
18536 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
18537 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
18538 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
18539 (grub_mkdevicemap_SOURCES): Remove.
18540 * conf/i386-efi.rmk: Likewise.
18541 * conf/i386-ieee1275.rmk: Likewise.
18542 * conf/i386-pc.rmk: Likewise.
18543 * conf/powerpc-ieee1275.rmk: Likewise.
18544 * conf/sparc64-ieee1275.rmk: Likewise.
18545 * conf/x86_64-efi.rmk: Likewise.
18546 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
18547 (usage): Fix strings to use `program_name'.
18548 (main): Initialize gettext.
18549 * util/grub-editenv.c: Likewise.
18550 * util/grub-emu.c: Likewise.
18551 * util/grub-fstest.c: Likewise.
18552 * util/grub-mkdevicemap.c: Likewise.
18553 * util/grub-mkfont.c: Likewise.
18554 * util/grub-mkrelpath.c: Likewise.
18555 * util/grub-pe2elf.c: Likewise.
18556 * util/grub-probe.c: Likewise.
18557 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
18558 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
18559 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18560
18561 * util/misc.c: Include `"progname.h"'.
18562 (progname): Remove variable.
18563 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
18564
6f61ed55
FZ
185652009-11-25 Felix Zielcke <fzielcke@z-51.de>
18566
18567 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
18568 printf and print a newline after the menuentry header line.
18569 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
18570
f022876b
FZ
185712009-11-25 Felix Zielcke <fzielcke@z-51.de>
18572
18573 autoconf >= 2.60 support $(localedir).
18574
18575 * INSTALL: Note that autoconf 2.60 is required.
18576 * configure.ac (AC_PREREQ): Bump to 2.60.
18577 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
18578 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
18579
6717926e
YB
185802009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
18581
18582 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
18583 aclocal is run.
18584
08806a54
RM
185852009-11-25 Robert Millan <rmh.grub@aybabtu.com>
18586
18587 * normal/main.c (grub_normal_read_line): Fix off-by-one
18588 buffer overflow.
18589
13b33fba
RM
185902009-11-25 Robert Millan <rmh.grub@aybabtu.com>
18591
18592 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
18593 "parser.grub" in grub_command_execute() call.
18594
4a8572e9
CPE
185952009-11-24 Carles Pina i Estany <carles@pina.cat>
18596
18597 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
18598 * conf/i386-efi.rmk: Likewise.
18599 * conf/i386-ieee1275.rmk: Likewise.
18600 * conf/i386-pc.rmk: Likewise.
18601 * conf/powerpc-ieee1275.rmk: Likewise.
18602 * conf/sparc64-ieee1275.rmk: Likewise.
18603 * conf/x86_64-efi.rmk: Likewise.
18604 * gettext/gettex.c: Include <grub/i18n.h>.
18605 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
18606 here ...
18607 * include/grub/i18n.h: ... to here
18608 * include/grub/i18n.h: ... to here.
18609 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 18610 (grub_gettext_dummy): Move above user.
4a8572e9 18611
bee48093
FZ
186122009-11-24 Felix Zielcke <fzielcke@z-51.de>
18613
18614 * util/Makefile.in (install-local): Convert a `for' into a normal
18615 shell expansion.
18616
a031e91c
RM
186172009-11-24 Robert Millan <rmh.grub@aybabtu.com>
18618
18619 * autogen.sh: Add automake call.
18620 * config.guess: Remove.
18621 * config.sub: Likewise.
18622 * install-sh: Likewise.
18623
26bec39d
FZ
186242009-11-24 Felix Zielcke <fzielcke@z-51.de>
18625
18626 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
18627
8e2532fd
FZ
186282009-11-24 Felix Zielcke <fzielcke@z-51.de>
18629
18630 * util/Makefile.in (install-local): Convert a make `$(foreach)'
18631 function to a normal shell `for'.
18632
fefa1b7d
FZ
186332009-11-24 Felix Zielcke <fzielcke@z-51.de>
18634
18635 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
18636
4501250b
FZ
186372009-11-24 Felix Zielcke <fzielcke@z-51.de>
18638
18639 * util/grub-mkrelpath.c: New file.
18640 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
18641 (grub_mkrelpath_SOURCES): New variable.
18642 * include/grub/util/misc.h: New function prototype.
18643 * util/misc.c (make_system_path_relative_to_its_root): New function.
18644
18645 * util/grub-mkconfig_lib.in (bindir): New variable.
18646 (grub_mkrelpath): Likewise.
18647 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
18648
18649 * util/probe.c (probe): Make the file path relative to its root.
18650 Change a info message to use the GRUB path. Enable again the
18651 check if we can read the file with GRUB facilities.
18652
18653 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
18654 to its root.
18655
11d9778b
FZ
186562009-11-24 Felix Zielcke <fzielcke@z-51.de>
18657
18658 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
18659 platform.
18660
4465287d
FZ
186612009-11-24 Felix Zielcke <fzielcke@z-51.de>
18662
18663 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
18664 strncmp().
18665
62b47f22
FZ
186662009-11-24 Felix Zielcke <fzielcke@z-51.de>
18667
18668 * util/getroot.c (grub_util_is_dmraid): New function.
18669 (grub_util_get_dev_abstraction): Treat dmraid and multipath
18670 devices as normal ones, not as LVM.
18671
1eafb9b9 186722009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
18673
18674 * conf/common.rmk: Add grub-gettext_lib target and updates
18675 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
18676 LDFLAGS.
18677 * gettext/gettext.c: New file. (Reads mo files).
18678 * include/grub/file.h (grub_file_pread): New prototype.
18679 * include/grub/i18n.h (_): New prototype.
18680 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
18681 prototypes.
18682 * kern/misc.c (grub_gettext_dummy): New function.
18683 * normal/menu_text.c: Include <grub/i18n.h>.
18684 * normal/menu_text.c (print_timeout): Gettexttize string.
18685 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
18686 * po/POTFILES: Add `normal/menu_text.c'.
18687 * po/ca.po: Add new translations.
c3ea6bd4
CPE
18688 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
18689 gettext module and defines locale_dir and lang in grub.cfg.
18690 * NEWS: Add gettext support.
18691
0fdb2568
RM
186922009-11-23 Robert Millan <rmh.grub@aybabtu.com>
18693
18694 * util/hostdisk.c: Include `<grub/i18n.h>'.
18695 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
18696 (make_device_name): Rewrite using asprintf.
18697 (convert_system_partition_to_system_disk): Replace 0 with NULL.
18698 (find_system_device): If a device is not found, generate one just
18699 by reusing the OS path name.
18700 (read_device_map): Make it permissible for device.map not to exist.
18701
f515aa62
RM
187022009-11-23 Robert Millan <rmh.grub@aybabtu.com>
18703
18704 * script/sh/execute.c: Move from here ...
18705 * script/execute.c: ... to here. Update all users.
18706 * script/sh/function.c: Move from here ...
18707 * script/function.c: ... to here. Update all users.
18708 * script/sh/lexer.c: Move from here ...
18709 * script/lexer.c: ... to here. Update all users.
18710 * script/sh/main.c: Move from here ...
18711 * script/main.c: ... to here. Update all users.
18712 * script/sh/parser.y: Move from here ...
18713 * script/parser.y: ... to here. Update all users.
18714 * script/sh/script.c: Move from here ...
18715 * script/script.c: ... to here. Update all users.
18716
f84b481b
RM
187172009-11-23 Robert Millan <rmh.grub@aybabtu.com>
18718
18719 * configure.ac: Detect all `emu' platforms. Define
18720 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
18721 --enable-grub-emu logic. Disable include/grub/machine
18722 symlink on `emu' platforms.
18723
18724 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
18725 * gensymlist.sh.in: Likewise.
18726
18727 * include/grub/i386/coreboot/machine.h: Remove file.
18728 * include/grub/i386/efi/machine.h: Likewise.
18729 * include/grub/i386/ieee1275/machine.h: Likewise.
18730 * include/grub/i386/pc/machine.h: Likewise.
18731 * include/grub/i386/qemu/machine.h: Likewise.
18732 * include/grub/powerpc/ieee1275/machine.h: Likewise.
18733 * include/grub/sparc64/ieee1275/machine.h: Likewise.
18734 * include/grub/x86_64/efi/machine.h: Likewise.
18735
18736 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
18737 * commands/halt.c: Likewise.
18738 * commands/reboot.c: Likewise.
18739 * include/grub/autoefi.h: Likewise.
18740 * include/grub/i386/at_keyboard.h: Likewise.
18741 * include/grub/i386/kernel.h: Likewise.
18742 * include/grub/i386/loader.h: Likewise.
18743 * include/grub/i386/pc/memory.h: Likewise.
18744 * kern/dl.c: Likewise.
18745 * kern/i386/coreboot/init.c: Likewise.
18746 * loader/i386/bsd.c: Likewise.
18747 * loader/i386/linux.c: Likewise.
18748 * loader/multiboot_loader.c: Likewise.
18749 * term/i386/pc/serial.c: Likewise.
18750 * term/usb_keyboard.c: Likewise.
18751
18752 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
18753 `<grub/machine/machine.h>'
18754 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
18755 * util/misc.c: Remove `<grub/machine/machine.h>' and
18756 `<grub/machine/time.h>'.
18757
18758 * Makefile.in (enable_grub_emu): Remove variable.
18759 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
18760
18761 * conf/any-emu.rmk: New file.
18762 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
18763 (grub_emu_init.c): Move from here ...
18764 * conf/any-emu.rmk: ... to here.
18765
18766 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
18767 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
18768 * conf/any-emu.rmk: ... to here.
18769
4efeab03
RM
187702009-11-23 Robert Millan <rmh.grub@aybabtu.com>
18771
18772 * include/grub/parser.h (grub_parser_register): Document need
18773 of `name' parameter.
18774 * normal/main.c (grub_normal_read_line): Simplify prompt string.
18775 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
18776 "sh" to "grub".
18777
ea1dd8bf
RM
187782009-11-23 Robert Millan <rmh.grub@aybabtu.com>
18779
18780 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
18781 `$(XGETTEXT)'.
18782 * include/grub/i18n.h (N_): New macro.
18783 * util/mkisofs/mkisofs.h: Likewise.
18784 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
18785 around N_().
18786 (usage): Use gettext() to translate help strings when printing them.
18787
0c140626
RM
187882009-11-23 Robert Millan <rmh.grub@aybabtu.com>
18789
18790 Based on patch from Bean
18791 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
18792
18793 * video/efi_fb.c: New file.
18794 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
18795 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
18796 variables.
18797 * conf/x86_64-efi.rmk: Likewise.
18798
87d58298
RM
187992009-11-22 Robert Millan <rmh.grub@aybabtu.com>
18800
18801 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
18802 * util/i386/pc/grub-setup.c: Likewise.
18803
994cc3a3
ST
188042009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
18805
18806 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
18807 <hurd/fs.h>
18808 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
18809 file_get_storage_info to implement grub_guess_root_device.
18810
26a61d6a
FZ
188112009-11-21 Felix Zielcke <fzielcke@z-51.de>
18812
18813 * Makefile.in (target): Use make's builtin $(shell) function
18814 instead of calling directly $(SHELL) to create the locale directories,
18815 inside the $(foreach) function.
18816
74ff1dd5
FZ
188172009-11-21 Felix Zielcke <fzielcke@z-51.de>
18818
18819 * util/grub-mkrescue.in: Print an error and usage if output option
18820 has not been given.
18821
0b787d0e
FZ
188222009-11-21 Felix Zielcke <fzielcke@z-51.de>
18823
18824 Patch from Loïc Minier <loic.minier@ubuntu.com>.
18825 * util/grub.d/30_os-prober.in: Cope with Linux entries where
18826 root and /boot are on different devices.
18827
1164b270
RM
188282009-11-21 Robert Millan <rmh.grub@aybabtu.com>
18829
18830 Fix build for srcdir != objdir.
18831
18832 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
18833 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
18834 $(srcdir).
18835 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
18836 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
18837 reference for input.
18838
13774a2f
RM
188392009-11-21 Robert Millan <rmh.grub@aybabtu.com>
18840
18841 * util/grub-mkrescue.in: Use source directory direcly (without copiing
18842 or hardlinking it). Remove -J option, Joliet is not compatible with
18843 multiple source directories.
18844
efda854e
RM
188452009-11-21 Carles Pina i Estany <carles@pina.cat>
188462009-11-21 Robert Millan <rmh.grub@aybabtu.com>
18847
18848 * util/grub-mkrescue.in: Recognize `--override-directory' option.
18849 (process_input_dir): New function. Process an arbitrary input
18850 directory.
18851 Misc adjustments to support both "override mode" and system-wide mode.
18852
6c09890c
FZ
188532009-11-20 Felix Zielcke <fzielcke@z-51.de>
18854
18855 * configure.ac (UNIFONT_BDF): Rename to ...
18856 (FONT_SOURCE): ... this. Update all users.
18857
a797824f
FZ
188582009-11-20 Felix Zielcke <fzielcke@z-51.de>
18859
18860 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
18861 to the list of unifont files to look for.
18862
cd4f42b0
RM
188632009-11-19 Robert Millan <rmh.grub@aybabtu.com>
18864
18865 Patch from Joe Auricchio <jauricchio@gmail.com>
18866 * commands/minicmd.c (grub_mini_cmd_clear): New function.
18867 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
18868 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
18869
393c783d
FZ
188702009-11-19 Felix Zielcke <fzielcke@z-51.de>
18871
18872 * Makefile.in (install-local): Add a missing backslash.
18873
b2f1e327
FZ
188742009-11-19 Felix Zielcke <fzielcke@z-51.de>
18875
18876 * include/grub/x86_64/io.h: New file.
18877
f577f7a0
RM
188782009-11-19 Robert Millan <rmh.grub@aybabtu.com>
18879
18880 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
18881 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
18882 Include `"progname.h"'.
18883 (main): Initialize gettext.
18884 * util/i386/pc/grub-setup.c: Gettexttize.
18885 * util/i386/pc/grub-mkimage.c: Likewise.
18886
18887 * Makefile.in (po/*.po): Redefine as ...
18888 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
18889
3bc7896c
RM
18890 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
18891
c37943b6
RM
188922009-11-19 Robert Millan <rmh.grub@aybabtu.com>
18893
18894 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
18895 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
18896 (program_name): Remove.
18897 (main): Initialize gettext support.
6323f705
RM
18898 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
18899 Include `<libintl.h>'.
18900 (_): New macro.
c37943b6
RM
18901
18902 * util/mkisofs/eltorito.c: Gettexttize.
18903 * util/mkisofs/joliet.c: Likewise.
18904 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
18905 * util/mkisofs/multi.c: Likewise.
18906 * util/mkisofs/rock.c: Likewise.
18907 * util/mkisofs/tree.c: Likewise.
18908 * util/mkisofs/write.c: Likewise.
18909
3bc7896c
RM
18910 * po/POTFILES: Update with new files.
18911
5ce77c6e
RM
189122009-11-18 Robert Millan <rmh.grub@aybabtu.com>
18913
18914 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
18915 * util/mkisofs/iso9660.h: Likewise.
18916 * util/mkisofs/joliet.c: Likewise.
18917 * util/mkisofs/mkisofs.c: Likewise.
18918 * util/mkisofs/mkisofs.h: Likewise.
18919 * util/mkisofs/rock.c: Likewise.
18920 * util/mkisofs/tree.c: Likewise.
18921 * util/mkisofs/write.c: Likewise.
18922
18923 * util/mkisofs/eltorito.c (rcsid): Remove.
18924 * util/mkisofs/hash.c: Likewise.
18925 * util/mkisofs/joliet.c: Likewise.
18926 * util/mkisofs/name.c: Likewise.
18927 * util/mkisofs/rock.c: Likewise.
18928 * util/mkisofs/tree.c: Likewise.
18929 * util/mkisofs/write.c: Likewise.
18930
1dabbc77
RM
189312009-11-18 Robert Millan <rmh.grub@aybabtu.com>
18932
18933 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
18934 instead of static allocation.
18935 * util/mkisofs/match.h: Likewise.
18936
633877cb
RM
189372009-11-18 Robert Millan <rmh.grub@aybabtu.com>
18938
3bc7896c
RM
18939 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
18940 and `util/grub.d/10_linux.in'.
633877cb
RM
18941 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
18942 translatable Shell files.
18943
af1c0c85
RM
189442009-11-18 Robert Millan <rmh.grub@aybabtu.com>
18945
18946 * Makefile.in ($(srcdir)/aclocal.m4): New target.
18947
769ae37b
RM
189482009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18949
18950 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 18951 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
18952 * util/grub.d/10_kfreebsd.in (bindir): New variable.
18953 Add gettext initialization.
18954 (kfreebsd_entry): Make menuentry output translatable.
18955
189562009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18957
18958 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
18959 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
18960 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
18961 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
18962 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 18963 * po/LINGUAS: New file.
769ae37b
RM
18964
189652009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18966
18967 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
18968 other things).
18969 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
18970 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
18971 bindtextdomain() calls for gettext initialization.
18972
189732009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18974
18975 * gnulib/progname.c: New file (imported from Gnulib).
18976 * gnulib/progname.h: Likewise.
18977 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
18978 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
18979 (usage): Replace `progname' with `program_name'.
18980 (main): Use set_program_name() for program name initialization.
18981
189822009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18983
18984 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
18985 from here ...
18986 * Makefile.in (CPPFLAGS): ... to here.
18987
189882009-11-16 Robert Millan <rmh.grub@aybabtu.com>
18989
18990 * aclocal.m4: Move from here ...
18991 * acinclude.m4: ... to here.
18992 * autogen.sh: Add call to `aclocal'.
18993 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
18994
189952009-11-16 Robert Millan <rmh.grub@aybabtu.com>
18996
18997 * Makefile.in (CLEANFILES): Add `po/*.mo'.
18998 (LINGUAS): New variable.
18999 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
19000 (install-local): Install MO files.
19001 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
19002 * include/grub/i18n.h: New file.
3bc7896c
RM
19003 * po/POTFILES: New file.
19004 * po/ca.po: New file.
769ae37b
RM
19005 * util/grub.d/10_linux.in (bindir): New variable.
19006 Add gettext initialization.
19007 (linux_entry): Make menuentry output translatable.
19008 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
19009 (usage): Make --help output translatable.
19010 (main): Initialize gettext.
19011
02c0a6ad
RM
190122009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19013
19014 * import_gcry.py: New file (written by Vladimir with minor
19015 adjustments).
19016 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
19017 ciphers.
19018 * INSTALL: Document that Python is required for bootstrap.
19019
190202009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19021
19022 Import ciphers from libgcrypt 1.4.4.
19023
19024 * lib/libgcrypt/cipher/ChangeLog
19025 * lib/libgcrypt/cipher/ac.c
19026 * lib/libgcrypt/cipher/arcfour.c
19027 * lib/libgcrypt/cipher/bithelp.h
19028 * lib/libgcrypt/cipher/blowfish.c
19029 * lib/libgcrypt/cipher/camellia-glue.c
19030 * lib/libgcrypt/cipher/camellia.c
19031 * lib/libgcrypt/cipher/camellia.h
19032 * lib/libgcrypt/cipher/cast5.c
19033 * lib/libgcrypt/cipher/cipher.c
19034 * lib/libgcrypt/cipher/crc.c
19035 * lib/libgcrypt/cipher/des.c
19036 * lib/libgcrypt/cipher/dsa.c
19037 * lib/libgcrypt/cipher/ecc.c
19038 * lib/libgcrypt/cipher/elgamal.c
19039 * lib/libgcrypt/cipher/hash-common.c
19040 * lib/libgcrypt/cipher/hash-common.h
19041 * lib/libgcrypt/cipher/hmac-tests.c
19042 * lib/libgcrypt/cipher/md.c
19043 * lib/libgcrypt/cipher/md4.c
19044 * lib/libgcrypt/cipher/md5.c
19045 * lib/libgcrypt/cipher/primegen.c
19046 * lib/libgcrypt/cipher/pubkey.c
19047 * lib/libgcrypt/cipher/rfc2268.c
19048 * lib/libgcrypt/cipher/rijndael-tables.h
19049 * lib/libgcrypt/cipher/rijndael.c
19050 * lib/libgcrypt/cipher/rmd.h
19051 * lib/libgcrypt/cipher/rmd160.c
19052 * lib/libgcrypt/cipher/rsa.c
19053 * lib/libgcrypt/cipher/seed.c
19054 * lib/libgcrypt/cipher/serpent.c
19055 * lib/libgcrypt/cipher/sha1.c
19056 * lib/libgcrypt/cipher/sha256.c
19057 * lib/libgcrypt/cipher/sha512.c
19058 * lib/libgcrypt/cipher/tiger.c
19059 * lib/libgcrypt/cipher/twofish.c
19060 * lib/libgcrypt/cipher/whirlpool.c
19061
af2f93ac
RM
190622009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19063
19064 Fix build for systems without error().
19065
19066 * gnulib/error.c: New file (imported from Gnulib).
19067 * gnulib/error.h: Likewise.
19068 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
19069 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
19070 (this variable is now used by error()).
19071
73fb3dd5
FZ
190722009-11-16 Felix Zielcke <fzielcke@z-51.de>
19073
814f5e96
FZ
19074 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
19075 instead of relying that char is signed.
73fb3dd5 19076
a691ca33
VS
190772009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19078
19079 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
19080 blocksize different from specified.
19081 (grub_pxefs_read): Likewise.
19082
2af8f0f4
FZ
190832009-11-16 Felix Zielcke <fzielcke@z-51.de>
19084
19085 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
19086
19087 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
19088 (grub_ata_readwrite): Likewise. Update 2 format strings.
19089 (grub_atapi_read): Likewise.
19090
19091 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
19092 * conf/i386.rmk (pkglib_MODULES): ... to here ...
19093 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
19094 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
19095 (ata_mod_LDFLAGS): Move from here ...
19096 * conf/i386.rmk: ... to here ...
19097 * conf/x86_64-efi.rmk: ... and here.
19098 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
19099 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
19100
83bdecaf
RM
191012009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19102
19103 Relicense multiboot.h, with RMS' blessing.
19104
19105 * include/multiboot.h: Change to X11 license.
19106
fd6fd3d7
RM
191072009-11-15 Robert Millan <rmh.grub@aybabtu.com>
19108
19109 Support --version in grub-mkisofs.
19110
19111 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
19112 (OPTION_VERSION): New macro.
19113 (ld_options): Recognize --version.
19114 (usage): Move `program_name' from here ...
19115 (program_name): ... to here. Add `static' qualifier.
19116 (main): Recognize `OPTION_VERSION'.
19117
16a88c49
FZ
191182009-11-15 Felix Zielcke <fzielcke@z-51.de>
19119
19120 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
19121 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
19122
a4158476
RM
191232009-11-14 Robert Millan <rmh.grub@aybabtu.com>
19124
19125 Fix help2man generation for mkisofs.
19126
19127 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
19128 (usage): Send output to stdout (rather than stderr).
19129
fc2208b0
RM
191302009-11-14 Robert Millan <rmh.grub@aybabtu.com>
19131
19132 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
19133 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
19134 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
19135 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
19136 (bin_SCRIPTS): Add `grub-mkfloppy'.
19137 (grub_mkfloppy_SOURCES): New variable.
19138
19139 * util/grub-mkrescue.in: New file.
19140 * util/i386/pc/grub-mkfloppy.in: New file.
19141
19142 * util/i386/coreboot/grub-mkrescue.in: Remove.
19143 * util/i386/pc/grub-mkrescue.in: Remove.
19144
8d0edf4a
RM
191452009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19146
19147 * include/grub/multiboot.h (struct grub_multiboot_header): Move
19148 from here ...
19149 * include/multiboot.h (struct multiboot_header): ... to here. Update
19150 all users.
19151 * include/grub/multiboot.h (struct grub_multiboot_info): Move
19152 from here ...
19153 * include/multiboot.h (struct multiboot_info): ... to here. Update
19154 all users.
19155 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
19156 from here ...
19157 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
19158 Update all users.
19159 * include/grub/multiboot.h (struct grub_mod_list): Move
19160 from here ...
19161 * include/multiboot.h (struct multiboot_mod_list): ... to here.
19162 Update all users.
19163
a73f5969
RM
191642009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19165
19166 * include/multiboot2.h (multiboot_word): Rename from this ...
19167 (multiboot2_word): ... to this. Update all users.
19168 (multiboot_header): Rename from this ...
19169 (multiboot2_header): ... to this. Update all users.
19170 (multiboot_tag_header): Rename from this ...
19171 (multiboot2_tag_header): ... to this. Update all users.
19172 (multiboot_tag_start): Rename from this ...
19173 (multiboot2_tag_start): ... to this. Update all users.
19174 (multiboot_tag_name): Rename from this ...
19175 (multiboot2_tag_name): ... to this. Update all users.
19176 (multiboot_tag_module): Rename from this ...
19177 (multiboot2_tag_module): ... to this. Update all users.
19178 (multiboot_tag_memory): Rename from this ...
19179 (multiboot2_tag_memory): ... to this. Update all users.
19180 (multiboot_tag_unused): Rename from this ...
19181 (multiboot2_tag_unused): ... to this. Update all users.
19182 (multiboot_tag_end): Rename from this ...
19183 (multiboot2_tag_end): ... to this. Update all users.
19184
1c8927f0
RM
191852009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19186
19187 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
19188 this platform we should support Multiboot1 first.
19189
19190 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
19191 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
19192 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
19193
6e1e0d89
RM
191942009-11-12 Robert Millan <rmh.grub@aybabtu.com>
19195
19196 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
19197 of write calls (converting them to fwrite() if they aren't already).
19198 (get_torito_desc): Likewise.
19199 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
19200
7f2b34d8
RM
192012009-11-12 Robert Millan <rmh.grub@aybabtu.com>
19202
19203 * util/i386/pc/grub-install.in: Move from here ...
19204 * util/grub-install.in: ... to here. Update all users.
19205
c0ef3311
CW
192062009-11-11 Colin Watson <cjwatson@ubuntu.com>
19207
19208 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
19209
e1f240ff
RM
192102009-11-11 Robert Millan <rmh.grub@aybabtu.com>
19211
19212 Support for El Torito without floppy emulation.
19213
19214 * util/mkisofs/eltorito.c: Include `<errno.h>'.
19215 (init_boot_catalog): Improve error handling.
19216 (get_torito_desc): Don't use floppy emulation unless requested by
19217 user. Patch boot information table when requested via
19218 `-boot-info-table'.
19219 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
19220 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
19221 (use_boot_info_table): New variables.
19222 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
19223 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
19224 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
19225 `--eltorito-emul-floppy'.
19226 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
19227 and `OPTION_ELTORITO_EMUL_FLOPPY'.
19228 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
19229 (use_boot_info_table, get_731): New prototypes.
19230 * util/mkisofs/write.c (get_731): New function.
19231
af7d4de5
FZ
192322009-11-11 Felix Zielcke <fzielcke@z-51.de>
19233
19234 Fix the generation of the man page.
19235
19236 * util/pc/i386/grub-install.in: Source
19237 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
19238
2c55dbc0
RM
192392009-11-11 Robert Millan <rmh.grub@aybabtu.com>
19240
19241 Large file support for grub-mkisofs.
19242
19243 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
19244 * util/mkisofs/mkisofs.c (next_extent, last_extent)
19245 (session_start): Upgrade type to `uint64_t'. Update all users.
19246 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
19247 (struct directory_entry): Upgrade type of `starting_block' and
19248 `size' to `uint64_t'. Update all users.
19249 (struct deferred): Remove unused structure.
19250 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
19251 Update all users.
19252 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
19253 file is larger than `UINT32_MAX'.
19254 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
19255 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
19256 return value.
19257 (struct deferred_write): Upgrade type of `extent' and `size' to
19258 `uint64_t'. Update all users.
19259 (last_extent_written): Upgrade type to `uint64_t'. Update all
19260 users.
19261 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
19262 Update all users. Upgrade type of `remain' to `int64_t' and
19263 `use' to `size_t'. Use error() to handle fread() errors.
19264 (write_files): Rely on write_one_file() rather than calling
19265 xfwrite() directly.
19266
6a9cead5
FZ
192672009-11-09 Felix Zielcke <fzielcke@z-51.de>
19268
19269 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
19270
4825d790
RM
192712009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19272
19273 * util/mkisofs/fnmatch.c: Remove.
19274 * util/mkisofs/getopt1.c: Likewise.
19275 * util/mkisofs/getopt.c: Likewise.
19276 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
19277 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
19278 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
19279 `gnulib/getopt1.c' and `gnulib/getopt.c'.
19280 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
19281
19282 * configure.ac: Detect `mingw32msvc' host_os.
19283 Check for lstat(), getuid() and getgid().
19284
19285 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
19286 instances of `u_char' with `uint8_t'.
19287
19288 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
19289 [!HAVE_GETUID] (getuid): New function (stub).
19290 [!HAVE_GETGID] (getgid): Likewise.
19291 [!HAVE_LSTAT] (lstat): Likewise.
19292 [!S_IROTH] (S_IROTH): New macro (dummy).
19293 [!S_IRGRP] (S_IRGRP): Likewise.
19294
84b860d8
RM
192952009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19296
19297 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
19298 conditional expression).
19299
66e9b712
RM
193002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19301
19302 Import from Gnulib.
19303
19304 * gnulib/fnmatch.c: New file.
19305 * gnulib/fnmatch.h: Likewise.
19306 * gnulib/fnmatch_loop.c: Likewise.
19307 * gnulib/getopt.c: Likewise.
19308 * gnulib/getopt.h: Likewise.
19309 * gnulib/getopt1.c: Likewise.
19310 * gnulib/getopt_int.h: Likewise.
19311 * gnulib/gettext.h: Likewise.
19312
34f4a5b0
RM
193132009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19314
19315 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
19316 * normal/handler.c (read_handler_list): Likewise.
19317
ac451143
RM
193182009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19319
19320 Misc cleanup.
19321
19322 * kern/command.c (grub_register_command_prio): Use
19323 grub_zalloc() instead of explicitly zeroing data.
19324 * kern/list.c: Include `<grub/mm.h>'.
19325 (grub_named_list_find): Replace `0' with `NULL'.
19326 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
19327 (fs_module_list): Change type to `grub_named_list_t'. Update all
19328 users.
19329 * normal/dyncmd.c (read_command_list): Add space between function
19330 call and parenthesis.
19331 * normal/handler.c (read_handler_list): Likewise.
19332
4089b167
RM
193332009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19334
19335 * normal/auth.c (punishment_delay): Moved from here ...
19336 (grub_auth_strcmp): ... to here (inside function).
19337
325f5037
RM
193382009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19339
19340 * include/grub/list.h (struct grub_named_list): Remove `const'
19341 qualifier from `name'.
19342 (struct grub_prio_list): Likewise.
19343
7aea29a3
RM
193442009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19345
19346 * normal/auth.c: Include `<grub/time.h>'.
19347 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
19348
3fd6f044
RM
193492009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19350
19351 * normal/auth.c (punishment_delay): New variable.
19352 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
19353 (grub_auth_check_authentication): Punish failed login attempts with
19354 an incremental (2^N) delay.
19355
a4cd68e4
RM
193562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19357
19358 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
19359 path with $(srcdir).
19360
7ad12f43
VS
193612009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
19362
19363 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
19364
c1129f03
RM
193652009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19366
19367 * util/i386/coreboot/grub-mkrescue.in: New file.
19368 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
19369 variables.
19370
19371 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
19372 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
19373 * configure.ac: Add header and function checks to satisfy grub-mkisofs
19374 requirements.
19375 * util/mkisofs/defaults.h: New file.
19376 * util/mkisofs/eltorito.c: Likewise.
19377 * util/mkisofs/exclude.h: Likewise.
19378 * util/mkisofs/fnmatch.c: Likewise.
19379 * util/mkisofs/getopt.c: Likewise.
19380 * util/mkisofs/getopt1.c: Likewise.
19381 * util/mkisofs/hash.c: Likewise.
19382 * util/mkisofs/include/fctldefs.h: Likewise.
19383 * util/mkisofs/include/mconfig.h: Likewise.
19384 * util/mkisofs/include/prototyp.h: Likewise.
19385 * util/mkisofs/include/statdefs.h: Likewise.
19386 * util/mkisofs/iso9660.h: Likewise.
19387 * util/mkisofs/joliet.c: Likewise.
19388 * util/mkisofs/match.c: Likewise.
19389 * util/mkisofs/match.h: Likewise.
19390 * util/mkisofs/mkisofs.c: Likewise.
19391 * util/mkisofs/mkisofs.h: Likewise.
19392 * util/mkisofs/multi.c: Likewise.
19393 * util/mkisofs/name.c: Likewise.
19394 * util/mkisofs/rock.c: Likewise.
19395 * util/mkisofs/tree.c: Likewise.
19396 * util/mkisofs/write.c: Likewise.
19397
ec8bb77d
VS
193982009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
19399
19400 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
19401 being insecure.
19402
3716b12c
RM
194032009-11-08 Robert Millan <rmh.grub@aybabtu.com>
19404
19405 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
19406 `grub-mkimage' (and use $0 when possible).
19407
b97b7b91
RM
194082009-11-08 Robert Millan <rmh.grub@aybabtu.com>
19409
19410 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
19411 error message for excessively large memory map.
19412
04114812
RM
194132009-11-08 Robert Millan <rmh.grub@aybabtu.com>
19414
19415 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
19416 executable bit.
19417
e4eb2373
RM
194182009-11-08 Robert Millan <rmh.grub@aybabtu.com>
19419
19420 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
19421 message for coreboot users.
19422
c926e1d5 194232009-11-07 Robert Millan <rmh.grub@aybabtu.com>
19424
19425 Fix build with GNU gold.
19426
19427 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
19428 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
19429 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
19430 link addresses.
19431 * aclocal.m4: Likewise.
19432
86e5b1db 194332009-11-04 Felix Zielcke <fzielcke@z-51.de>
19434
19435 * configure.ac (AC_PREREQ): Bump to 2.59d.
19436 * INSTALL: Make it more clear when Autoconf and Ruby are
19437 needed and when to run `./autogen.sh'.
19438
246cd78f 194392009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
19440
19441 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
19442 OSes.
19443
4f9dfb37 194442009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
19445
19446 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
19447
b82bd5e1 194482009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
19449
19450 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
19451 giving it to GNU Mach.
19452
ff1a9bca 194532009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
19454
19455 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
19456 GNU partition number to get internal GRUB partition number.
19457
61697d9c 194582009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
19459
19460 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
19461 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
19462
a50569e1 194632009-11-01 Robert Millan <rmh.grub@aybabtu.com>
19464
19465 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
19466 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
19467 case.
19468
5b153867 194692009-11-01 Felix Zielcke <fzielcke@z-51.de>
19470
19471 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
19472
d9e2cd70 194732009-10-30 Robert Millan <rmh.grub@aybabtu.com>
19474
19475 Fix build problem.
19476
19477 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
19478 `-isystem=$(srcdir)/include'.
19479
805111a4 194802009-10-30 Robert Millan <rmh.grub@aybabtu.com>
19481
19482 * util/i386/pc/grub-install.in: Remove hint that device.map should be
19483 checked (grub-install doesn't currently rely on it).
19484
fa6e945f 194852009-10-29 Robert Millan <rmh.grub@aybabtu.com>
19486
19487 Revert SVN r2660.
19488
19489 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
19490 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
19491 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
19492 * conf/i386-ieee1275.rmk: Likewise.
19493 * conf/i386-pc.rmk: Likewise.
19494 * conf/powerpc-ieee1275.rmk: Likewise.
19495 * conf/sparc64-ieee1275.rmk: Likewise.
19496 * conf/x86_64-efi.rmk: Likewise.
19497
cee15086 194982009-10-28 Robert Millan <rmh.grub@aybabtu.com>
19499
19500 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
19501
95b9239e 195022009-10-28 Robert Millan <rmh.grub@aybabtu.com>
19503
19504 * include/grub/misc.h: Stop checking for APPLE_CC.
19505
2ed19dfd 195062009-10-28 Robert Millan <rmh.grub@aybabtu.com>
19507
19508 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
19509 doesn't cause an infinite call loop.
19510
fdcdde19 195112009-10-28 Felix Zielcke <fzielcke@z-51.de>
19512
19513 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
19514 strings.
19515
cefabfe1 195162009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19517
19518 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
19519 variable.
19520 * Makefile.in: Likewise.
19521
ed96ab6d 195222009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19523
19524 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
19525
0579b753 195262009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19527
19528 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
19529
478df409 195302009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19531
19532 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
19533
083d1679 195342009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19535
19536 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
19537 from here ...
19538 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
19539
5947ae32 195402009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19541
19542 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
19543 in $(MAKEINFO) invocation. This makes it clear in output that
19544 errors are being ignored.
19545
94180ff6 195462009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19547
19548 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
19549 from here ...
19550 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
19551 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
19552 * conf/i386-ieee1275.rmk: Likewise.
19553 * conf/i386-pc.rmk: Likewise.
19554 * conf/powerpc-ieee1275.rmk: Likewise.
19555 * conf/sparc64-ieee1275.rmk: Likewise.
19556 * conf/x86_64-efi.rmk: Likewise.
19557
9031b03a 195582009-10-26 Colin Watson <cjwatson@ubuntu.com>
19559
19560 * util/grub-editenv.c (main): If only a command is given, use
19561 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
19562 (usage): FILENAME is now optional and has a default.
19563
e4f6809b 195642009-10-26 Colin Watson <cjwatson@ubuntu.com>
19565
19566 Improve grub-mkconfig performance when there are several menu
19567 entries on a single filesystem.
19568
19569 * util/grub.d/10_linux.in (linux_entry): Cache the output of
19570 prepare_grub_to_access_device.
19571 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
19572 * util/grub.d/30_os-prober.in: Likewise.
19573
67937d4d 195742009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19575
19576 * util/grub.d/10_freebsd.in: Remove.
19577 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
19578 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
19579
ee3756cc 195802009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19581
5c35048e 19582 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 19583
4dea1c6f 195842009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19585
19586 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
19587 grub_util_error() call.
19588
042484d7 195892009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19590
19591 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
19592 `reserved_first_sector' member.
19593 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
19594 `reserved_first_sector' to 1.
19595 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
19596 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
19597 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
19598 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
19599 filesystems which begin at first sector.
19600 (options): New option --skip-fs-probe.
19601 (main): Handle --skip-fs-probe and pass it to setup().
19602
d64448a7 196032009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19604
19605 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
19606 (memset): Fix function prototype.
19607
508d42ec 196082009-10-25 Robert Millan <rmh.grub@aybabtu.com>
196092009-10-25 Vasily Averin <vvs@parallels.com>
19610
19611 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
19612 `dirent.direntlen == 0'.
19613
b240e30c 196142009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19615
19616 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
19617 `cpio'.
19618 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
19619
346e7fbe 196202009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19621
19622 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
19623 `__trampoline_setup' and `__ucmpdi2'.
19624 * include/grub/powerpc/libgcc.h: Only export symbols for functions
19625 that libgcc provides.
19626
cdb308b0 196272009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19628
19629 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
19630 * include/grub/sparc64/libgcc.h (memset): Likewise.
19631 * include/grub/misc.h (memset, memcmp): New function prototypes.
19632
fb26abc2 196332009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19634
19635 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
19636 `cpio'.
19637 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
19638
f6693890 196392009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19640
19641 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
19642 * docs/grub.cfg: Compensate for recent change in multiboot
19643 loader (since 2009-08-14 it won't pass filename to payload).
19644 * util/grub.d/10_hurd.in: Likewise.
19645
0933cdc0 196462009-10-21 Felix Zielcke <fzielcke@z-51.de>
19647
19648 * config.guess: Update to latest version from config git
19649 repository.
19650 * config.sub: Likewise.
19651
3b2fe8c2 196522009-10-20 Robert Millan <rmh.grub@aybabtu.com>
19653
19654 Fix build on sparc64.
19655
19656 * configure.ac: Perform checks for libgcc symbols before
19657 adding `-nostdlib' to LDFLAGS.
19658
46695a62 196592009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19660
19661 Let user specify OpenBSD root device.
19662
19663 * loader/i386/bsd.c (openbsd_root): New variable.
19664 (openbsd_opts): New option 'root'.
19665 (OPENBSD_ROOT_ARG): New macro.
19666 (grub_openbsd_boot): Use 'openbsd_root'.
19667 (grub_cmd_openbsd): Fill 'openbsd_root'.
19668
d2b6b7fc 196692009-10-16 Robert Millan <rmh.grub@aybabtu.com>
19670
19671 * NEWS: Misc adjustments.
19672
421bd7ac 196732009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19674
19675 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
19676
f1d29d87 196772009-10-16 Robert Millan <rmh.grub@aybabtu.com>
19678
19679 * configure.ac: Bump version to 1.97.
19680
6f3cd880 196812009-10-16 Colin Watson <cjwatson@ubuntu.com>
19682
19683 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
19684 -mno-3dnow on x86 architectures. Some toolchains enable these
19685 features by default, but they rely on registers that aren't enabled
19686 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
19687
035f7122 196882009-10-15 Robert Millan <rmh.grub@aybabtu.com>
19689
19690 Make entry text a bit more readable.
19691
19692 * util/grub.d/10_linux.in: Add `with' before `Linux'.
19693
44998e58 196942009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
19695
19696 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
19697
cd2851b3 196982009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
19699
19700 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
19701 operations.
19702
c6f3b249 197032009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
19704
19705 * configure.ac: Add missing dollar.
19706
6b5886ba 197072009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
19708
19709 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
19710
19711 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
19712 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
19713 exports.
19714 * include/grub/sparc64/libgcc.h: Likewise. Use
19715 preprocessor conditionals.
19716
e9d66f6d 197172009-10-14 Robert Millan <rmh.grub@aybabtu.com>
19718
19719 * conf/common.rmk (grub-dumpbios): Remove rule.
19720 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
19721 * util/grub-dumpbios.in: Remove file.
19722
9155bc17 197232009-10-14 Robert Millan <rmh.grub@aybabtu.com>
19724
19725 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
19726 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
19727
19728 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
19729 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
19730 users.
19731
19732 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
19733 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
19734 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
19735 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
19736 users.
19737
bf7f7a18 197382009-10-12 Robert Millan <rmh.grub@aybabtu.com>
19739
19740 * term/tparm.c: Switch to GPLv3.
19741
86564c26 197422009-10-09 Robert Millan <rmh.grub@aybabtu.com>
19743
19744 * include/grub/i386/cpuid.h: Add header protection.
19745
5c936493 197462009-10-09 Robert Millan <rmh.grub@aybabtu.com>
19747
19748 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
19749
19750 * include/grub/i386/cpuid.h: New file.
19751 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
19752 (has_longmode): Rename to ...
19753 (grub_cpuid_has_longmode): ... this. Update all users. Remove
19754 `static' attribute.
19755 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
19756 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
19757 on a CPU that doesn't implement AMD64 instruction set.
19758
186e7cf2 197592009-10-06 Colin Watson <cjwatson@ubuntu.com>
19760
19761 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
19762 that version.texi is rebuilt on version number changes.
19763
83b65c4a 197642009-10-06 Colin Watson <cjwatson@ubuntu.com>
19765
19766 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
19767 Fixes bug #27602.
19768
d244281c 197692009-10-06 Colin Watson <cjwatson@ubuntu.com>
19770
19771 * util/i386/pc/grub-install.in: Source
19772 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
19773 that the --grub-probe option will work.
19774 * util/sparc64/ieee1275/grub-install.in: Likewise.
19775
da25306d 197762009-10-05 Robert Millan <rmh.grub@aybabtu.com>
19777
19778 * configure.ac: Bump version to 1.97~beta4.
19779
e8ee83c0 197802009-10-03 Robert Millan <rmh.grub@aybabtu.com>
19781
19782 Resync grub-mkdevicemap in x86_64-efi.
19783
19784 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
19785 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
19786 `util/devicemap.c'.
19787
50dcabcf 197882009-10-01 Colin Watson <cjwatson@ubuntu.com>
19789
19790 * util/grub-editenv.c (create_envblk_file): Write new block with a
19791 .new suffix and then rename it into place, to ensure atomic
19792 creation.
19793
0e51c3a7 197942009-09-28 Robert Millan <rmh.grub@aybabtu.com>
19795
19796 Do not automatically install headers.
19797
19798 * Makefile.in (include_DATA): Remove. Update all users.
19799
31299a95 198002009-09-26 Robert Millan <rmh.grub@aybabtu.com>
19801
19802 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
19803 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
19804
19805 * util/osdetect.lua: Remove.
19806 * script/lua/lauxlib.c: Likewise.
19807 * script/lua/ldebug.c: Likewise.
19808 * script/lua/grub_main.c: Likewise.
19809 * script/lua/lauxlib.h: Likewise.
19810 * script/lua/ldebug.h: Likewise.
19811 * script/lua/ltablib.c: Likewise.
19812 * script/lua/liolib.c: Likewise.
19813 * script/lua/lstrlib.c: Likewise.
19814 * script/lua/lualib.h: Likewise.
19815 * script/lua/ldo.c: Likewise.
19816 * script/lua/ldump.c: Likewise.
19817 * script/lua/ldo.h: Likewise.
19818 * script/lua/loslib.c: Likewise.
19819 * script/lua/lundump.c: Likewise.
19820 * script/lua/grub_lib.c: Likewise.
19821 * script/lua/ldblib.c: Likewise.
19822 * script/lua/lundump.h: Likewise.
19823 * script/lua/lmem.c: Likewise.
19824 * script/lua/grub_lib.h: Likewise.
19825 * script/lua/lmathlib.c: Likewise.
19826 * script/lua/lstate.c: Likewise.
19827 * script/lua/ltm.c: Likewise.
19828 * script/lua/lvm.c: Likewise.
19829 * script/lua/lmem.h: Likewise.
19830 * script/lua/lstate.h: Likewise.
19831 * script/lua/ltm.h: Likewise.
19832 * script/lua/ltable.c: Likewise.
19833 * script/lua/lvm.h: Likewise.
19834 * script/lua/llex.c: Likewise.
19835 * script/lua/lgc.c: Likewise.
19836 * script/lua/grub_lua.h: Likewise.
19837 * script/lua/loadlib.c: Likewise.
19838 * script/lua/lfunc.c: Likewise.
19839 * script/lua/lopcodes.c: Likewise.
19840 * script/lua/lparser.c: Likewise.
19841 * script/lua/ltable.h: Likewise.
19842 * script/lua/llex.h: Likewise.
19843 * script/lua/lgc.h: Likewise.
19844 * script/lua/lfunc.h: Likewise.
19845 * script/lua/lbaselib.c: Likewise.
19846 * script/lua/lopcodes.h: Likewise.
19847 * script/lua/lparser.h: Likewise.
19848 * script/lua/lzio.c: Likewise.
19849 * script/lua/linit.c: Likewise.
19850 * script/lua/lobject.c: Likewise.
19851 * script/lua/llimits.h: Likewise.
19852 * script/lua/lstring.c: Likewise.
19853 * script/lua/lzio.h: Likewise.
19854 * script/lua/lapi.c: Likewise.
19855 * script/lua/lcode.c: Likewise.
19856 * script/lua/lua.h: Likewise.
19857 * script/lua/lobject.h: Likewise.
19858 * script/lua/lstring.h: Likewise.
19859 * script/lua/lapi.h: Likewise.
19860 * script/lua/lcode.h: Likewise.
19861 * script/lua/luaconf.h: Likewise.
19862
cb8a2c38 198632009-09-26 Colin Watson <cjwatson@ubuntu.com>
19864
19865 * docs/grub.texi (Command-line and menu entry commands): Document
19866 date and echo commands.
19867
6b9b6276 198682009-09-24 Pavel Roskin <proski@gnu.org>
19869
19870 * include/grub/kernel.h (struct grub_module_header): Remove
19871 `grub_module_header_types'. Make `type' unsigned. Make `size'
19872 32-bit on all platforms.
19873 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
19874 8-bit field. Use grub_host_to_target32() for `size'.
19875 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
19876 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
19877 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
19878
4e5a02a7 198792009-09-24 Robert Millan <rmh.grub@aybabtu.com>
19880
19881 Fix "lost keypress" bug in at_keyboard.
19882
19883 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
19884 Checks for readyness of input buffer (without flushing it).
19885 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
19886 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
19887
c6dcedf6 198882009-09-24 Robert Millan <rmh.grub@aybabtu.com>
19889
19890 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
19891 size check within GRUB_MACHINE_PCBIOS section.
19892
74c958b1 198932009-09-24 Robert Millan <rmh.grub@aybabtu.com>
19894
19895 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
19896 return value.
19897 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
19898 KEYBOARD_ISREADY check.
19899 (grub_at_keyboard_checkkey): Rename to ...
19900 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
19901 Remove gratuitous cast.
19902
ff420223 199032009-09-23 Colin Watson <cjwatson@ubuntu.com>
19904
19905 * configure.ac: Call AC_PROG_MKDIR_P.
19906 * Makefile.in (docs/stamp-vti): Create docs directory. Create
19907 version.texi in $(builddir) rather than $(srcdir).
19908 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
19909 to makeinfo's @include search path.
19910
d96875df 199112009-09-23 Felix Zielcke <fzielcke@z-51.de>
19912
19913 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
19914
9b3f8365 199152009-09-23 Felix Zielcke <fzielcke@z-51.de>
19916
19917 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
19918 for `*.dpkg-new'.
19919
c44c90db 199202009-09-21 Colin Watson <cjwatson@ubuntu.com>
19921
19922 Build info documentation. Some code borrowed from Automake.
19923
19924 * configure.ac: Check for makeinfo.
19925 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
19926 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
19927 docs/version.texi.
19928 (MOSTLYCLEANFILES): Add vti.tmp.
19929 (docs/version.texi, docs/stamp-vti): Update automatically.
19930 (docs/grub.info): Build info documentation. Use --force and ignore
19931 errors for now.
19932 (all-local): Add $(INFOS).
19933 (install-local): Install info files.
19934 (uninstall): Uninstall info files.
19935 * docs/version.texi: Remove from revision control. This file is
19936 automatically generated on build now.
19937 * gendistlist.sh: Add `*.info'.
19938
e0b37bb5 199392009-09-21 Felix Zielcke <fzielcke@z-51.de>
19940
19941 * kern/term.c: Fix indentation.
19942
5a78865b 199432009-09-21 Felix Zielcke <fzielcke@z-51.de>
19944
19945 * util/hostdisk.c: Fix a comment.
19946
dace7e8a 199472009-09-20 Robert Millan <rmh.grub@aybabtu.com>
19948
19949 Fix regression introduced in r2539.
19950
19951 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
19952 to 0xA1.
19953
a83d079b 199542009-09-19 Colin Watson <cjwatson@ubuntu.com>
19955
19956 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 19957 os-prober. Under normal operation, it does not print anything to
19958 stderr; if it does, we need to debug it, and throwing away stderr
19959 makes that excessively difficult.
a83d079b 19960
be94a509 199612009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
19962
19963 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
19964
63f745e8 199652009-09-16 Robert Millan <rmh.grub@aybabtu.com>
19966
19967 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
19968 AC_LANG_PROGRAM from autoconf.
19969 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
19970 prototypes (fixes warning).
19971
19972 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
19973 `--disable-werror' was used.
19974
bbb2a70f 199752009-09-16 Robert Millan <rmh.grub@aybabtu.com>
19976
19977 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
19978 uninitialized `lastaddr'.
19979
77c24f1d 199802009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19981
0f0b8c87 19982 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 19983
07197f23 199842009-09-14 Colin Watson <cjwatson@ubuntu.com>
19985
19986 * commands/test.c (get_fileinfo): Return immediately if
19987 grub_fs_probe fails.
19988
dabf1798 199892009-09-14 José Martínez <xosemp@gmail.com>
19990
19991 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
19992
d52109a7 199932009-09-14 Colin Watson <cjwatson@ubuntu.com>
19994
19995 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
19996 output.
19997
56532179 199982009-09-13 Robert Millan <rmh.grub@aybabtu.com>
19999
20000 * configure.ac: Remove --enable-grub-pe2elf. Only build
20001 grub-pe2elf when needed by the build system itself.
20002 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
20003
8ef070f5 200042009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20005
20006 * configure.ac: Bump version to 1.97~beta3.
20007 * docs/version.texi: Likewise.
20008
61229557 200092009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20010
20011 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
20012 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
20013 from here ...
20014 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
20015 (grub_linux_setup_video): ... to here (with some adjustments).
20016
5c9f8d84 200172009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20018
20019 Fix memory corruption issue (spotted by Colin Watson).
20020
20021 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
20022 causing returned size to be stored in an incorrect memory location.
20023 Fix use of uninitialized value when storing the returned size.
20024
e8f5d6e9 200252009-09-12 Yves Blusseau <blusseau@zetam.org>
20026
20027 Change clean rules to properly remove files
20028
20029 * genmk.rb: add new clean rules
20030 * Makefile.in (clean): add the new targets
20031 (mostlyclean): likewise
20032
cda2a409 200332009-09-11 Colin Watson <cjwatson@ubuntu.com>
20034
20035 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
20036 to grub_uint64_t.
20037 * fs/ntfs.c (init_file): Understand 64-bit sizes for
20038 non-resident files.
20039
86695375 200402009-09-11 Colin Watson <cjwatson@ubuntu.com>
20041
20042 * configure.ac: Don't look for help2man when cross-compiling. Fixes
20043 part of bug #27349.
20044
8aa1541a 200452009-09-10 Felix Zielcke <fzielcke@z-51.de>
20046
20047 * util/grub-mkconfig.in: Make the created config mode 400 and
20048 print a warning if it fails.
20049
48d9bb0a 200502009-09-10 Robert Millan <rmh.grub@aybabtu.com>
20051
20052 * util/grub.d/40_custom.in: Ask user to type custom entries below
20053 comment, rather than below 'exec tail' line.
20054
3b0521be 200552009-09-10 Colin Watson <cjwatson@ubuntu.com>
20056
20057 * util/grub.d/40_custom.in: Make sure that the explanatory text is
20058 visible in grub.cfg.
20059
50051d55 200602009-09-10 Colin Watson <cjwatson@ubuntu.com>
20061
20062 * util/grub.d/40_custom.in: Make it a little clearer how to use this
20063 file.
20064
c0d34387 200652009-09-10 Felix Zielcke <fzielcke@z-51.de>
20066
20067 * docs/grub.cfg: Add an example menu entry for memtest86+.
20068
80a608f3 200692009-09-09 Felix Zielcke <fzielcke@z-51.de>
20070
a2094832 20071 * config.guess: Update to latest version from config git.
80a608f3 20072 * config.sub: Likewise.
20073
99423078 200742009-09-08 Colin Watson <cjwatson@ubuntu.com>
20075
20076 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
20077 unknown-command case. Fixes bug #27320.
20078
44454e4c 200792009-09-08 Felix Zielcke <fzielcke@z-51.de>
20080
20081 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
20082 `help' if the command exists.
20083
e30d87ad 200842009-09-06 Robert Millan <rmh.grub@aybabtu.com>
20085
20086 * INSTALL: Require GCC 4.1.3 or later.
20087
9a86f1ec 200882009-09-06 Yves Blusseau <blusseau@zetam.org>
20089
20090 * Makefile.in (RMKFILES): add i386-qemu.rmk
20091 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
20092 $(srcdir)/stamp-h.in
20093
7f26d466 200942009-09-05 Robert Millan <rmh.grub@aybabtu.com>
20095
20096 * util/grub-probe.c (probe): Comment out buggy codepath, which
20097 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
20098 should be re-enabled after 1.97.
20099
3a613259 201002009-09-05 Felix Zielcke <fzielcke@z-51.de>
20101
20102 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
20103 find searches for.
20104
197f76c7 201052009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
20106
20107 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
20108 unnecessary calls to grub_error.
20109
70ba68ce 201102009-09-04 Colin Watson <cjwatson@ubuntu.com>
20111
20112 * NEWS: Mention `keystatus' and Unicode fonts.
20113
4ff0d7a4 201142009-09-04 Robert Millan <rmh.grub@aybabtu.com>
20115
20116 * configure.ac: Bump version to 1.97~beta2.
20117 * docs/version.texi: Likewise.
20118
77c55a87 201192009-09-03 Colin Watson <cjwatson@ubuntu.com>
20120
20121 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
20122 containing unwind information in some cases where it previously did
20123 not. Use -fno-dwarf2-cfi-asm if available to restore the old
20124 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
20125 discussion.
20126
f79572cd 201272009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
20128
20129 Embedding loadenv module into grub-emu
20130
20131 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
20132 commands/loadenv.c
20133 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
20134 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
20135 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
20136 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
20137 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
20138 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
20139
93a81088 201402009-09-03 Magnus Granberg <zorry@ume.nu>
20141
20142 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
20143 include -fPIE in the default specs.
20144 * configure.ac: Check if pie_possible is yes and add -fno-PIE
20145 to TARGET_CFLAGS.
20146
160034b2 201472009-09-03 Felix Zielcke <fzielcke@z-51.de>
20148
20149 * INSTALL: Note that GNU Bison 2.3 or later is required.
20150
087c07c4 201512009-09-03 Colin Watson <cjwatson@ubuntu.com>
20152
20153 * kern/i386/pc/startup.S: Fix typo.
20154
cbf978c0 201552009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20156
20157 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
20158 according to GCS.
20159
201602009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 20161
20162 * docs/grub.texi (Naming convention): Describe one-based partition
20163 numbering.
20164 (Device syntax): Likewise.
20165 (File name syntax): Likewise.
20166 (Block list syntax): Likewise.
20167 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
20168 menu.lst.
20169 (File name syntax): Likewise.
20170 (Command-line and menu entry commands): Document acpi, blocklist,
20171 crc, export, insmod, keystatus, ls, set, and unset commands.
20172
f3e8cdfd 201732009-09-02 Colin Watson <cjwatson@ubuntu.com>
20174
20175 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
20176 to avoid implying that only one of --shift, --ctrl, or --alt may be
20177 used.
20178
c0bc232b 201792009-09-02 Colin Watson <cjwatson@ubuntu.com>
20180
20181 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
20182 rather than comparing against S_IFREG, which will almost never work.
20183
aa0f752d 201842009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
20185
20186 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
20187 (write_blocklists): Likewise.
20188
ecb3166a 201892009-09-01 Colin Watson <cjwatson@ubuntu.com>
20190
20191 * script/lua/grub_lua.h (fputs): Supply a format string as the first
20192 argument to grub_printf.
20193
c403a125 201942009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 20195
20196 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 20197 non GNU test.
31aba781 20198
b5e7312c 201992009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20200
20201 * kern/file.c (grub_file_read): Spelling fix
20202
fe00f472 202032009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20204
20205 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
20206 loading of headers in some cases.
20207
cc55302e 202082009-08-30 Robert Millan <rmh.grub@aybabtu.com>
20209
20210 * configure.ac: Bump version to 1.97~beta1.
20211 * docs/version.texi: Likewise.
20212
5c90cdd2 202132009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 20214
20215 * include/grub/i386/xnu.h: Add license header.
20216 include grub/err.h explicitly.
20217
c90edae4 202182009-08-29 Robert Millan <rmh.grub@aybabtu.com>
20219
20220 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
20221 to `ufs' in the vfs.root.mountfrom kernel parameter.
20222
d8888b5c 202232009-08-29 Robert Millan <rmh.grub@aybabtu.com>
20224
20225 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
20226
20227 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
20228 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
20229
20230 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
20231 `ARRAY_SIZE' macro.
20232
6f07b921 202332009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20234
20235 * kern/file.c (grub_file_read): Check offset.
20236 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
20237 * fs/jfs.c (grub_jfs_read_file): Likewise.
20238 * fs/ntfs.c (grub_ntfs_read): Likewise.
20239 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
20240 * fs/minix.c (grub_minix_read_file): Correct offset check.
20241 * fs/ufs.c (grub_ufs_read_file): Likewise.
20242
b4f34077 202432009-08-28 Colin Watson <cjwatson@ubuntu.com>
20244
20245 * term/i386/pc/console.c (bios_data_area): Cast
20246 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
20247
e7c69859 202482009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20249
20250 1-bit optimised blitters.
20251
20252 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
20253 prototype.
20254 (grub_video_fbblit_replace_24bit_1bit): Likewise.
20255 (grub_video_fbblit_replace_16bit_1bit): Likewise.
20256 (grub_video_fbblit_replace_8bit_1bit): Likewise.
20257 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
20258 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
20259 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
20260 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
20261 function.
20262 (grub_video_fbblit_replace_24bit_1bit): Likewise.
20263 (grub_video_fbblit_replace_16bit_1bit): Likewise.
20264 (grub_video_fbblit_replace_8bit_1bit): Likewise.
20265 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
20266 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
20267 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
20268 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
20269 when possible.
20270 * video/video.c (grub_video_get_blit_format): Return
20271 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
20272
a57da43f 202732009-08-28 Colin Watson <cjwatson@ubuntu.com>
20274
20275 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
20276 the first argument to grub_printf.
20277
4cbe67e5 202782009-08-28 Colin Watson <cjwatson@ubuntu.com>
202792009-08-28 Robert Millan <rmh.grub@aybabtu.com>
20280
20281 Add `getkeystatus' terminal method. Add a new `keystatus' command
20282 to query it.
20283
20284 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
20285 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
20286 modifier key bitmasks.
20287 (struct grub_term_input): Add `getkeystatus' member.
20288 (grub_getkeystatus): Add prototype.
20289 * kern/term.c (grub_getkeystatus): New function.
20290
20291 * include/grub/i386/pc/memory.h
20292 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
20293 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
20294 Data Area layout.
20295 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
20296 (grub_console_term_input): Set `getkeystatus' member.
20297 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
20298 constants.
20299 (grub_usb_keyboard_getreport): Likewise.
20300 (grub_usb_keyboard_checkkey): Likewise.
20301 (grub_usb_keyboard_getkeystatus): New function.
20302 (grub_usb_keyboard_term): Set `getkeystatus' member.
20303
20304 * commands/keystatus.c: New file.
20305 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
20306 (keystatus_mod_SOURCES): New variable.
20307 (keystatus_mod_CFLAGS): Likewise.
20308 (keystatus_mod_LDFLAGS): Likewise.
20309 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
20310 commands/keystatus.c.
20311 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20312 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20313 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20314 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20315 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20316 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 20317
6e2a9085 203182009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20319
20320 Split befs.mod and afs.mod into *_be.mod and *.mod
20321
20322 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
20323 (grub_fstest_SOURCES): Likewise.
20324 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
20325 (afs_be_mod_SOURCES): New variable.
20326 (afs_be_mod_CFLAGS): Likewise.
20327 (afs_be_mod_LDFLAGS): Likewise.
20328 (befs_be_mod_SOURCES): Likewise.
20329 (befs_be_mod_CFLAGS): Likewise.
20330 (befs_be_mod_LDFLAGS): Likewise.
20331 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
20332 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20333 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20334 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
20335 (grub_emu_SOURCES): Likewise.
20336 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20337 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20338 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20339 * fs/afs_be.c: New file.
20340 * fs/befs_be.c: New file.
20341 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
20342 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
20343 (U16): Replaced with ...
20344 (grub_afs_to_cpu16): ...this. All users updated.
20345 (U32): Replaced with ...
20346 (grub_afs_to_cpu32): ...this. All users updated.
20347 (U64): Replaced with ...
20348 (grub_afs_to_cpu64): ...this. All users updated.
20349 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
20350 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 20351 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 20352 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
20353 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
20354 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
20355 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
20356 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
20357 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
20358 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
20359 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
20360
32a71655 203612009-08-26 Bean <bean123ch@gmail.com>
20362
20363 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
20364 64-bit number.
20365 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
20366 (grub_xfs_inode_block): Change return type to grub_uint64_t.
20367 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
20368
552bf6c5 203692009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20370
20371 NetBSD memory map support.
20372
20373 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
20374 (grub_netbsd_btinfo_mmap_header): New structure.
20375 (grub_netbsd_btinfo_mmap_entry): Likewise.
20376 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
20377
1ae2078c 203782009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20379
20380 Enable bsd.mod on coreboot.
20381
20382 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
20383 (bsd_mod_SOURCES): New variable.
20384 (bsd_mod_CFLAGS): Likewise.
20385 (bsd_mod_LDFLAGS): Likewise.
20386 (bsd_mod_ASFLAGS): Likewise.
20387 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
20388 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
20389
beefc598 203902009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20391
20392 Cleanup NetBSD root support.
20393
20394 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
20395 grub_bsd_get_device.
20396 Fix typo.
20397
3b76e68b 203982009-08-25 Felix Zielcke <fzielcke@z-51.de>
20399
20400 * util/grub.d/00_header.in: Move check for the video backend of
20401 gfxterm from here ...
20402 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
20403 a suitable video backend.
20404
aea664ea 204052009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20406
20407 Fix breakage in grub-setup.
20408
20409 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
20410 "msdos_partition_map".
20411
ff747d50 204122009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20413
20414 Fix breakage in normal/auth.c.
20415
20416 * normal/auth.c (grub_iswordseparator): New function.
20417
e7e1f93f 204182009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20419
20420 Authentication support.
20421
20422 * commands/password.c: New file.
20423 * conf/common.rmk (pkglib_MODULES): Add password.mod.
20424 (password_mod_SOURCES): New variable.
20425 (password_mod_CFLAGS): Likewise.
20426 (password_mod_LDFLAGS): Likewise.
20427 (normal_mod_SOURCES): Add normal/auth.c.
20428 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
20429 normal/auth.c.
20430 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20431 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20432 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20433 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20434 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20435 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20436 * include/grub/auth.h: New file.
20437 * include/grub/err.h (grub_err_t): New enum value
20438 GRUB_ERR_ACCESS_DENIED.
20439 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
20440 'users'.
20441 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
20442 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
20443 users updated.
20444 * normal/auth.c: New file.
20445 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
20446 (grub_cmdline_run): Don't allow to go to command line without
20447 authentication.
20448 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
20449 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
20450 menuentry without superuser rights.
20451 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
20452 user isn't a superuser.
20453
70f1161d 204542009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20455
20456 Save space by inlining misc.c functions.
20457
20458 * kern/misc.c (grub_iswordseparator): Made static.
20459 * kern/misc.c (grub_strcat): Moved from here ...
20460 * include/grub/misc.h (grub_strcat): ... here. Inlined.
20461 * kern/misc.c (grub_strncat): Moved from here ...
20462 * include/grub/misc.h (grub_strncat): ... here. Inlined.
20463 * kern/misc.c (grub_strcasecmp): Moved from here ...
20464 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
20465 * kern/misc.c (grub_strncasecmp): Moved from here ...
20466 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
20467 * kern/misc.c (grub_isalpha): Moved from here ...
20468 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
20469 * kern/misc.c (grub_isdigit): Moved from here ...
20470 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
20471 * kern/misc.c (grub_isgraph): Moved from here ...
20472 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
20473 * kern/misc.c (grub_tolower): Moved from here ...
20474 * include/grub/misc.h (grub_tolower): ... here. Inlined.
20475
48e40bff 204762009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20477
20478 * script/sh/function.c (grub_script_function_find): Cut error message
20479 not to flood terminal.
20480 * script/sh/lexer.c (grub_script_yylex): Remove command line length
20481 limit.
20482 * script/sh/script.c (grub_script_arg_add): Duplicate string.
20483
c385bfc3 204842009-08-24 Colin Watson <cjwatson@ubuntu.com>
20485
20486 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
20487 `report' grub_uint8_t *.
20488 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
20489 Use a 50-millisecond timeout rather than just repeating
20490 grub_usb_keyboard_getreport 50 times.
20491 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
20492
2d21e3e8 204932009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20494
20495 Rename *_partition_map to part_*
20496
20497 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
20498 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
20499 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
20500 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
20501 All users updated.
20502 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
20503 All users updated.
20504 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
20505 * util/grub-probe.c (probe_partmap): Don't transform partition name
20506 to get module name.
20507
dd103c4e 205082009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20509
20510 Fix OpenBSD and NetBSD support.
20511
20512 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
20513 memory address conflict.
20514 (OPENBSD_MMAP_ACPI): New definition.
20515 (OPENBSD_MMAP_NVS): Likewise.
20516 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
20517 and OPENBSD_MMAP_NVS.
20518 Add memory map terminator
20519 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 20520 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 20521
16c84d74 205222009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20523
20524 Let user specify NetBSD root device.
20525
20526 * loader/i386/bsd.c (netbsd_root): New variable.
20527 (netbsd_opts): New option 'root'.
20528 (NETBSD_ROOT_ARG): New macro.
20529 (grub_netbsd_boot): Use 'netbsd_root'.
20530 (grub_bsd_unload): Free 'netbsd_root'.
20531 (grub_cmd_netbsd): Fill 'netbsd_root'.
20532
adb29902 205332009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20534
20535 Support for 64-bit NetBSD.
20536
20537 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
20538 point when booting non-FreeBSD.
20539
f5ae9f74 205402009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20541
20542 Support --no-smp and --no-acpi for NetBSD.
20543
20544 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
20545 (NETBSD_AB_NOACPI): Likewise.
20546 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
20547 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
20548
de74f136 205492009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
20550
20551 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
20552 errors.
20553 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
20554 errors. Call grub_error when needed.
20555
e9a925da 205562009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
20557
20558 * commands/search.c (search_fs): Try searching without autoload first.
20559 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
20560 filesystem module explicitly for faster booting.
20561
5174302b 205622009-08-23 Colin Watson <cjwatson@ubuntu.com>
20563
20564 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
20565
c8c80635 205662009-08-23 Colin Watson <cjwatson@ubuntu.com>
20567
20568 * util/grub.d/30_os-prober.in: Disable os-prober if
20569 `GRUB_DISABLE_OS_PROBER' was set to true.
20570
71acf5e5 205712009-08-23 Robert Millan <rmh.grub@aybabtu.com>
20572
20573 * partmap/pc.c: Rename to ...
20574 * partmap/msdos.c: ... this. Update all users.
20575 (grub_pc_partition_map): Rename to ...
20576 (grub_msdos_partition_map): ... this. Update all users.
20577
20578 * parttool/pcpart.c: Rename to ...
20579 * parttool/msdospart.c: ... this. Update all users.
20580
20581 * include/grub/pc_partition.h: Rename to ...
20582 * include/grub/msdos_partition.h: ... this. Update all users.
20583 (grub_pc_partition_bsd_entry): Rename to ...
20584 (grub_msdos_partition_bsd_entry): ... this. Update all users.
20585 (grub_pc_partition_disk_label): Rename to ...
20586 (grub_msdos_partition_disk_label): ... this. Update all users.
20587 (grub_pc_partition_entry): Rename to ...
20588 (grub_msdos_partition_entry): ... this. Update all users.
20589 (grub_pc_partition_mbr): Rename to ...
20590 (grub_msdos_partition_mbr): ... this. Update all users.
20591 (grub_pc_partition): Rename to ...
20592 (grub_msdos_partition): ... this. Update all users.
20593 (grub_pc_partition_is_empty): Rename to ...
20594 (grub_msdos_partition_is_empty): ... this. Update all users.
20595 (grub_pc_partition_is_extended): Rename to ...
20596 (grub_msdos_partition_is_extended): ... this. Update all users.
20597 (grub_pc_partition_is_bsd): Rename to ...
20598 (grub_msdos_partition_is_bsd): ... this. Update all users.
20599
20600 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
20601 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
20602 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
20603 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
20604 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
20605 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
20606 (gpt_mod_LDFLAGS): Rename to ...
20607 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
20608 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
20609 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
20610 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
20611 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
20612 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
20613 (part_gpt_mod_LDFLAGS): ... this.
20614 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
20615 `pcpart.mod' to `msdospart.mod'.
20616 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
20617 to ...
20618 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
20619 (msdospart_mod_LDFLAGS): ... this.
20620
c11fded5 206212009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
20622
20623 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
20624 (openbsd_opts): Likewise.
20625 (netbsd_opts): Likewise.
20626 (freebsd_flags): Added 0 terminator.
20627 (openbsd_flags): Likewise.
20628 (netbsd_flags): Likewise.
20629 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
20630 (grub_cmd_freebsd): Transformed into extended command.
20631 (grub_cmd_openbsd): Likewise.
20632 (grub_cmd_netbsd): Likewise.
20633 (cmd_freebsd): Changed type to grub_extcmd_t.
20634 (cmd_openbsd): Likewise.
20635 (cmd_netbsd): Likewise.
20636 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
20637 grub_cmd_openbsd as extended commands.
20638 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
20639 cmd_netbsd and cmd_openbsd
20640
11d1c769 206412009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
20642
20643 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
20644
7a9094e5 206452009-08-21 Pavel Roskin <proski@gnu.org>
20646
5496c37e 20647 * Makefile.in (install-local): When checking if a file is in the
20648 build directory, use "test -e" to detect symlinks.
20649
7a9094e5 20650 * Makefile.in (install-local): Remove all files in
20651 $(DESTDIR)$(pkglibdir) before installing new files there.
20652
e53cea11 206532009-08-18 Felix Zielcke <fzielcke@z-51.de>
20654
20655 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
20656 grub-mkelfimage.
20657
9aced544 206582009-08-18 Felix Zielcke <fzielcke@z-51.de>
20659
20660 * util/grub-mkconfig.in: Don't use gfxterm by default if not
20661 explicitly specified by the user.
20662
b7da6bab 206632009-08-18 Pavel Roskin <proski@gnu.org>
20664
20665 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
20666 grub_uint8_t pointer for data.
20667 * include/grub/fbutil.h (struct grub_video_fbblit_info):
20668 Likewise.
20669 * video/fb/fbutil.c: Remove unnecessary casts.
20670
19f1b335 206712009-08-17 Michal Suchanek <hramrach@centrum.cz>
20672
20673 VBE cleanup.
20674
20675 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
20676 (grub_vbe_set_video_mode): Save active mode info
20677 only after setting the mode.
20678 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
20679 second argument.
20680
2f467aa9 206812009-08-17 Michal Suchanek <hramrach@centrum.cz>
20682
20683 Rename variables for clarity.
20684
20685 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
20686 (active_vbe_mode_info): ... this. All users updated.
20687 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
20688 All users updated.
20689 (initial_mode): Rename to ...
20690 (initial_vbe_mode): ... this. All users updated.
20691 (mode_in_use): Rename to ..
20692 (vbe_mode_in_use): ... this. All users updated.
20693 (mode_list): Rename to ..
20694 (vbe_mode_list): ... this. All users updated.
20695 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
20696 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
20697 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
20698 'mode_list_size' to 'vbe_mode_list_size'.
20699 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
20700 'best_mode_info' to 'best_vbe_mode_info' and
20701 'best_mode' to 'best_vbe_mode'
20702
6025fcd7 207032009-08-17 Michal Suchanek <hramrach@centrum.cz>
20704
20705 Remove duplicate grub_video_fb_get_video_ptr.
20706
20707 * include/grub/fbutil.h (get_data_ptr): Rename to ...
20708 (grub_video_fb_get_video_ptr): ... this.
20709 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
20710 * video/fb/fbutil.c: Add comment about addressing.
20711 (get_data_ptr): Rename to ...
20712 (grub_video_fb_get_video_ptr): ... this. All users updated.
20713 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
20714
cc8c6faf 207152009-08-17 Robert Millan <rmh.grub@aybabtu.com>
20716
20717 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
20718 grub_dprintf() that was just added.
20719
08aa61f0 207202009-08-17 Robert Millan <rmh.grub@aybabtu.com>
20721
20722 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
20723 (DEFAULT_VIDEO_MODE): Remove macros.
20724 (grub_linux_boot): Remove assumption that Linux has FB support,
20725 and use "text" as default video mode.
20726
7cef4f75 207272009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
20728
20729 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
20730 grub_dprintf.
20731 * fs/fat.c (grub_fat_read_data): Likewise.
20732
e1f39873 207332009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
20734
20735 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
20736 payload.
20737 (grub_module): Likewise.
20738
c166d79e 207392009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
20740
20741 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
20742 mbi->cmdline but free playground.
20743
c60cee8e 207442009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
20745
20746 Handle group offset on UFS1.
20747
20748 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
20749 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
20750
c0d8b5d4 207512009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
20752
20753 Split ufs.mod into ufs1.mod and ufs2.mod.
20754
20755 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
20756 (grub_fstest_SOURCES): Likewise.
20757 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
20758 (ufs_mod_SOURCES): Remove.
20759 (ufs_mod_CFLAGS): Likewise.
20760 (ufs_mod_LDFLAGS): Likewise.
20761 (ufs1_mod_SOURCES): New variable.
20762 (ufs1_mod_CFLAGS): Likewise.
20763 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 20764 (ufs2_mod_SOURCES): New variable.
20765 (ufs2_mod_CFLAGS): Likewise.
20766 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 20767 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
20768 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
20769 Likewise.
20770 (grub_emu_SOURCES): Likewise.
20771 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20772 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20773 (grub_setup_SOURCES): Likewise.
20774 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20775 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
20776 (grub_setup_SOURCES): Likewise.
20777 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
20778 Likewise.
20779 * fs/ufs2.c: New file.
20780 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
20781
d3539132 207822009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
20783
20784 Framebuffer split.
20785
20786 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
20787 subsystem at the end.
20788 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
20789 (video_fb_mod_SOURCES): New variable.
20790 (video_fb_mod_CFLAGS): Likewise.
20791 (video_fb_mod_LDFLAGS): Likewise.
20792 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
20793 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
20794 * video/i386/pc/vbeblit.c: Moved from here ...
20795 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
20796 * video/i386/pc/vbefill.c: Moved from here ...
20797 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
20798 * video/i386/pc/vbeutil.c: Moved from here ...
20799 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
20800 * include/grub/i386/pc/vbeblit.h: Moved from here ...
20801 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
20802 * include/grub/i386/pc/vbefill.h: Moved from here ...
20803 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
20804 * include/grub/i386/pc/vbeutil.h: Moved from here ...
20805 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
20806 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
20807 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
20808 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
20809 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
20810 (grub_video_adapter): Added 'get_info_and_fini'.
20811 (grub_video_get_info_and_fini): New prototype.
20812 (grub_video_set_mode): make modestring const char *.
20813 * loader/i386/linux.c (grub_linux_setup_video): Use
20814 grub_video_get_info_and_fini.
20815 (grub_linux_boot): Move modesetting just before booting.
20816 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
20817 grub_video_get_info_and_fini.
20818 * video/i386/pc/vbe.c: Moved framebuffer part ...
20819 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
20820 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
20821 grub_video_fbstd_colors and grub_video_fb_set_palette.
20822 (grub_video_vbe_init): Clear 'framebuffer' variable and use
20823 grub_video_fb_init.
20824 (grub_video_vbe_fini): Use grub_video_fb_fini.
20825 (grub_video_vbe_setup): Use framebuffer.render_target instead of
20826 render_target and use grub_video_fb_set_active_render_target and
20827 grub_video_fb_set_palette.
20828 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
20829 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
20830 (grub_video_vbe_adapter): Use framebuffer.
20831 * video/video.c (grub_video_get_info_and_fini): New function.
20832 (grub_video_set_mode): Make modestring const char *.
20833 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
20834 values are already initialised.
20835
d404ee56 208362009-08-14 Pavel Roskin <proski@gnu.org>
20837
20838 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
20839 ABS and APPLE_CC.
20840 * boot/i386/pc/diskboot.S: Likewise.
20841 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
20842 sectors allow compilation on MacOSX.
20843 * conf/i386-pc.rmk: Enable unconditional compilation of
20844 lnxboot.img.
20845
9a10df16 208462009-08-13 Colin Watson <cjwatson@ubuntu.com>
20847
20848 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
20849 * util/grub.d/00_header.in: Enter interruptible sleep if
20850 GRUB_HIDDEN_TIMEOUT is set.
20851
be3c9ca7 208522009-08-13 Yves Blusseau <blusseau@zetam.org>
20853
20854 * include/grub/symbol.h: Add the LOCAL macro.
20855 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
20856 starting with "L_".
20857
1f9e557e 208582009-08-13 Pavel Roskin <proski@gnu.org>
20859
9ca62843 20860 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
20861 any modern compilers we support.
20862
1f9e557e 20863 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
20864 Use local labels starting with "L_" so that Apple assembler
20865 knows they are local.
20866
81623db6 208672009-08-10 Robert Millan <rmh.grub@aybabtu.com>
20868
20869 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
20870 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
20871 (bsd_kernel_types): ... this enum.
20872
20873 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
20874 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
20875 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
20876
20877 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
20878 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
20879 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
20880 messages.
20881
f5d35e7a 208822009-08-08 Robert Millan <rmh.grub@aybabtu.com>
20883
20884 * util/grub-dumpdevtree: Moved from here ...
20885 * util/i386/efi/grub-dumpdevtree: ... to here.
20886 (hexify): New function. Converts a string to its hex version.
20887 Generate hex versions of "efi" and "device-properties" by calling
20888 hexify() on the ASCII strings rather than by hardcoding numbers.
20889
d1e1d527 208902009-08-08 Robert Millan <rmh.grub@aybabtu.com>
20891
20892 * fs/jfs.c: Update copyright year.
20893
1ebbe064 208942009-08-08 Felix Zielcke <fzielcke@z-51.de>
20895
20896 * util/grub.d/00_header.in: Fix a comment.
20897 * util/grub.d/10_linux.in: Likewise.
20898 * util/grub.d/10_windows.in: Likewise.
20899 * util/grub.d/10_hurd.in: Likewise.
20900
a78c8d24 209012009-08-08 Felix Zielcke <fzielcke@z-51.de>
20902
20903 * util/grub-mkconfig.in: Allow the user to specify the used font
20904 with GRUB_FONT.
20905
29a6b9e8 209062009-08-08 Pavel Roskin <proski@gnu.org>
20907
b5f16cc4 20908 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
20909 available, xfs.mod needs it now.
20910
2f5cb827 20911 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
20912 the "g" modifier in sed when the intention is to strip something
20913 once. This fixes comparison of kernels with multiple dashes.
20914
29a6b9e8 20915 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
20916 on it. Add missing space before closing bracket. Fix
20917 misleading formatting.
20918
892a3d98 209192009-08-07 Robert Millan <rmh.grub@aybabtu.com>
20920
20921 * docs/grub.texi: Major overhaul. Remove all sections that are
20922 specific to GRUB Legacy, or mostly composed of Legacy-specific
20923 information.
20924
ed94253f 209252009-08-07 Robert Millan <rmh.grub@aybabtu.com>
20926
20927 * docs/version.texi: New file. Provides version information for
20928 grub.texi.
20929
126d6628 209302009-08-07 Robert Millan <rmh.grub@aybabtu.com>
20931
20932 * docs/grub.texi: Update CVS information to SVN.
20933 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
20934
998b5aa9 209352009-08-07 Felix Zielcke <fzielcke@z-51.de>
20936
20937 * util/grub-mkconfig.in: Remove a wrong `fi'.
20938
818e094a 209392009-08-07 Felix Zielcke <fzielcke@z-51.de>
20940
20941 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
20942 (grub_jfs_uuid): New function.
20943 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
20944
b969c52f 209452009-08-07 Felix Zielcke <fzielcke@z-51.de>
20946
20947 * util/grub-mkconfig_lib.in (font_path): Move the functionality
20948 of it to ...
20949 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
20950 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
20951
7a4894cc 209522009-08-07 Robert Millan <rmh.grub@aybabtu.com>
20953
20954 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
20955 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
20956 Update all users.
20957
20958 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
20959 not just "vmlinu[zx]".
20960 Moved from here ...
20961 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
20962 all users.
20963
20964 * util/grub.d/10_linux.in (find_latest): Moved from here ...
20965 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
20966 all users.
20967
4e2171f8 209682009-08-07 Robert Millan <rmh.grub@aybabtu.com>
20969
20970 * util/grub.d/10_freebsd.in: Use an absolute device path for
20971 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
20972
6dcfcb32 209732009-08-06 Felix Zielcke <fzielcke@z-51.de>
20974
20975 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
20976 handling of multiple abstraction modules.
20977
f56a8756 209782009-08-04 Robert Millan <rmh.grub@aybabtu.com>
20979
20980 Fix a bug resulting in black screen when loading Linux using a
20981 packed video mode.
20982
20983 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
20984 function.
20985
20986 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
20987 (grub_vbe_bios_getset_dac_palette_width): New function.
20988 (grub_vbe_bios_get_dac_palette_width)
20989 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
20990 grub_vbe_bios_getset_dac_palette_width()).
20991
20992 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
20993 check for return status.
20994 (grub_vbe_get_video_mode_info): When getting information for a packed
20995 mode (<= 8 bpp), obtain DAC palette width using
20996 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
20997 {red,green,blue}_mark_size.
20998
222671b2 209992009-08-04 Felix Zielcke <fzielcke@z-51.de>
21000
ecb1a6d9 21001 * commands/search.c (options): Fix help output to match actual code.
222671b2 21002
f84114f5 210032009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
21004
21005 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
21006 of homegrown code.
21007
bd288a20 210082009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 21009
21010 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
21011 on XFS or ReiserFS.
21012
8aab5e25 210132009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21014
21015 Support Apple partition map with sector size different from 512 bytes.
21016
21017 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
21018 (apple_partition_map_iterate): Respect 'aheader.blocksize'
21019 and 'apart.partmap_size'.
21020
6ad6258a 210212009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
210222009-08-01 Robert Millan <rmh.grub@aybabtu.com>
21023
21024 Fix cpuid command.
21025
21026 * commands/i386/cpuid.c (options): New variable.
21027 (grub_cmd_cpuid): Return real error.
21028 (GRUB_MOD_INIT(cpuid)): Declare options.
21029
67459bc6 210302009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
21031
21032 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
21033 valid.
21034
fbc6ab54 210352009-07-31 Bean <bean123ch@gmail.com>
21036
21037 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
21038 log2_inode.
21039 (grub_fshelp_node): Move inode field to the end.
21040 (grub_xfs_data): Remove inode field.
21041 (grub_xfs_inode_block): Calculate inode size using sblock.
21042 (grub_xfs_inode_offset): Likewise.
21043 (grub_xfs_read_inode): Calculate inode size using sblock.
21044 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
21045 (grub_xfs_iterate_dir): Calculate inode size using sblock.
21046 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
21047 to match inode size.
21048 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
21049 not accessible when data is null.
21050 (grub_xfs_open): Likewise.
21051
f45d6cfc 210522009-07-31 Bean <bean123ch@gmail.com>
21053
21054 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
21055 Don't change pv->disk if it's already set.
21056
21057 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
21058 (grub_raid_register): ... here.
21059 (grub_raid_rescan): Removed.
21060
21061 * include/grub/raid.h (grub_raid_rescan): Removed.
21062
21063 * util/grub-fstest.c: Remove include file <grub/raid.h>.
21064 (fstest): Replace grub_raid_rescan with module fini function followed
21065 by init function.
21066
21067 * util/grub-probe.c: Add include file <grub/raid.h>.
21068 (probe_raid_level): New function.
21069 (probe): Detect abstraction by walking the disk device, support two
21070 level of abstraction (LVM on RAID) when detecting partition map.
21071
24443b5a 210722009-07-31 Pavel Roskin <proski@gnu.org>
21073
21074 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
21075 to grub_zalloc(), it was erroneous.
21076 Reported by Bean <bean123ch@gmail.com>
21077
a275d9e7 210782009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
21079
21080 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 21081 embedding zone, not only the first one.
a275d9e7 21082
56c5a47f 210832009-07-29 Joe Auricchio <jauricchio@gmail.com>
21084
21085 * term/gfxterm.c (clear_char): New function.
21086 (grub_virtual_screen_setup): Use clear_char.
21087 (scroll_up): Likewise.
21088 (grub_virtual_screen_cls): Likewise.
21089
67bb323a 210902009-07-29 Felix Zielcke <fzielcke@z-51.de>
21091
21092 * util/deviceiter.c (get_acceleraid_disk_name): New static
21093 function.
21094 (grub_util_iterate_devices): Handle Accelraid devices.
21095 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
21096
388a7c75 210972009-07-28 Robert Millan <rmh.grub@aybabtu.com>
21098
21099 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
21100 separator for the suggested gfxpayload string (';' collides with the
21101 parser and needs escaping).
21102
3bb7abcf 211032009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
21104
21105 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
21106 Clear direction flag before jumping to OS.
21107 (grub_multiboot2_real_boot): Likewise.
21108
2ddd36d7 211092009-07-28 Felix Zielcke <fzielcke@z-51.de>
21110
21111 * util/i386/pc/grub-install: Fix parsing of --disk-module
21112 option.
21113
c521b62b 211142009-07-28 Felix Zielcke <fzielcke@z-51.de>
21115
21116 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
21117 when embedding.
21118
880e0a0c 211192009-07-26 Felix Zielcke <fzielcke@z-51.de>
21120
21121 * util/grub-mkconfig.in (package_version): New variable.
21122 Use it do display the version.
21123
2366e356 211242009-07-25 Felix Zielcke <fzielcke@z-51.de>
21125
21126 * kern/file.c (grub_file_open): Revert to previous check with
21127 grub_errno.
21128
7ad8c80e 211292009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
21130
21131 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
21132 from help line. It's out of sync with code.
21133
72b9658b 211342009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
21135
21136 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
21137 entries on failed boot.
21138
77435277 211392009-07-25 Felix Zielcke <fzielcke@z-51.de>
21140
21141 * kern/file.c (grub_file_open): Fix an error check.
21142
fcaa8b21 211432009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
21144
35d16c74 21145 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
21146 partition map couldn't be identified.
fcaa8b21 21147
48904cd1 211482009-07-23 Pavel Roskin <proski@gnu.org>
21149
ef3c317f 21150 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
21151 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
21152 case of little endian words becomes just an optimization.
21153 Respect const modifier.
ad8ea1f4 21154 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 21155
48904cd1 21156 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
21157 to avoid loss of upper bits if align is unsigned and shorter
21158 than addr.
21159
260c9a89 211602009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
21161
21162 UUID support for UFS
21163
21164 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
21165 (grub_ufs_uuid): New function.
21166 (grub_ufs_fs): add .uuid
21167
f76ce889 211682009-07-21 Pavel Roskin <proski@gnu.org>
21169
21170 * kern/dl.c (grub_dl_check_header): Make static.
21171
6a6cbcaf 211722009-07-21 Felix Zielcke <fzielcke@z-51.de>
21173
21174 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
21175 add drivemap for Vista. It breaks Windows 7.
21176
cffcddb2 211772009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
21178
21179 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
21180 128 bytes
21181
1ef44b80 211822009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21183
21184 Add BFS support
21185
21186 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
21187 (grub_fstest_SOURCES): Likewise.
21188 (pkglib_MODULES): Add befs.mod.
21189 (befs_mod_SOURCES): New variable.
21190 (befs_mod_CFLAGS): Likewise.
21191 (befs_mod_LDFLAGS): Likewise.
21192 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21193 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21194 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21195 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21196 (grub_setup_SOURCES): Likewise.
21197 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21198 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21199 (grub_setup_SOURCES): Likewise.
21200 * fs/befs.c: New file.
21201 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
21202 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
21203 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
21204 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
21205 (B_KEY_INDEX_ALIGN): New declaration.
21206 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
21207 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
21208 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
21209 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
21210 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
21211 (grub_afs_mount) [MODE_BFS]: Likewise.
21212 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
21213 (grub_afs_fs): Use GRUB_AFS_FSNAME
21214 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
21215 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
21216 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
21217 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
21218
4f253044 212192009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
21220
21221 * util/getroot.c (find_root_device): Add support for MacOSX.
21222 * util/hostdisk.c: Likewise.
21223
57a55913 212242009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21225
21226 * font/font.c (find_glyph): Check whether a font is present to avoid
21227 segmentation fault.
75421ca9 21228
212292009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 21230
21231 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
21232
e98cd0c2 212332009-07-20 Pavel Roskin <proski@gnu.org>
21234
21235 * configure.ac: Trim excessively wordy excuses.
21236
1d2d169a 212372009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21238
21239 Add symlink, mtime and label support to AtheFS.
21240
21241 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
21242 (grub_afs_iterate_dir): Handle symlinks.
21243 (grub_afs_open): Use grub_afs_read_symlink.
21244 (grub_afs_dir): Likewise.
21245 Pass mtime.
21246 (grub_afs_label): New function.
21247 (grub_afs_fs): Add grub_afs_label.
21248 (grub_afs_read_symlink): New function.
21249
186f3189 212502009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21251
21252 Fix AtheFS support.
21253
21254 * fs/afs.c: Fix comments style.
21255 (grub_afs_blockrun): Declare as packed.
21256 (grub_afs_datastream): Likewise.
21257 (grub_afs_bnode): Likewise.
21258 (grub_afs_btree): Likewise.
21259 (grub_afs_sblock): Likewise.
21260 Declare `name' as char.
21261 (grub_afs_inode): Declare as packed.
21262 Change void *vnode to grub_uint32_t unused.
21263 (grub_afs_iterate_dir): Check that key_size is positive.
21264 (grub_afs_mount): Don't read superblock twice.
75421ca9 21265 (grub_afs_dir): Don't free node in case of error,
186f3189 21266 grub_fshelp_find_file already handles this.
21267 (grub_afs_open): Likewise.
21268
5680109e 212692009-07-19 Pavel Roskin <proski@gnu.org>
21270
21271 * Makefile.in: Remove LIBLZO and enable_lzo.
21272 * conf/i386-pc.rmk: Remove lzo support.
21273 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
21274 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
21275 support.
21276 * kern/i386/pc/lzo1x.S: Remove.
21277 * kern/i386/pc/startup.S: Remove lzo support.
21278 * util/i386/pc/grub-mkimage.c: Likewise.
21279
ac70fa32 212802009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
21281
21282 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
21283 * fs/xfs.c (grub_xfs_dir): Likewise.
21284 * fs/afs.c (grub_afs_dir): Likewise.
21285 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
21286 (grub_iso9660_open): Likewise.
21287 * fs/jfs.c (grub_jfs_open): Likewise.
21288 * fs/ext2.c (grub_ext2_dir): Likewise.
21289 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
21290 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 21291
eab58da2 212922009-07-16 Pavel Roskin <proski@gnu.org>
21293
d2838156 21294 * configure.ac: Never add "-c" to CFLAGS.
21295
55c70904 21296 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
21297
43e6200c 21298 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
21299 grub_cv_cc_efiemu should be used.
21300
ce7a733d 21301 * configure.ac: Typo fixes.
21302
eab58da2 21303 * kern/mm.c (grub_zalloc): New function.
21304 (grub_debug_zalloc): Likewise.
21305 * include/grub/mm.h: Declare grub_zalloc() and
21306 grub_debug_zalloc().
21307 * util/misc.c (grub_zalloc): New function.
21308 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
21309 instead of grub_malloc(), remove unneeded initializations.
21310 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
21311 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
21312 * commands/parttool.c (grub_cmd_parttool): Likewise.
21313 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
21314 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
21315 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
21316 * disk/usbms.c (grub_usbms_finddevs): Likewise.
21317 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
21318 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
21319 (grub_cmd_efiemu_pnvram): Likewise.
21320 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
21321 * fs/iso9660.c (grub_iso9660_mount): Likewise.
21322 (grub_iso9660_iterate_dir): Likewise.
21323 * fs/jfs.c (grub_jfs_opendir): Likewise.
21324 * fs/ntfs.c (list_file): Likewise.
21325 (grub_ntfs_mount): Likewise.
21326 * kern/disk.c (grub_disk_open): Likewise.
21327 * kern/dl.c (grub_dl_load_core): Likewise.
21328 * kern/elf.c (grub_elf_file): Likewise.
21329 * kern/env.c (grub_env_context_open): Likewise.
21330 (grub_env_set): Likewise.
21331 (grub_env_set_data_slot): Likewise.
21332 * kern/file.c (grub_file_open): Likewise.
21333 * kern/fs.c (grub_fs_blocklist_open): Likewise.
21334 * loader/i386/multiboot.c (grub_module): Likewise.
21335 * loader/xnu.c (grub_xnu_create_key): Likewise.
21336 (grub_xnu_create_value): Likewise.
21337 * normal/main.c (grub_normal_add_menu_entry): Likewise.
21338 (read_config_file): Likewise.
21339 * normal/menu_entry.c (make_screen): Likewise.
21340 * partmap/sun.c (sun_partition_map_iterate): Likewise.
21341 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
21342 * script/sh/script.c (grub_script_parse): Likewise.
21343 * video/bitmap.c (grub_video_bitmap_create): Likewise.
21344 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
21345 * video/readers/png.c (grub_png_output_byte): Likewise.
21346 (grub_video_reader_png): Likewise.
21347
830afef7 213482009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 21349
21350 Enable all targets that can be built by default
21351
830afef7 21352 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 21353 grub-mkfont and grub-fstest if they can be built
21354
ee293aee 213552009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21356
21357 Fix hang and segmentation fault in grub-emu-usb
21358
21359 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
21360 * util/usb.c (grub_libusb_devices): likewise
21361 (grub_libusb_init): rename to ...
21362 (GRUB_MOD_INIT (libusb)):...this
21363 (grub_libusb_fini): rename to ..
21364 (GRUB_MOD_FINI (libusb)):...this
21365 * disk/usbms.c (grub_usbms_transfer): fix retry logic
21366 * include/grub/disk.h (grub_raid_init): removed, it's useless
21367 (grub_raid_fini): likewise
21368 (grub_lvm_init): likewise
21369 (grub_lvm_fini): likewise
21370 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
21371 by grub_init_all
21372
94414221 213732009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21374
21375 Fix libusb
21376
21377 * Makefile.in (LIBUSB): new macro
21378 * genmk.rb (Utility/print_tail): new method
21379 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
21380 (top level): call util.print_tail at the end.
21381
59ade63d 213822009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21383
21384 Make FreeBSD accept zpool.cache
21385
21386 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
21387 type is /boot/zfs/zpool.cache
21388
a58da8c7 213892009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21390
21391 Fix 64-bit efiemu
21392
21393 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
21394 correct wrong typedef
21395 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
21396
20591577 213972009-07-15 Pavel Roskin <proski@gnu.org>
21398
560ca572 21399 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
21400 * kern/disk.c (struct grub_disk_cache): Likewise.
21401
e8e8e4fd 21402 * commands/probe.c (options): Typo fix.
21403
fde24e10 21404 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
21405 Increase to 0x5a to accommodate FAT32. Adjust other offsets
21406 accordingly.
21407 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
21408
379c54c1 21409 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
21410 the end of "Error" to make the message more readable.
21411
7bd8f5bf 21412 * boot/i386/pc/boot.S (kernel_segment): Remove.
21413 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
21414 for destination.
21415
40b132c5 21416 * boot/i386/pc/boot.S (boot_version): Remove.
21417 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
21418 Remove.
21419
20591577 21420 * include/grub/i386/pc/boot.h: Sort all offsets.
21421 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
21422 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
21423 * boot/i386/pc/boot.S: Assert location of every offset listed in
21424 include/grub/i386/pc/boot.h.
21425
2df32b2c 214262009-07-13 Pavel Roskin <proski@gnu.org>
21427
44b5d879 21428 * include/grub/i386/coreboot/machine.h: Rename
21429 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
21430 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
21431 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
21432
17dc3751 21433 * kern/dl.c: Force native word size to suppress warnings when
21434 compiling grub-emu.
21435
2df32b2c 21436 * kern/device.c (grub_device_iterate): Change struct part_ent to
21437 hold the name, not a pointer to it. Use one grub_malloc() per
21438 partition, not two. Free partition_name if grub_malloc() fails.
21439 Set ents to NULL only before grub_partition_iterate() is called.
21440
75c59f59 214412009-07-11 Bean <bean123ch@gmail.com>
21442
21443 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
21444 childname.
21445
0ae1bf88 214462009-07-10 Bean <bean123ch@gmail.com>
214472009-07-10 Robert Millan <rmh.grub@aybabtu.com>
21448
21449 * kern/ieee1275/openfw.c (grub_children_iterate)
21450 (grub_devalias_iterate): Fix size evaluation for property or path
21451 strings, which was broken since r2132.
21452
8279cade 214532009-07-07 Pavel Roskin <proski@gnu.org>
21454
7d8a52d3 21455 * commands/search.c (search_file): Merge into ...
21456 (search_fs): ... this. Accept search type as argument.
21457 (grub_cmd_search): Pass search type to search_fs().
21458
25f9a05a 21459 * include/grub/util/console.h: New file.
21460 * util/console.c: Use it instead of grub/machine/console.h.
21461 * util/grub-emu.c: Likewise.
21462
8279cade 21463 * lib/arg.c (find_long_option): Remove.
21464 (find_long): Add `len' argument, make `s' const char *.
21465 (grub_arg_parse): Parse long options in place, not in a
21466 temporary buffer.
21467
4a11b60f 214682009-07-06 Pavel Roskin <proski@gnu.org>
21469
99f68041 21470 * commands/search.c (search_fs): Fix potential NULL pointer
21471 dereference.
21472
4a11b60f 21473 * commands/search.c (search_fs): Replace QUID macro with quid_fn
21474 function pointer.
21475
e110f4de 214762009-07-06 Daniel Mierswa <impulze@impulze.org>
21477
21478 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
21479 comparison.
21480
46eeb6a2 214812009-07-05 Pavel Roskin <proski@gnu.org>
21482
bab74958 21483 * include/grub/i386/linux.h (struct linux_kernel_params):
21484 Restore padding3, it's still needed.
21485
46eeb6a2 21486 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
21487 FreeBSD.
21488 * util/osdetect.lua: Likewise.
21489
b4a1dc79 214902009-07-05 Bean <bean123ch@gmail.com>
21491
21492 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
21493
21494 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
21495 (grub_lua_getenv): Likewise.
21496 (grub_lua_setenv): Likewise.
21497 (save_errno): New function.
21498 (push_result): Likewise.
21499 (grub_lua_enum_device): Likewise.
21500 (grub_lua_enum_file): Likewise.
21501 (grub_lua_file_open): Likewise.
21502 (grub_lua_file_close): Likewise.
21503 (grub_lua_file_seek): Likewise.
21504 (grub_lua_file_read): Likewise.
21505 (grub_lua_file_getline): Likewise.
21506 (grub_lua_file_getsize): Likewise.
21507 (grub_lua_file_getpos): Likewise.
21508 (grub_lua_file_eof): Likewise.
21509 (grub_lua_file_exist): Likewise.
21510 (grub_lua_add_menu): Likewise.
21511
21512 * script/lua/grub_lua.h (isupper): New inline function.
21513 (islower): Likewise.
21514 (ispunct): Likewise.
21515 (isxdigit): Likewise.
21516 (strcspn): Change to normal function.
21517 (strpbkr): New function declaration.
21518 (memchr): Likewise.
21519
21520 * script/lua/grub_main.c (scan_str): New function.
21521 (strcspn): Likewise.
21522 (strpbrk): Likewise.
21523 (memchr): Likewise.
21524
21525 * script/lua/linit.c (lualibs): Enable the string library.
21526
21527 * util/osdetect.lua: New file.
21528
2da92295 215292009-07-04 Robert Millan <rmh.grub@aybabtu.com>
21530
21531 * include/grub/i386/linux.h (struct linux_kernel_params): Add
21532 `capabilities' member.
21533
b2582ec9 215342009-07-02 Pavel Roskin <proski@gnu.org>
21535
21536 * genparttoollist.sh: Add missing newline at the end.
21537
32622956 215382009-07-01 Pavel Roskin <proski@gnu.org>
21539
87a7339e 21540 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
21541
d23af54e 21542 * util/hostdisk.c (open_device): Remove `const' from
21543 `sysctl_size', as sysctlbyname() can change it (in this case it
21544 doesn't actually happen).
21545
c94b18a9 21546 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
21547 using signed long int constants.
21548
c6cd3ef0 21549 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
21550 constant to avoid a warning on FreeBSD.
21551
0df63420 21552 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
21553 where it's needed.
21554
999577f1 21555 * Makefile.in: Install include/grub/machine symlink.
21556
6f41557f 21557 * Makefile.in: When installing symlinks, use "cp -fR", which
21558 works on FreeBSD and MacOSX.
21559 From Yves Blusseau <cl7m42e02@sneakemail.com>
21560
c8d22988 21561 * kern/dl.c (grub_dl_resolve_symbol): Make static.
21562 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
21563
1b96e952 21564 * util/misc.c: Move grub_reboot() and grub_halt() ...
21565 * util/grub-emu.c: ... here. Make main_env static.
21566 * include/grub/util/misc.h: Remove main_env.
21567
2ef0084d 21568 * kern/mm.c: Use correct format to print size_t.
21569
32622956 21570 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
21571 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
21572 * kern/powerpc/dl.c: Likewise.
21573 * kern/sparc64/dl.c: Likewise.
21574 * kern/x86_64/dl.c: Likewise.
21575
3f7f0cd0 215762009-07-01 Robert Millan <rmh.grub@aybabtu.com>
21577
21578 Fix grub-emu build on sparc64-ieee1275.
21579
75421ca9 21580 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 21581 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
21582
211d06b5 215832009-07-01 Robert Millan <rmh.grub@aybabtu.com>
21584
21585 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
21586 (grub_reboot, grub_halt): New functions.
21587
21588 * util/i386/pc/misc.c: Delete. Update all users.
21589 * util/sparc64/ieee1275/misc.c: Likewise.
21590 * util/powerpc/ieee1275/misc.c: Likewise.
21591
aaf53e3c 215922009-07-01 Robert Millan <rmh.grub@aybabtu.com>
21593
21594 * conf/i386.rmk (setjmp_mod_SOURCES)
21595 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
21596 * conf/common.rmk (setjmp_mod_SOURCES)
21597 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
21598 to use $(target_cpu).
21599 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
21600 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
21601 * conf/powerpc-ieee1275.rmk: Likewise.
21602 * conf/sparc64-ieee1275.rmk: Likewise.
21603
21604 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
21605 $(target_cpu) for kern/$(target_cpu)/dl.c.
21606 * conf/i386-efi.rmk: Likewise.
21607 * conf/i386-ieee1275.rmk: Likewise.
21608 * conf/x86_64-efi.rmk: Likewise.
21609 * conf/i386-coreboot.rmk: Likewise.
21610 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
21611 $(target_cpu) for kern/$(target_cpu)/dl.c and for
21612 kern/$(target_cpu)/cache.S.
21613 * conf/sparc64-ieee1275.rmk: Likewise.
21614
a337130b 216152009-07-01 Robert Millan <rmh.grub@aybabtu.com>
21616
21617 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
21618 type to `grub_uint8_t', and adjust `padding9' accordingly.
21619
c6fe4d53 216202009-06-29 Robert Millan <rmh.grub@aybabtu.com>
21621
b09db61d 21622 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
21623
c6fe4d53 21624 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
21625 assembly in final jump, using register constraints.
21626
b09db61d 21627 (grub_linux_boot): For text mode, initialize `have_vga' using
21628 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
21629
21630 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
21631 right before the final jump.
21632
21633 Set `video_mode' to 0x3.
21634
21635 Document initialization of `video_page', `video_mode' and
21636 `video_ega_bx'.
21637
28333ad0 216382009-06-29 Robert Millan <rmh.grub@aybabtu.com>
21639
21640 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
21641 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 21642 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 21643
02164e1b 216442009-06-29 Robert Millan <rmh.grub@aybabtu.com>
21645
21646 Fix build on Debian / sparc.
21647
21648 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
21649
18b6c557 216502009-06-28 Pavel Roskin <proski@gnu.org>
21651
85f2aab6 21652 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
21653 fix a warning.
21654
18b6c557 21655 * util/grub.d/10_linux.in: Match SUSE style initrd names.
21656
ad760f81 216572009-06-27 Robert Millan <rmh.grub@aybabtu.com>
21658
21659 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
21660 `err'.
21661
87a4623b 216622009-06-27 Robert Millan <rmh.grub@aybabtu.com>
21663
21664 Revert r2338.
21665
21666 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
21667 file can't be opened. grub_file_open() is already supposed to set
75421ca9 21668 grub_errno / grub_errmsg appropriately.
87a4623b 21669 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
21670
8231fb77 216712009-06-27 Pavel Roskin <proski@gnu.org>
216722009-06-27 Robert Millan <rmh.grub@aybabtu.com>
21673
21674 * include/grub/dl.h: Include grub/elf.h.
21675 (struct grub_dl): Add symtab field.
21676 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
21677 GRUB_MODULES_MACHINE_READONLY.
21678 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
21679 of the header for read-only modules.
21680 (grub_dl_unload): Free mod->symtab for read-only modules.
21681 * kern/i386/dl.c: Use mod->symtab.
21682 * kern/powerpc/dl.c: Likewise.
21683 * kern/sparc64/dl.c: Likewise.
21684 * kern/x86_64/dl.c: Likewise.
21685
21686 * conf/i386-qemu.rmk: New file.
21687 * kern/i386/qemu/startup.S: Likewise.
21688 * kern/i386/qemu/mmap.c: Likewise.
21689 * boot/i386/qemu/boot.S: Likewise.
21690 * include/grub/i386/qemu/time.h: Likewise.
21691 * include/grub/i386/qemu/serial.h: Likewise.
21692 * include/grub/i386/qemu/kernel.h: Likewise.
21693 * include/grub/i386/qemu/console.h: Likewise.
21694 * include/grub/i386/qemu/boot.h: Likewise.
21695 * include/grub/i386/qemu/init.h: Likewise.
21696 * include/grub/i386/qemu/machine.h: Likewise.
21697 * include/grub/i386/qemu/loader.h: Likewise.
21698 * include/grub/i386/qemu/memory.h: Likewise.
21699
21700 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
21701 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
21702 [qemu] (pkglib_IMAGES): Add `boot.img'.
21703 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
21704 [qemu] (boot_img_FORMAT): New variables.
21705 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
21706 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
21707 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
21708 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
21709 [qemu] (kernel_img_FORMAT): New variables.
21710
21711 * configure.ac: Recognise `i386-qemu'.
21712
21713 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
21714 (for no compression).
21715 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
21716 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
21717 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
21718 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
21719 ifdefs).
21720
97fe384e 217212009-06-27 Pavel Roskin <proski@gnu.org>
21722
21723 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
21724 read.
21725 * efiemu/prepare32.c: Likewise.
21726 * efiemu/prepare64.c: Likewise.
21727
c402ab17 217282009-06-26 Pavel Roskin <proski@gnu.org>
21729
21730 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
21731 * include/grub/elf.h: Define symbols without "32" or "64" based
21732 on GRUB_TARGET_WORDSIZE.
21733 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
21734 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
21735 ELF definitions.
21736 * efiemu/loadcore64.c: Likewise.
21737 * loader/i386/bsd32.c: Likewise.
21738 * loader/i386/bsd64.c: Likewise.
21739 * kern/dl.c: Remove own ELF definitions.
21740 * util/i386/efi/grub-mkimage.c: Likewise.
21741
9bbdfd4d 217422009-06-23 Robert Millan <rmh.grub@aybabtu.com>
21743
21744 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
21745 segment 0x0 unconditionally, because the reference generated by
21746 GAS is an absolute address.
21747
a42ce6e9 217482009-06-22 Robert Millan <rmh.grub@aybabtu.com>
21749
21750 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
21751 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
21752
c952cf92 217532009-06-22 Robert Millan <rmh.grub@aybabtu.com>
21754
21755 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
21756 indexes. Check for -f explicitly.
cc3752ad 21757 (search_file): Improve error message.
21758 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 21759
132a0a59 217602009-06-22 Robert Millan <rmh.grub@aybabtu.com>
21761
21762 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
21763 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
21764
387a140c 217652009-06-22 Robert Millan <rmh.grub@aybabtu.com>
21766
21767 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
21768 * conf/i386-ieee1275.rmk: Likewise.
21769 * conf/i386-coreboot.rmk: Likewise.
21770
21771 * kern/i386/pc/startup.S (grub_stop): Remove function.
21772 * kern/i386/ieee1275/startup.S: Likewise.
21773 * kern/i386/coreboot/startup.S: Likewise.
21774 * kern/i386/misc.S (grub_stop): New function.
21775
41da9665 217762009-06-22 Robert Millan <rmh.grub@aybabtu.com>
21777
21778 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
21779 * kern/i386/realmode.S (real_to_prot): ... to here.
21780
bf337234 217812009-06-22 Robert Millan <rmh.grub@aybabtu.com>
21782
21783 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
21784 with `kernel.img'.
21785 (kernel_elf_SOURCES): Rename to ...
21786 (kernel_img_SOURCES): ... this.
21787 (kernel_elf_HEADERS): Rename to ...
21788 (kernel_img_HEADERS): ... this. Update all users.
21789 (kernel_elf_ASFLAGS): Rename to ...
21790 (kernel_img_ASFLAGS): ... this.
21791 (kernel_elf_CFLAGS): Rename to ...
21792 (kernel_img_CFLAGS): ... this.
21793 (kernel_elf_LDFLAGS): Rename to ...
21794 (kernel_img_LDFLAGS): ... this.
21795 * conf/i386-coreboot.rmk: Likewise.
21796 * conf/powerpc-ieee1275.rmk: Likewise.
21797
21798 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
21799 with "kernel.img".
21800
f52196ff 218012009-06-21 Pavel Roskin <proski@gnu.org>
21802
c3cee413 21803 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
21804 to match nested functions.
21805 * loader/sparc64/ieee1275/linux.c: Likewise.
21806
f52196ff 21807 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
21808
58750afc 218092009-06-21 Robert Millan <rmh.grub@aybabtu.com>
21810
21811 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
21812 all i386 platforms.
21813
15355c7d 218142009-06-21 Robert Millan <rmh.grub@aybabtu.com>
21815
21816 Fix asm file handling on ELF, and remove workarounds.
21817
21818 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 21819 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 21820 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
21821 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
21822
3f3ec72b 218232009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
21824
21825 Load BSD ELF modules
21826
21827 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
21828 and loader/i386/bsd64.c
21829 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
21830 (FREEBSD_MODTYPE_ELF_MODULE): New definition
21831 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
21832 (grub_freebsd_load_elfmodule32): New declaration
21833 (grub_freebsd_load_elfmoduleobj64): Likewise
21834 (grub_freebsd_load_elf_meta32): Likewise
21835 (grub_freebsd_load_elf_meta64): Likewise
21836 (grub_freebsd_add_meta): Likewise
21837 (grub_freebsd_add_meta_module): Likewise
21838 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
21839 (grub_freebsd_add_meta_module): Likewise and move module-specific
21840 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
21841 (grub_cmd_freebsd): Add elf-kernel specific parts
21842 based on grub_freebsd_add_meta_module
21843 (grub_cmd_freebsd_module): Add type parsing moved from
21844 grub_freebsd_add_meta_module
21845 (grub_cmd_freebsd_module_elf): New function
21846 (cmd_freebsd_module_elf): New variable
21847 (GRUB_MOD_INIT): Register freebsd_module_elf
21848 * loader/i386/bsd32.c: New file
21849 * loader/i386/bsd64.c: Likewise
21850 * loader/i386/bsdXX.c: Likewise
21851 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
21852 (grub_elf64_load): Likewise
21853 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
21854 All users updated
21855 (grub_elf64_load_hook_t): Likewise
21856
0db15301 218572009-06-21 Colin Watson <cjwatson@ubuntu.com>
21858
21859 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
21860 variable.
21861 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
21862 don't write a menu entry for recovery mode.
21863
546796c1 218642009-06-20 Robert Millan <rmh.grub@aybabtu.com>
21865
21866 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
21867 after it's no longer needed.
21868
cd7310d5 218692009-06-20 Robert Millan <rmh.grub@aybabtu.com>
21870
21871 * include/grub/i386/loader.h (grub_linux_prot_size)
21872 (grub_linux_tmp_addr, grub_linux_real_addr)
21873 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
21874 GRUB_MACHINE_PCBIOS.
21875 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
21876 common grub_util_info() call to ...
21877 (generate_image): ... here.
21878 Fix use of uninitialized memory, comparison of signed with
21879 unsigned integers and memory leak.
21880 Remove bogus module address message.
21881
ab32d3b5 218822009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
21883
21884 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
21885 grub_raid_register
21886 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
21887
024ef597 218882009-06-19 Pavel Roskin <proski@gnu.org>
21889
21890 * configure.ac: Remove stray AC_MSG_CHECKING.
21891
3ac72b51 218922009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
21893
21894 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 21895
e14cd814 218962009-06-18 Pavel Roskin <proski@gnu.org>
21897
21898 * conf/common.rmk: Add fs_file.mod.
21899 * disk/fs_file.c: New file.
21900 * include/grub/disk.h (enum grub_disk_dev_id): Add
21901 GRUB_DISK_DEVICE_FILE_ID.
21902
26586d98 219032009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
21904
21905 Fix build with Apple's toolchain. Part 2
21906
21907 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
21908 a fake start
21909
26de2bcd 219102009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
21911
21912 Fix build with Apple's toolchain. Part 1
21913
21914 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
21915 for long calls
21916 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 21917 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 21918 Apple's toolchain
21919
09b3490b 219202009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
21921
21922 Fix warnings
21923
21924 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
21925 (decomp_block): initialize ch
21926 use grub_memcpy instead of memcpy
21927
c22a006a 219282009-06-17 Pavel Roskin <proski@gnu.org>
21929
d3638678 21930 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
21931 version, use declarations needed to use vga_text as the startup
21932 console.
21933
c22a006a 21934 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
21935 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
21936 the kernel.
21937 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
21938 and grub_at_keyboard_fini(), it's done on module load and
21939 unload.
21940
05b129e0 219412009-06-17 Felix Zielcke <fzielcke@z-51.de>
21942
21943 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
21944 file can't be found.
21945 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
21946
cf24ed9e 219472009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
21948
21949 Fix newline handling
21950
21951 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 21952 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 21953 (grub_script_yylex): don't segfault on unterminated script
21954 newline terminates command and variable
21955
74aa8e4b 219562009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
21957
21958 avoid double grub_adjust_range call. Bug reported by David Simner
21959
21960 * kern/disk.c (grub_disk_write): change to raw disk access before
21961 calling disk_read
21962
1bd265f3 219632009-06-17 Colin Watson <cjwatson@ubuntu.com>
21964
21965 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
21966 spaces, for the benefit of help2man.
21967 * util/i386/efi/grub-mkimage.c (usage): Likewise.
21968
a2d08c06 219692009-06-16 Pavel Roskin <proski@gnu.org>
21970
21971 * kern/i386/halt.c: Include grub/machine/init.h.
21972 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
21973
b97bcb19 219742009-06-16 Felix Zielcke <fzielcke@z-51.de>
21975
21976 * util/grub.d/30_os-prober.in: Use ${root} in the generated
21977 drivemap menuentry.
21978
0644f96c 219792009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
21980
21981 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
21982 `echo' command.
21983
3ef17a2e 219842009-06-16 Pavel Roskin <proski@gnu.org>
21985
21986 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
21987 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
21988 save %dx, we only need %dl and we never change it.
21989 * boot/i386/pc/cdboot.S: Don't set the root drive.
21990 * boot/i386/pc/pxeboot.S: Likewise.
21991 * include/grub/i386/pc/boot.h: Remove
21992 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
21993 GRUB_BOOT_MACHINE_DRIVE_CHECK.
21994 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
21995 * kern/i386/pc/init.c (make_install_device): Remove references
21996 to grub_root_drive.
21997 * kern/i386/pc/startup.S: Likewise.
21998 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
21999
693fe637 220002009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
22001
22002 xnu_uuid command
22003
22004 * commands/xnu_uuid.c: new file
22005 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
22006 (xnu_uuid_mod_SOURCES): new variable
22007 (xnu_uuid_mod_CFLAGS): likewise
22008 (xnu_uuid_mod_LDFLAGS): likewise
22009 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
22010 * conf/i386-ieee1275.rmk: likewise
22011 * conf/i386-pc.rmk: likewise
22012 * conf/powerpc-ieee1275.rmk: likewise
22013 * conf/sparc64-ieee1275.rmk: likewise
22014 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
22015
c9da87d0 220162009-06-16 Pavel Roskin <proski@gnu.org>
22017
22018 * configure.ac: Avoid '==' in test command, it's not portable.
22019
9c6f4596 220202009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
22021
22022 Probe command
22023
22024 * commands/probe.c: new file
22025 * conf/common.rmk (pkglib_MODULES): add probe.mod
22026 (probe_mod_SOURCES): new variable
22027 (probe_mod_CFLAGS): likewise
22028 (probe_mod_LDFLAGS): likewise
22029 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
22030 * conf/i386-ieee1275.rmk: likewise
22031 * conf/i386-pc.rmk: likewise
22032 * conf/powerpc-ieee1275.rmk: likewise
22033 * conf/sparc64-ieee1275.rmk: likewise
22034
70b7f9fd 220352009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
22036
22037 Fix handling of string like \"hello\" and "a
22038 b"
22039
22040 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
22041 (grub_script_yylex): fix parsing of quoting, escaping and newline
22042
71c79a6b 220432009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
22044
dd74360c 22045 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 22046 handling
dd74360c 22047
0644f96c 220482009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 22049
22050 * util/grub-mkconfig.in: Fix parsing of --output option.
22051
e40893c3 220522009-06-12 Pavel Roskin <proski@gnu.org>
22053
22054 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
22055 genmk.rb don't need to be generated or installed.
22056
3a1acfe2 220572009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22058
22059 * commands/i386/pc/drivemap_int13h.S: add more comments
22060
3a4575d4 220612009-06-11 Pavel Roskin <proski@gnu.org>
22062
0658e928 22063 * Makefile.in (uninstall): Uninstall manuals.
22064
ca0388f0 22065 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
22066 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
22067 and update-grub_lib in two places.
22068 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
22069
e3b27c39 22070 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
22071 a compiler warning.
22072
3a4575d4 22073 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
22074 `entry_lo' to fix variable shadowing.
22075
af1f4f55 220762009-06-11 Christian Franke <franke@computer.org>
22077
22078 * kern/misc.c (__enable_execute_stack): Add missing return type
22079 to prevent gcc warning.
22080
5225e649 220812009-06-11 Felix Zielcke <fzielcke@z-51.de>
22082
22083 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
22084
7d83bd47 220852009-06-11 Pavel Roskin <proski@gnu.org>
22086
c1cb63ba 22087 * Makefile.in: Don't rely on any scripts being executable.
22088 Always use $(SHELL) to run shell scripts.
22089
7d83bd47 22090 * configure.ac: Always define ___main if using -nostdlib. This
22091 fixes tests on Cygwin.
22092
948f48e7 220932009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
22094
22095 UDF fix
22096
7d83bd47 22097 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 22098 is in bytes and not in blocks
7d83bd47 22099
8ada9bc1 221002009-06-11 Pavel Roskin <proski@gnu.org>
22101
22102 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
22103 warning.
22104
25ad2323 221052009-06-11 Felix Zielcke <fzielcke@z-51.de>
22106
22107 * util/grub.d/30_os-prober.in: Fix a comment. Source
22108 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
22109 to set the root device. Place drivemap command in the generated
22110 chain entry.
22111
e65acb0c 221122009-06-11 Pavel Roskin <proski@gnu.org>
22113
22114 * configure.ac: Remove host_m32. Issues with 64-bit utilities
22115 have long been resolved.
22116
f285fe2d 221172009-06-11 Colin Watson <cjwatson@ubuntu.com>
22118
bd47b0b5 22119 * util/grub.d/10_linux.in: Capitalise "Linux".
22120
f285fe2d 22121 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
22122
a0c62e4e 221232009-06-11 Pavel Roskin <proski@gnu.org>
22124
b6783cb2 22125 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
22126 fix a gcc warning and ensure that the function won't ever exit.
22127
dde032e8 22128 * kern/i386/ieee1275/init.c: Add missing prototype for
22129 grub_stop_floppy().
22130
22cd079d 22131 * loader/ieee1275/multiboot2.c [__i386__]: Include
22132 grub/cpu/multiboot.h.
22133
a0c62e4e 22134 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
22135 casts to short - they are not portable and cause warnings. Fix
22136 use of uninitialized values in input_buf. Use ARRAY_SIZE.
22137
63963d17 221382009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
22139
22140 Drivemap fixes
22141
22142 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
22143 new function
22144 (grub_get_root_biosnumber_saved): new variable
22145 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
22146 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 22147 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 22148 %dx after the call if necessary
22149 * conf/common.rmk (pkglib_MODULES): remove boot.mod
22150 (boot_mod_SOURCES): remove
22151 (boot_mod_CFLAGS): remove
22152 (boot_mod_LDFLAGS): remove
22153 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
22154 (boot_mod_SOURCES): new variable
22155 (boot_mod_CFLAGS): likewise
22156 (boot_mod_LDFLAGS): likewise
22157 * conf/i386-efi.rmk: likewise
22158 * conf/i386-ieee1275.rmk: likewise
22159 * conf/i386-pc.rmk: likewise
22160 * conf/powerpc-ieee1275.rmk: likewise
22161 * conf/sparc64-ieee1275.rmk: likewise
22162 * conf/x86_64-efi.rmk: likewise
22163 * include/grub/i386/pc/biosnum.h: new file
22164 * lib/i386/pc/biosnum.c: likewise
22165 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
22166 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
22167 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 22168
33abf7ae 221692009-06-10 Pavel Roskin <proski@gnu.org>
22170
5ac35b35 22171 * io/gzio.c (test_header): Don't reuse one buffer for all data.
22172 Use separate variables. Read only the file size at the end, but
22173 not the checksum that we don't use.
22174
5c5215d5 22175 * kern/file.c (grub_file_read): Use void pointer for the buffer.
22176 Adjust all callers.
22177
27d5fef7 22178 * kern/ieee1275/openfw.c: Remove libc includes.
22179 * kern/ieee1275/cmain.c: Likewise.
22180 * include/grub/ieee1275/ieee1275.h: Likewise.
22181
33abf7ae 22182 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
22183 compiler warnings.
22184
19d50c2b 221852009-06-10 Felix Zielcke <fzielcke@z-51.de>
22186
22187 * Makefile.in: Remove all trailing whitespace.
22188 * conf/i386-pc.rmk: Likewise.
22189 * conf/powerpc-ieee1275.rmk: Likewise.
22190 * conf/sparc64-ieee1275.rmk: Likewise.
22191 * docs/grub.texi: Likewise.
22192 * docs/texinfo.tex: Likewise.
22193 * disk/fs_uuid.c: Likewise.
22194 * disk/lvm.c: Likewise.
22195 * disk/scsi.c: Likewise.
22196 * disk/ata.c: Likewise.
22197 * disk/ieee1275/ofdisk.c: Likewise.
22198 * disk/i386/pc/biosdisk.c: Likewise.
22199 * disk/host.c: Likewise.
22200 * disk/raid.c: Likewise.
22201 * disk/efi/efidisk.c: Likewise.
22202 * disk/usbms.c: Likewise.
22203 * disk/memdisk.c: Likewise.
22204 * disk/loopback.c: Likewise.
22205 * kern/powerpc/dl.c: Likewise.
22206 * kern/device.c: Likewise.
22207 * kern/dl.c: Likewise.
22208 * kern/sparc64/dl.c: Likewise.
22209 * kern/ieee1275/ieee1275.c: Likewise.
22210 * kern/term.c: Likewise.
22211 * kern/fs.c: Likewise.
22212 * kern/i386/dl.c: Likewise.
22213 * kern/i386/pc/startup.S: Likewise.
22214 * kern/i386/pc/init.c: Likewise.
22215 * kern/i386/pc/mmap.c: Likewise.
22216 * kern/i386/pc/lzo1x.S: Likewise.
22217 * kern/i386/ieee1275/init.c: Likewise.
22218 * kern/i386/realmode.S: Likewise.
22219 * kern/i386/tsc.c: Likewise.
22220 * kern/partition.c: Likewise.
22221 * kern/corecmd.c: Likewise.
22222 * kern/file.c: Likewise.
22223 * kern/efi/efi.c: Likewise.
22224 * kern/efi/init.c: Likewise.
22225 * kern/efi/mm.c: Likewise.
22226 * kern/main.c: Likewise.
22227 * kern/err.c: Likewise.
22228 * kern/env.c: Likewise.
22229 * kern/disk.c: Likewise.
22230 * kern/generic/millisleep.c: Likewise.
22231 * kern/generic/rtc_get_time_ms.c: Likewise.
22232 * kern/misc.c: Likewise.
22233 * kern/parser.c: Likewise.
22234 * genmk.rb: Likewise.
22235 * configure.ac: Likewise.
22236 * boot/i386/pc/diskboot.S: Likewise.
22237 * boot/i386/pc/pxeboot.S: Likewise.
22238 * boot/i386/pc/boot.S: Likewise.
22239 * boot/i386/pc/lnxboot.S: Likewise.
22240 * boot/i386/pc/cdboot.S: Likewise.
22241 * parttool/pcpart.c: Likewise.
22242 * video/readers/tga.c: Likewise.
22243 * video/video.c: Likewise.
22244 * video/bitmap.c: Likewise.
22245 * lib/envblk.c: Likewise.
22246 * lib/i386/setjmp.S: Likewise.
22247 * fs/xfs.c: Likewise.
22248 * fs/afs.c: Likewise.
22249 * fs/fat.c: Likewise.
22250 * fs/ntfs.c: Likewise.
22251 * fs/udf.c: Likewise.
22252 * fs/affs.c: Likewise.
22253 * fs/iso9660.c: Likewise.
22254 * fs/hfs.c: Likewise.
22255 * fs/fshelp.c: Likewise.
22256 * fs/ext2.c: Likewise.
22257 * fs/jfs.c: Likewise.
22258 * fs/reiserfs.c: Likewise.
22259 * fs/hfsplus.c: Likewise.
22260 * fs/minix.c: Likewise.
22261 * fs/cpio.c: Likewise.
22262 * fs/sfs.c: Likewise.
22263 * fs/ufs.c: Likewise.
22264 * efiemu/prepare.c: Likewise.
22265 * efiemu/loadcore_common.c: Likewise.
22266 * efiemu/runtime/efiemu.sh: Likewise.
22267 * efiemu/runtime/efiemu.S: Likewise.
22268 * efiemu/runtime/efiemu.c: Likewise.
22269 * efiemu/pnvram.c: Likewise.
22270 * efiemu/main.c: Likewise.
22271 * efiemu/i386/pc/cfgtables.c: Likewise.
22272 * efiemu/i386/loadcore64.c: Likewise.
22273 * efiemu/i386/loadcore32.c: Likewise.
22274 * efiemu/loadcore.c: Likewise.
22275 * efiemu/symbols.c: Likewise.
22276 * efiemu/mm.c: Likewise.
22277 * include/grub/autoefi.h: Likewise.
22278 * include/grub/datetime.h: Likewise.
22279 * include/grub/term.h: Likewise.
22280 * include/grub/hfs.h: Likewise.
22281 * include/grub/lvm.h: Likewise.
22282 * include/grub/i386/tsc.h: Likewise.
22283 * include/grub/i386/linux.h: Likewise.
22284 * include/grub/i386/xnu.h: Likewise.
22285 * include/grub/i386/efiemu.h: Likewise.
22286 * include/grub/i386/pc/biosdisk.h: Likewise.
22287 * include/grub/i386/pc/memory.h: Likewise.
22288 * include/grub/i386/pc/vbe.h: Likewise.
22289 * include/grub/parttool.h: Likewise.
22290 * include/grub/video.h: Likewise.
22291 * include/grub/memory.h: Likewise.
22292 * include/grub/fs.h: Likewise.
22293 * include/grub/partition.h: Likewise.
22294 * include/grub/xnu.h: Likewise.
22295 * include/grub/efi/api.h: Likewise.
22296 * include/grub/efi/pe32.h: Likewise.
22297 * include/grub/efi/memory.h: Likewise.
22298 * include/grub/multiboot.h: Likewise.
22299 * include/grub/usbdesc.h: Likewise.
22300 * include/grub/multiboot2.h: Likewise.
22301 * include/grub/acpi.h: Likewise.
22302 * include/grub/efiemu/efiemu.h: Likewise.
22303 * include/grub/disk.h: Likewise.
22304 * include/grub/ieee1275/ieee1275.h: Likewise.
22305 * include/grub/net.h: Likewise.
22306 * include/grub/machoload.h: Likewise.
22307 * include/grub/macho.h: Likewise.
22308 * include/multiboot.h: Likewise.
22309 * genmoddep.awk: Likewise.
22310 * normal/main.c: Likewise.
22311 * normal/menu_entry.c: Likewise.
22312 * normal/menu_viewer.c: Likewise.
22313 * normal/completion.c: Likewise.
22314 * normal/cmdline.c: Likewise.
22315 * normal/misc.c: Likewise.
22316 * normal/datetime.c: Likewise.
22317 * bus/usb/usbtrans.c: Likewise.
22318 * bus/usb/ohci.c: Likewise.
22319 * bus/usb/uhci.c: Likewise.
22320 * bus/usb/usb.c: Likewise.
22321 * mmap/efi/mmap.c: Likewise.
22322 * mmap/i386/pc/mmap_helper.S: Likewise.
22323 * mmap/i386/pc/mmap.c: Likewise.
22324 * mmap/i386/mmap.c: Likewise.
22325 * mmap/i386/uppermem.c: Likewise.
22326 * mmap/mmap.c: Likewise.
22327 * commands/acpi.c: Likewise.
22328 * commands/echo.c: Likewise.
22329 * commands/blocklist.c: Likewise.
22330 * commands/loadenv.c: Likewise.
22331 * commands/usbtest.c: Likewise.
22332 * commands/boot.c: Likewise.
22333 * commands/parttool.c: Likewise.
22334 * commands/search.c: Likewise.
22335 * commands/cat.c: Likewise.
22336 * commands/i386/pc/play.c: Likewise.
22337 * commands/i386/pc/drivemap.c: Likewise.
22338 * commands/i386/pc/vbeinfo.c: Likewise.
22339 * commands/i386/pc/acpi.c: Likewise.
22340 * commands/i386/pc/vbetest.c: Likewise.
22341 * commands/ls.c: Likewise.
22342 * commands/cmp.c: Likewise.
22343 * commands/test.c: Likewise.
22344 * commands/efi/acpi.c: Likewise.
22345 * commands/gptsync.c: Likewise.
22346 * commands/help.c: Likewise.
22347 * partmap/amiga.c: Likewise.
22348 * partmap/apple.c: Likewise.
22349 * partmap/acorn.c: Likewise.
22350 * partmap/pc.c: Likewise.
22351 * partmap/sun.c: Likewise.
22352 * partmap/gpt.c: Likewise.
22353 * script/sh/lexer.c: Likewise.
22354 * script/sh/function.c: Likewise.
22355 * font/font.c: Likewise.
22356 * font/font_cmd.c: Likewise.
22357 * loader/powerpc/ieee1275/linux.c: Likewise.
22358 * loader/efi/chainloader.c: Likewise.
22359 * loader/multiboot_loader.c: Likewise.
22360 * loader/macho.c: Likewise.
22361 * loader/i386/multiboot.c: Likewise.
22362 * loader/i386/linux.c: Likewise.
22363 * loader/i386/pc/linux.c: Likewise.
22364 * loader/i386/pc/multiboot2.c: Likewise.
22365 * loader/i386/pc/chainloader.c: Likewise.
22366 * loader/i386/pc/xnu.c: Likewise.
22367 * loader/i386/bsd_trampoline.S: Likewise.
22368 * loader/i386/efi/linux.c: Likewise.
22369 * loader/i386/multiboot_elfxx.c: Likewise.
22370 * loader/i386/bsd_helper.S: Likewise.
22371 * loader/i386/bsd.c: Likewise.
22372 * loader/i386/linux_trampoline.S: Likewise.
22373 * loader/i386/xnu_helper.S: Likewise.
22374 * loader/i386/xnu.c: Likewise.
22375 * loader/i386/bsd_pagetable.c: Likewise.
22376 * loader/i386/multiboot_helper.S: Likewise.
22377 * loader/xnu.c: Likewise.
22378 * loader/xnu_resume.c: Likewise.
22379 * io/gzio.c: Likewise.
22380 * term/efi/console.c: Likewise.
22381 * term/terminfo.c: Likewise.
22382 * term/ieee1275/ofconsole.c: Likewise.
22383 * term/i386/pc/serial.c: Likewise.
22384 * term/i386/pc/vesafb.c: Likewise.
22385 * term/i386/pc/vga.c: Likewise.
22386 * term/usb_keyboard.c: Likewise.
22387 * term/gfxterm.c: Likewise.
22388 * aclocal.m4: Likewise.
22389 * util/lvm.c: Likewise.
22390 * util/grub.d/30_os-prober.in: Likewise.
22391 * util/grub.d/10_hurd.in: Likewise.
22392 * util/console.c: Likewise.
22393 * util/grub-macho2img.c: Likewise.
22394 * util/grub-probe.c: Likewise.
22395 * util/hostfs.c: Likewise.
22396 * util/i386/pc/grub-mkimage.c: Likewise.
22397 * util/i386/pc/grub-setup.c: Likewise.
22398 * util/i386/efi/grub-mkimage.c: Likewise.
22399 * util/grub-mkconfig.in: Likewise.
22400 * util/raid.c: Likewise.
22401 * util/resolve.c: Likewise.
22402 * util/grub-mkdevicemap.c: Likewise.
22403 * util/grub-emu.c: Likewise.
22404 * util/getroot.c: Likewise.
22405 * util/hostdisk.c: Likewise.
22406 * util/usb.c: Likewise.
22407 * util/grub-editenv.c: Likewise.
22408 * util/misc.c: Likewise.
22409
d2d49665 224102009-06-10 Felix Zielcke <fzielcke@z-51.de>
22411
22412 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
22413 `genparttoollist.sh'.
22414 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
22415 Add `*.sh' to the list find searches for and change `mdate.sh'
22416 to `mdate-sh'.
22417
fe052e37 224182009-06-10 Pavel Roskin <proski@gnu.org>
22419
2763ac18 22420 * include/grub/multiboot2.h: Provide compatibility defines for
22421 multiboot2.h.
22422 * include/multiboot2.h: Include stdint.h only if needed, using
22423 angle brackets.
22424 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
22425 grub/multiboot2.h.
22426 * loader/ieee1275/multiboot2.c: Likewise.
22427 * loader/multiboot2.c: Likewise.
22428 * loader/multiboot_loader.c: Likewise.
22429
437e6adc 22430 * configure.ac: Use -nostdlib when probing for the target. It
22431 should not be required to have libc for the target.
22432
06a6836c 22433 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
22434 they fail without libc headers for the target.
22435 * include/grub/powerpc/libgcc.h: Use weak attribute for all
22436 exports.
22437 * include/grub/sparc64/libgcc.h: Likewise. Don't use
22438 preprocessor conditionals.
22439
fe052e37 22440 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
22441 build system doesn't need to be aware of the tar.c internals.
22442
afd22553 224432009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 22444
afd22553 22445 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 22446
6b787c4f 224472009-06-09 Robert Millan <rmh.grub@aybabtu.com>
22448
22449 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
22450 disk limit to 26 for IDE, Virtio, Xen and SCSI.
22451
224522009-06-09 Felix Zielcke <fzielcke@z-51.de>
22453
22454 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 22455 aren't available if ata.mod gets used.
6b787c4f 22456
473d1e45 224572009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 22458
473d1e45 22459 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 22460 initialising controller.
473d1e45 22461 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 22462
255a27d4 224632009-06-08 Felix Zielcke <fzielcke@z-51.de>
22464
22465 * util/i386/pc/grub-install.in: Add a parameter --disk-module
22466 to choose between ata and biosdisk module on i386-pc.
22467
473d1e45 224682009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 22469
d55842d8 22470 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
22471 Subclass and Programming Interface fields in terms of the 3 byte
22472 Class Code register.
22473 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
22474
fa5db0b1 22475 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
22476 interface is OHCI. Add grub_dprintf for symmetry with
22477 bus/usb/uhci.c.
22478 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
22479 interface is UHCI. Add interf variable for programming
22480 interface. Print interface with class/subclass.
22481
c0947beb 22482 * bus/usb/ohci.c: Set interf with correct field.
22483
69da8877 22484 * bus/usb/uhci.c: Remove unneeded doubled lines.
22485 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
22486 Remove whitespace inside comment.
22487
9e172e30 224882009-06-08 Robert Millan <rmh.grub@aybabtu.com>
22489
22490 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
22491 as fallback an equivalent option without depth.
22492
de65ee2b 224932009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
22494
22495 Not fail if unable to retrieve C/H/S on LBA disks
22496
473d1e45 22497 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 22498 if unable to retrieve C/H/S on LBA disks
22499
b57ea2c9 225002009-06-08 Pavel Roskin <proski@gnu.org>
22501
22502 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
22503 about aliasing.
22504
af361263 225052009-06-08 Felix Zielcke <fzielcke@z-51.de>
22506
22507 * Makefile.in (uninstall): Remove all $lib_DATA files.
22508
4c9ec6b3 225092009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
22510
22511 Bugfix: install on partitionless device
22512
22513 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
22514 is a whole disk
22515
e76fc924 225162009-06-08 Felix Zielcke <fzielcke@z-51.de>
22517
22518 * Makefile.in (uninstall): Remove all $include_DATA files.
22519
ba5a0d05 225202009-06-08 Felix Zielcke <fzielcke@z-51.de>
22521
22522 * commands/true.c: New file. Implement the true and false commands.
22523 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
22524 (true_mod_SOURCES): New variable.
22525 (true_mod_CFLAGS): Likewise.
22526 (true_mod_LDFLAGS): Likewise.
22527
c8048e32 225282009-06-05 Colin D Bennett <colin@gibibit.com>
22529
22530 Optimized font character lookup using binary search instead of linear
22531 search. Fonts now are required to have the character index ordered by
22532 code point.
22533
22534 * font/font.c (load_font_index): Verify that fonts have ordered
22535 character indices.
22536 (find_glyph): Use binary search instead of linear search to find a
22537 character in a font.
22538
408305be 225392009-06-05 Michael Scherer <misc@mandriva.org>
22540
22541 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
22542 uses case sensitive btree.
22543 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
22544 only for case insensitive filesystems.
22545
8ee1e0d9 225462009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
22547
22548 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
22549 * conf/common.rmk (search_mod_CFLAGS): likewise
22550
a9966eb1 225512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22552
473d1e45 22553 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 22554 compensate a compiler bug
22555
9e7100fb 225562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22557
473d1e45 22558 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 22559 instead of '\b'
473d1e45 22560
ede21d71 225612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22562
22563 Definitions for creating asm symbols with Apple's CC
22564
22565 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
22566 [APPLE_CC] (VARIABLE): likewise
22567
9dbf7653 225682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22569
22570 Disable lnxboot.img when compiled
22571 with Apple's CC
22572
22573 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
22574 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
22575 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
22576 [! APPLE_CC] (CODE_LENG): skip
22577 [! APPLE_CC] (setup_sects): likewise
22578 [! APPLE_CC]: skip filling
473d1e45 22579
e93cdc3d 225802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22581
22582 Address in trampolines based on 32-bit registers when compiled
22583 with Apple's CC
22584
473d1e45 22585 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 22586 for addresses
22587 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
22588
6c688477 225892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22590
22591 Avoid aliases when compiling with Apple's CC for PCBIOS machine
22592
22593 * kern/misc.c [APPLE_CC] (memcpy): new function
22594 [APPLE_CC] (memmove): likewise
22595 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 22596 (memcpy): define alias conditionally on !APPLE_CC
6c688477 22597 (memset): likewise
22598 (abort): likewise
22599 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
22600 APPLE_CC are defined
22601 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
22602 (grub_assert_fail): make prototype conditional
22603
e37ffc5c 226042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22605
22606 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
22607
473d1e45 22608 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
22609 grub-macho2img
e37ffc5c 22610 (CLEANFILES): add grub-macho2img
22611 (grub_macho2img_SOURCES): new variable
22612 * kern/i386/pc/startup.S (bss_start): new variable
22613 (bss_end): likewise
22614 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
22615 * util/grub-macho2img.c: new file
22616
cf00df31 226172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22618
22619 Use objconv when compiling with Apple's CC
22620
22621 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
22622 (efiemu64.o): likewise
22623 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
22624 when compiling with Apple's CC
22625 (efiemu64_s.o): likewise
22626 * configure.ac: check for objconv when compiling with Apple's CC
22627 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 22628
d119a20c 226292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22630
22631 Define segment as well as section when compiling with
22632 Apple's CC
22633
22634 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
22635 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
22636 (efiemu_convert_pointer): likewise
22637 (efiemu_set_virtual_address_map): likewise
22638 (efiemu_convert_pointer): likewise
22639 (efiemu_getcrc32): likewise
22640 (init_crc32_table): likewise
22641 (reflect): likewise
22642 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
22643 (GRUB_MOD_DEP): likewise
473d1e45 22644
c8600122 226452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22646
22647 Allow a compilation without -mcmodel=large
22648
22649 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
22650 when compiled without -mcmodel=large
473d1e45 22651 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 22652 without -mcmodel=large
473d1e45 22653 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 22654 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 22655
e8df1d4e 226562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22657
22658 Remove nested functions in efiemu core
22659
22660 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 22661
cc6c3ac1 226622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22663
22664 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
22665
22666 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
22667 temporary storage
473d1e45 22668 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
22669 using Apple's CC
cc6c3ac1 22670 (grub_cpu_is_tsc_supported): likewise
22671 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 22672
3e325901 226732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22674
22675 Absolute addressing through constant with Apple's cc
22676
22677 * kern/i386/pc/startup.S: Define necessary constants
22678 and address through it when using ABS with Apple's CC
22679 * boot/i386/pc/diskboot.S: likewise
22680 * boot/i386/pc/boot.S: likewise
22681 * boot/i386/pc/lnxboot.S: likewise
22682 * boot/i386/pc/cdboot.S: likewise
22683 * mmap/i386/pc/mmap_helper.S: likewise
22684 * commands/i386/pc/drivemap_int13h.S: likewise
22685
2b167a72 226862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22687
22688 Check if compiler is apple cc
22689
22690 * Makefile.in (ASFLAGS): new variable
22691 (TARGET_ASFLAGS): likewise
22692 (TARGET_MODULE_FORMAT): likewise
22693 (TARGET_APPLE_CC): likewise
22694 (OBJCONV): likewise
22695 (TARGET_IMG_CFLAGS): likewise
22696 (TARGET_CPPFLAGS): add includedir
22697 * configure.ac: call grub_apple_cc and grub_apple_target_cc
22698 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
22699 Check for linker script only if compiler isn't Apple's CC
22700 (TARGET_MODULE_FORMAT): set
22701 (TARGET_APPLE_CC): likewise
22702 (TARGET_ASFLAGS): likewise
22703 (ASFLAGS): likewise
22704 Check for objcopy only if compiler isn't Apple's CC
22705 Check for BSS symbol only if compiler isn't Apple's CC
22706 * genmk.rb: adapt nm options if we use Apple's utils
22707 * aclocal.m4 (grub_apple_cc): new test
22708 (grub_apple_target_cc): likewise
473d1e45 22709
fb14123e 227102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22711
22712 Simplify sed expressions and improve awk
22713
22714 * Makefile.in (install-local): simplify sed expression
22715 * gencmdlist.sh: likewise
22716 * genmoddep.awk: avoid adding module as a dependency of itself
22717
5b889789 227182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22719
22720 Add missing start symbols
22721
22722 * boot/i386/pc/boot.S: add start
fb14123e 22723 * boot/i386/pc/pxeboot.S: likewise
473d1e45 22724
fd2bf2e3 227252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22726
22727 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 22728
22729 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 22730 (relocate_addresses): consider both r_addend and value at offset
22731 (make_mods_section): zerofill modinfo and header
22732 (convert_elf): write prefix here
473d1e45 22733
5389763d 227342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22735
22736 Use .asciz instead of .string
22737
22738 * i386/pc/diskboot.S: use .asciz instead of .string
22739 * i386/pc/boot.S: likewise
22740 * include/grub/dl.h (GRUB_MOD_DEP): likewise
22741 (GRUB_MOD_NAME): likewise
473d1e45 22742
3eb5ed4e 227432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22744
22745 gfxpayload support
22746
22747 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
22748 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
22749 (grub_video_setup): remove
22750 (grub_video_set_mode): new prototype
22751 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
22752 (vid_mode): remove
22753 (linux_vesafb_res): compile only on PCBIOS
22754 (grub_linux_boot): support gfxpayload
22755 * loader/i386/pc/xnu.c (video_hook): new function
22756 (grub_xnu_set_video): support gfxpayload
22757 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
22758 (DEFAULT_VIDEO_HEIGHT): likewise
22759 (DEFAULT_VIDEO_FLAGS): likewise
22760 (DEFAULT_VIDEO_MODE): new definition
22761 (video_hook): new function
22762 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 22763 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 22764 loading xnu
22765 * video/video.c (grub_video_setup): removed
473d1e45 22766 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 22767 grub_video_setup
22768
4b0e1143 227692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22770
22771 Avoid calling biosdisk in drivemap
22772
22773 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
22774 (revparse_biosdisk): likewise
22775 (list_mappings): derive name from id directly
22776 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 22777
fda6cb98 227782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22779
22780 Script fixes
22781
22782 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
22783 (grub_lexer_param): add tokenonhold
22784 (grub_script_create_cmdline): remove cmdline. All callers updated
22785 (grub_script_function_create): make functionname
22786 grub_script_arg. All callers updated
22787 (grub_script_execute_argument_to_string): new prototype
22788 * kern/parser.c (state_transitions): reorder
22789 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 22790 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 22791 make global
22792 (grub_script_execute_cmdline): use new format
22793 * script/sh/function.c (grub_script_function_create): make functionname
22794 grub_script_arg. All callers updated
473d1e45 22795 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 22796 (grub_script_yylex): remove
22797 (grub_script_yylex2): renamed to ...
22798 (grub_script_yylex): ...renamed
22799 parse the expressions like a${b}c
22800 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
22801 (GRUB_PARSER_TOKEN_VAR): remove
22802 (GRUB_PARSER_TOKEN_NAME): likewise
22803 ("if"): declare as typeless
22804 ("while"): likewise
22805 ("function"): likewise
22806 ("else"): likewise
22807 ("then"): likewise
22808 ("fi"): likewise
22809 (text): remove
22810 (argument): likewise
22811 (script): accept empty scripts and make exit on error
22812 (arguments): use GRUB_PARSER_TOKEN_ARG
22813 (function): likewise
22814 (command): move error handling to script
22815 (menuentry): move grub_script_lexer_ref before
473d1e45 22816 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 22817 argument. All callers updated
22818
f4448a07 228192009-06-04 Robert Millan <rmh.grub@aybabtu.com>
22820
22821 Prevent GRUB from probing floppies during boot.
22822
22823 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
22824 * commands/search.c (options): Add --no-floppy.
22825 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
22826 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
22827 --no-floppy when searching for UUIDs.
22828
2bf5885a 228292009-06-04 Robert Millan <rmh.grub@aybabtu.com>
22830
22831 Simplify the code duplication in commands/search.c.
22832
22833 * commands/search.c (search_label, search_fs_uuid): Merge into ...
22834 (search_fs): ... this. Update all users.
22835
f6fd460a 228362009-06-03 Felix Zielcke <fzielcke@z-51.de>
22837
22838 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
22839
cbb3c83e 228402009-05-28 Pavel Roskin <proski@gnu.org>
22841
57788cfd 22842 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
22843 Remove the original symlink explicitly.
22844
cbb3c83e 22845 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
22846 just one slash. That's how grub_fshelp_find_file() does it.
22847
cd0d5e30 228482009-05-26 Pavel Roskin <proski@gnu.org>
22849
f0f8bbe2 22850 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
22851 to `str'.
22852
cd0d5e30 22853 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
22854 possibly unused.
22855
8c2cab51 228562009-05-25 Christian Franke <franke@computer.org>
22857
22858 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
22859 register.
22860 (grub_atapi_identify): Add wait after drive select.
22861 (grub_ata_identify): Do more strict status register check before
22862 calling grub_atapi_identify (). Suppress error message if status
22863 register is 0x00 after command failure. Add status register
22864 check after PIO read to avoid bogus identify due to stuck DRQ.
22865 Thanks to Pavel Roskin for testing.
22866 (grub_device_initialize): Remove unsafe status register check.
22867 Thanks to 'phcoder' for problem report and patch.
22868 Prevent sign extension in debug message.
22869
230c0ad6 228702009-05-23 Colin D Bennett <colin@gibibit.com>
22871
22872 Cleaned up `include/grub/normal.h'. Grouped prototypes by
22873 definition file, and functions defined in `normal/menu.c' have had
22874 their prototypes moved to `include/grub/menu.h' for consistency.
22875
22876 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
22877 from normal.h.
22878 (grub_menu_get_entry): Likewise.
22879 (grub_menu_get_timeout): Likewise.
22880 (grub_menu_set_timeout): Likewise.
22881 (grub_menu_execute_entry): Likewise.
22882 (grub_menu_execute_with_fallback): Likewise.
22883 (grub_menu_entry_run): Likewise.
22884
22885 * include/grub/normal.h: Re-ordered and grouped function
22886 prototypes by file that the function is defined in.
22887 (grub_menu_execute_callback): Removed; moved to menu.h.
22888 (grub_menu_get_entry): Likewise.
22889 (grub_menu_get_timeout): Likewise.
22890 (grub_menu_set_timeout): Likewise.
22891 (grub_menu_execute_entry): Likewise.
22892 (grub_menu_execute_with_fallback): Likewise.
22893 (grub_menu_entry_run): Likewise.
22894 (grub_menu_addentry): Renamed from this ...
22895 (grub_normal_add_menu_entry): ... to this.
22896
22897 * normal/main.c (grub_menu_addentry): Renamed from this ...
22898 (grub_normal_add_menu_entry): ... to this.
22899
22900 * script/sh/execute.c (grub_script_execute_menuentry): Update
22901 reference to renamed grub_menu_addentry function.
22902
861f03a5 229032009-05-23 Felix Zielcke <fzielcke@z-51.de>
22904
22905 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
22906
96b1619a 229072009-05-22 Pavel Roskin <proski@gnu.org>
22908
bf6a5fb2 22909 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
22910 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
22911 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
22912 compiling for the i386 targets, but not for the utilities.
22913
96b1619a 22914 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
22915 to grub_uint8_t.
22916 (grub_root_drive): Likewise.
22917 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
22918 remove alignment.
22919 (grub_root_drive): Change size to byte.
22920 (grub_start_addr): Remove.
22921 (grub_end_addr): Likewise.
22922 (grub_apm_bios_info): Likewise.
22923
b729776b 229242009-05-21 Felix Zielcke <fzielcke@z-51.de>
22925
22926 * normal/i386: Remove.
22927 * normal/powerpc: Likewise.
22928 * normal/sparc64: Likewise.
22929 * normal/x86_64: Likewise.
22930
0a15ce80 229312009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
22932
22933 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 22934 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 22935 * loader/i386/xnu_helper.S: Likewise
d6da58e6 22936
33db9015 229372009-05-18 Colin D Bennett <colin@gibibit.com>
22938
d6da58e6 22939 Display error messages when parsing a Lua statement fails.
22940 Previously, executing a syntactically invalid statement like
22941 ")foo" or "bar;" would silently fail.
33db9015 22942
22943 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 22944 (grub_lua_parse_line): Improved reporting of Lua parser and
22945 execution errors.
33db9015 22946
46422c89 229472009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
22948
22949 Remove -Werror which causes build to fail on some systems
22950
22951 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
22952 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
22953 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 22954
22f53a96 229552009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
22956
22957 trampoline for linux on 64-bit platform
22958
18f547ad 22959 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
22960 loader/i386/efi/linux_trampoline.S
22961 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 22962 declaration
d6da58e6 22963 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
22964 here
22f53a96 22965 * loader/i386/linux_trampoline.S: moved here
d6da58e6 22966 * loader/i386/efi/linux.c (allocate_pages): reserve space for
22967 trampoline
22f53a96 22968 (jumpvector): removed
22969 (grub_linux_trampoline_start): new declaration
22970 (grub_linux_trampoline_end): likewise
22971 (grub_linux_boot): use trampoline when on 64-bit platform
22972 * loader/i386/linux.c: likewise
22973
cb5a0f40 229742009-05-16 Pavel Roskin <proski@gnu.org>
22975
22976 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
22977 const to avoid a warning.
22978 (grub_lua_setenv): Likewise.
22979 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
22980 lmsg to fix a warning.
22981
334f2c28 229822009-05-16 Felix Zielcke <fzielcke@z-51.de>
22983
22984 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 22985 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
22986 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
22987 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
22988 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
22989 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
22990 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
22991 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 22992
59e5d3ec 229932009-05-16 Felix Zielcke <fzielcke@z-51.de>
22994
22995 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
22996
9d87a1ba 229972009-05-16 Bean <bean123ch@gmail.com>
22998
22999 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
23000 (lua_mod_SOURCES): New variable.
23001 (lua_mod_CFLAGS): Likewise.
23002 (lua_mod_LDFLAGS): Likewise.
23003
23004 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
23005 (setjmp_mod_SOURCES): New variable.
23006 (setjmp_mod_CFLAGS): Likewise.
23007 (setjmp_LDFLAGS): Likewise.
23008
23009 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
23010 (setjmp_mod_SOURCES): New variable.
23011 (setjmp_mod_CFLAGS): Likewise.
23012 (setjmp_LDFLAGS): Likewise.
23013
23014 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
23015 (setjmp_mod_SOURCES): New variable.
23016 (setjmp_mod_CFLAGS): Likewise.
23017 (setjmp_LDFLAGS): Likewise.
23018
23019 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
23020 (setjmp_mod_SOURCES): New variable.
23021 (setjmp_mod_CFLAGS): Likewise.
23022 (setjmp_LDFLAGS): Likewise.
23023
23024 * normal/i386/setjmp.S: Moved from here ...
23025 * lib/i386/setjmp.S: ... Moved here
23026 * normal/x86_64/setjmp.S: Moved from here ...
23027 * lib/x86_64/setjmp.S: ... Moved here
23028 * normal/powerpc/setjmp.S: Moved from here ...
23029 * lib/powerpc/setjmp.S: ... Moved here
23030 * normal/sparc64/setjmp.S: Moved from here ...
23031 * lib/sparc64/setjmp.S: ... Moved here
23032
23033 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
23034 returns_twice in mingw.
23035
23036 * script/lua/grub_lib.c: New file.
23037 * script/lua/grub_lib.h: Likewise.
23038 * script/lua/grub_lua.h: Likewise.
23039 * script/lua/grub_main.c: Likewise.
23040 * script/lua/lapi.c: Likewise.
23041 * script/lua/lapi.h: Likewise.
23042 * script/lua/lauxlib.c: Likewise.
23043 * script/lua/lauxlib.h: Likewise.
23044 * script/lua/lbaselib.c: Likewise.
23045 * script/lua/lcode.c: Likewise.
23046 * script/lua/lcode.h: Likewise.
23047 * script/lua/ldblib.c: Likewise.
23048 * script/lua/ldebug.c: Likewise.
23049 * script/lua/ldebug.h: Likewise.
23050 * script/lua/ldo.c: Likewise.
23051 * script/lua/ldo.h: Likewise.
23052 * script/lua/ldump.c: Likewise.
23053 * script/lua/lfunc.c: Likewise.
23054 * script/lua/lfunc.h: Likewise.
23055 * script/lua/lgc.c: Likewise.
23056 * script/lua/lgc.h: Likewise.
23057 * script/lua/linit.c: Likewise.
23058 * script/lua/liolib.c: Likewise.
23059 * script/lua/llex.c: Likewise.
23060 * script/lua/llex.h: Likewise.
23061 * script/lua/llimits.h: Likewise.
23062 * script/lua/lmathlib.c: Likewise.
23063 * script/lua/lmem.c: Likewise.
23064 * script/lua/lmem.h: Likewise.
23065 * script/lua/loadlib.c: Likewise.
23066 * script/lua/lobject.c: Likewise.
23067 * script/lua/lobject.h: Likewise.
23068 * script/lua/lopcodes.c: Likewise.
23069 * script/lua/lopcodes.h: Likewise.
23070 * script/lua/loslib.c: Likewise.
23071 * script/lua/lparser.c: Likewise.
23072 * script/lua/lparser.h: Likewise.
23073 * script/lua/lstate.c: Likewise.
23074 * script/lua/lstate.h: Likewise.
23075 * script/lua/lstring.c: Likewise.
23076 * script/lua/lstring.h: Likewise.
23077 * script/lua/lstrlib.c: Likewise.
23078 * script/lua/ltable.c: Likewise.
23079 * script/lua/ltable.h: Likewise.
23080 * script/lua/ltablib.c: Likewise.
23081 * script/lua/ltm.c: Likewise.
23082 * script/lua/ltm.h: Likewise.
23083 * script/lua/lua.h: Likewise.
23084 * script/lua/luaconf.h: Likewise.
23085 * script/lua/lualib.h: Likewise.
23086 * script/lua/lundump.c: Likewise.
23087 * script/lua/lundump.h: Likewise.
23088 * script/lua/lvm.c: Likewise.
23089 * script/lua/lvm.h: Likewise.
23090 * script/lua/lzio.c: Likewise.
23091 * script/lua/lzio.h: Likewise.
23092
5e898c9d 230932009-05-16 Bean <bean123ch@gmail.com>
23094
23095 * include/grub/kernel.h (grub_module_header_types): Add type
23096 OBJ_TYPE_CONFIG.
23097
23098 * kern/main.c (grub_load_config): New function.
23099 (grub_main): Call grub_load_config to read boot config.
23100
23101 * grub-mkimage (generate_image): New parameter config_path.
23102 (options): New option --config.
23103 (main): Parse --config option, and pass it to generate_image.
23104
cf353a47 231052009-05-14 Christian Franke <franke@computer.org>
23106
23107 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
23108 This fixes build on Cygwin.
23109
3834887f 231102009-05-14 Pavel Roskin <proski@gnu.org>
23111
23112 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
23113 jump. This saves two bytes, so the typical case of 2 swapped
23114 drives would fit 32 bytes.
23115
8090fc01 231162009-05-13 Pavel Roskin <proski@gnu.org>
23117
ac963883 23118 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
23119 grub_uint32_t to avoid a warning.
23120
8090fc01 23121 * loader/i386/linux.c (allocate_pages): When assigning
23122 real_mode_mem, cast through grub_size_t to fix a warning. The
23123 code already makes sure that the value would fit a pointer.
23124 (grub_linux_setup_video): Cast render_target->data to
23125 grub_size_t to fix a warning.
23126
18f547ad 231272009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 23128
23129 * commands/i386/pc/drivemap.c: New file - implement drivemap
23130 command.
23131 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
23132 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
23133
6f6a8b28 231342009-05-13 Pavel Roskin <proski@gnu.org>
23135
23136 * util/i386/pc/grub-setup.c (setup): Remove unused variable
23137 embedding_area_exists.
23138
15fbf4c4 231392009-05-13 Robert Millan <rmh.grub@aybabtu.com>
23140
23141 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
23142 it easier to understand / work with.
59978c8a 23143 Improve warning messages for cases where there's no embedding area,
23144 or when it is too small (or core.img too large).
15fbf4c4 23145
238e871f 231462009-05-13 Pavel Roskin <proski@gnu.org>
23147
0ab3a9a4 23148 * loader/i386/pc/multiboot2.c: Add necessary includes for
23149 grub_multiboot2_real_boot().
23150
a2c8c5f8 23151 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
23152 PX record is always little-endian. We only need the lower 2
23153 bytes of the mode.
23154
faec96af 23155 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
23156 facilitate code reuse.
23157 (grub_cpio_mount): Use "struct head", not a char buffer. This
23158 fixes a warning reported by gcc 4.4.
23159
238e871f 23160 * kernel/disk.c (grub_disk_read): Use void pointer for the
23161 buffer.
23162 (grub_disk_write): Use const void pointer for the buffer.
23163 Adjust all callers. Remove unnecessary casts.
23164
901d2f0c 231652009-05-10 Robert Millan <rmh.grub@aybabtu.com>
23166
23167 * util/i386/pc/grub-install.in: Update copyright year.
23168
18f547ad 231692009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 23170
23171 gptsync
23172
23173 * commands/gptsync.c: new file
23174 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
23175 (gptsync_mod_SOURCES): new variable
23176 (gptsync_mod_CFLAGS): likewise
23177 (gptsync_mod_LDFLAGS): likewise
18f547ad 23178 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 23179 new definition
23180 (GRUB_PC_PARTITION_TYPE_HFS): likewise
23181 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
23182 * conf/i386-ieee1275.rmk: likewise
23183 * conf/i386-pc.rmk: likewise
23184 * conf/powerpc-ieee1275.rmk: likewise
23185
b4ba690a 231862009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
23187
23188 Fixed grub-emu
23189
23190 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
23191 (grub_dl_ref): likewise
23192
317e1a44 231932009-05-08 Robert Millan <rmh.grub@aybabtu.com>
23194
23195 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
23196 split in two functions (one for msdos and one for gpt).
23197
041b8094 231982009-05-08 Pavel Roskin <proski@gnu.org>
23199
752473c2 23200 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
23201 not modified.
23202
041b8094 23203 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
23204 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
23205 Initialize them with -1. Add sanity check for bad1. Eliminate
23206 nerr variable.
23207
172800ce 232082009-05-08 David S. Miller <davem@davemloft.net>
23209
23210 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
23211
29aa5e81 232122009-05-06 Robert Millan <rmh.grub@aybabtu.com>
23213
23214 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 23215 existence.
29aa5e81 23216
96613b62 232172009-05-05 Felix Zielcke <fzielcke@z-51.de>
23218
23219 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 23220 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 23221
eef73c8a 232222009-05-05 David S. Miller <davem@davemloft.net>
23223
23224 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
23225
119494b5 232262009-05-05 Pavel Roskin <proski@gnu.org>
23227
23228 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
23229 of grub_dl_ref() and grub_dl_unref().
23230 * commands/parttool.c: Remove preprocessor conditionals around
23231 grub_dl_ref() and grub_dl_unref().
23232 * fs/affs.c: Likewise.
23233 * fs/afs.c: Likewise.
23234 * fs/cpio.c: Likewise.
23235 * fs/ext2.c: Likewise.
23236 * fs/fat.c: Likewise.
23237 * fs/hfs.c: Likewise.
23238 * fs/hfsplus.c: Likewise.
23239 * fs/iso9660.c: Likewise.
23240 * fs/jfs.c: Likewise.
23241 * fs/minix.c: Likewise.
23242 * fs/ntfs.c: Likewise.
23243 * fs/reiserfs.c: Likewise.
23244 * fs/sfs.c: Likewise.
23245 * fs/udf.c: Likewise.
23246 * fs/ufs.c: Likewise.
23247 * fs/xfs.c: Likewise.
23248 * include/grub/dl.h: Likewise.
23249 * loader/xnu.c: Likewise.
23250
de5fd76e 232512009-05-04 Pavel Roskin <proski@gnu.org>
23252
23253 * commands/acpi.c: Remove unused variable my_mod.
23254 * partmap/amiga.c: Likewise.
23255 * partmap/apple.c: Likewise.
23256 * partmap/gpt.c: Likewise.
23257 * partmap/pc.c: Likewise.
23258 * partmap/sun.c: Likewise.
23259 * term/gfxterm.c: Likewise.
23260 * term/i386/pc/vesafb.c: Likewise.
23261 * term/i386/pc/vga.c: Likewise.
23262
983598ad 232632009-05-04 David S. Miller <davem@davemloft.net>
23264
23265 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
23266 pointer args to grub_ieee1275_get_property().
23267
8aadec43 23268 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
23269
9554b15e 23270 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
23271 devices, and do not traverse down under controller nodes.
23272
67e23c90 23273 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
23274 (grub_ofdisk_open): Use it to un-escape "," characters.
23275 * kern/disk.c (find_part_sep): New.
23276 (grub_disk_open): Use it to find the first non-escaped ','
23277 character in the disk name.
23278 * util/ieee1275/devicemap.c (escape_of_path): New.
23279 (grub_util_emit_devicemap_entry): Use it.
23280 * util/sparc64/ieee1275/grub-install.in: Update script to
23281 strip partition specifiers properly by not triggering on
23282 '\' escaped ',' characters.
23283
74bfdd2f 232842009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23285
23286 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
23287 to 0x300.
23288 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
23289 resolutions.
23290 (linux_vesafb_modes): Add a lot of additional modes to the list (based
23291 on documentation from Wikipedia).
23292
4241d2b1 232932009-05-04 Pavel Roskin <proski@gnu.org>
23294
23295 * disk/ata.c: Spelling fixes.
23296 * disk/raid.c: Likewise.
23297 * disk/usbms.c: Likewise.
23298 * disk/dmraid_nvidia.c: Likewise.
23299 * kern/ieee1275/openfw.c: Likewise.
23300 * kern/ieee1275/init.c: Likewise.
23301 * kern/ieee1275/cmain.c: Likewise.
23302 * boot/i386/pc/cdboot.S: Likewise.
23303 * video/readers/png.c: Likewise.
23304 * video/i386/pc/vbe.c: Likewise.
23305 * fs/udf.c: Likewise.
23306 * fs/hfs.c: Likewise.
23307 * fs/reiserfs.c: Likewise.
23308 * efiemu/runtime/efiemu.c: Likewise.
23309 * efiemu/main.c: Likewise.
23310 * efiemu/mm.c: Likewise.
23311 * include/grub/elf.h: Likewise.
23312 * include/grub/xnu.h: Likewise.
23313 * include/grub/usbdesc.h: Likewise.
23314 * include/grub/usb.h: Likewise.
23315 * include/grub/script_sh.h: Likewise.
23316 * include/grub/lib/LzmaEnc.h: Likewise.
23317 * include/grub/efiemu/efiemu.h: Likewise.
23318 * include/grub/command.h: Likewise.
23319 * normal/menu.c: Likewise.
23320 * normal/main.c: Likewise.
23321 * normal/datetime.c: Likewise.
23322 * bus/usb/uhci.c: Likewise.
23323 * mmap/i386/uppermem.c: Likewise.
23324 * mmap/mmap.c: Likewise.
23325 * commands/acpi.c: Likewise.
23326 * commands/test.c: Likewise.
23327 * partmap/apple.c: Likewise.
23328 * font/font.c: Likewise.
23329 * loader/sparc64/ieee1275/linux.c: Likewise.
23330 * loader/macho.c: Likewise.
23331 * loader/i386/bsd_trampoline.S: Likewise.
23332 * loader/i386/bsd.c: Likewise.
23333 * loader/xnu.c: Likewise.
23334 * term/i386/pc/vesafb.c: Likewise.
23335 * term/usb_keyboard.c: Likewise.
23336 * util/resolve.c: Likewise.
23337 * util/getroot.c: Likewise.
23338
0cfc0083 233392009-05-04 Felix Zielcke <fzielcke@z-51.de>
23340
23341 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
23342
7c1d00cd 233432009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23344
23345 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
23346 build error.
23347
b01f0548 233482009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23349
23350 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
23351 parameter only available on BIOS.
23352
ecc3eb22 233532009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
23354
23355 Removed wrong semicolon in declaration
23356
23357 * grub/misc.h (grub_dprintf): remove semicolon
23358
112972a9 233592009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23360
23361 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
23362 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
23363 is done by grub_cmd_linux() now).
23364 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
23365 restore video to text mode.
23366 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
23367 indicates lack of "vga=" parameter. "vga=0" is mapped to
23368 `GRUB_LINUX_VID_MODE_NORMAL'.
23369
afd5c115 233702009-05-04 Felix Zielcke <fzielcke@z-51.de>
23371
23372 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
23373 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
23374 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 23375 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 23376 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
23377 `grub_script.tab.c'.
23378
23379 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23380 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23381 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23382 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23383 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23384
faa517ce 23385 * Makefile.in: Remove duplicated 2008 in Copyright line.
23386
ae0c0bdc 233872009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23388
473d1e45 23389 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 23390 unconditionally.
23391 * include/grub/util/misc.h (grub_util_warn): New declaration.
23392
23393 * util/i386/pc/grub-install.in: Understand --force and pass it down
23394 to grub-setup.
23395
23396 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
23397 down to setup().
23398 (setup): Improve error messages and add warnings when requested to
23399 install in odd layouts. Refuse to install using blocklists unless
23400 --force was set.
23401
18f547ad 234022009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 23403
23404 * disk/raid.c (grub_raid_scan_device): Improve debug message.
23405
6d260daa 234062009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
23407
23408 Updated copyright year
23409
23410 * fs/hfsplus.c: updated copyright year
18f547ad 23411
69f853f8 234122009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
23413
23414 HFS+ UUID
23415
18f547ad 23416 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 23417 in the space previously used by unused3
23418 (grub_hfsplus_uuid): new function
23419 (grub_hfsplus_fs): added uuid field
23420
4c402e73 234212009-05-03 Pavel Roskin <proski@gnu.org>
23422
23423 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
23424 suppress warnings. It's no longer needed.
23425 * disk/host.c: Likewise.
23426 * disk/ata_pthru.c: Likewise.
23427 * disk/loopback.c: Likewise.
23428 * hook/datehook.c: Likewise.
23429 * parttool/pcpart.c: Likewise.
23430 * fs/i386/pc/pxe.c: Likewise.
23431 * fs/ntfscomp.c: Likewise.
23432 * efiemu/main.c: Likewise.
23433 * mmap/mmap.c: Likewise.
23434 * commands/crc.c: Likewise.
23435 * commands/hexdump.c: Likewise.
23436 * commands/hdparm.c: Likewise.
23437 * commands/acpi.c: Likewise.
23438 * commands/echo.c: Likewise.
23439 * commands/minicmd.c: Likewise.
23440 * commands/blocklist.c: Likewise.
23441 * commands/memrw.c: Likewise.
23442 * commands/loadenv.c: Likewise.
23443 * commands/usbtest.c: Likewise.
23444 * commands/lsmmap.c: Likewise.
23445 * commands/boot.c: Likewise.
23446 * commands/parttool.c: Likewise.
23447 * commands/configfile.c: Likewise.
23448 * commands/search.c: Likewise.
23449 * commands/ieee1275/suspend.c: Likewise.
23450 * commands/cat.c: Likewise.
23451 * commands/i386/pc/pxecmd.c: Likewise.
23452 * commands/i386/pc/play.c: Likewise.
23453 * commands/i386/pc/halt.c: Likewise.
23454 * commands/i386/pc/vbeinfo.c: Likewise.
23455 * commands/i386/pc/vbetest.c: Likewise.
23456 * commands/lspci.c: Likewise.
23457 * commands/date.c: Likewise.
23458 * commands/handler.c: Likewise.
23459 * commands/ls.c: Likewise.
23460 * commands/test.c: Likewise.
23461 * commands/cmp.c: Likewise.
23462 * commands/efi/loadbios.c: Likewise.
23463 * commands/efi/fixvideo.c: Likewise.
23464 * commands/halt.c: Likewise.
23465 * commands/help.c: Likewise.
23466 * commands/reboot.c: Likewise.
23467 * hello/hello.c: Likewise.
23468 * script/sh/main.c: Likewise.
23469 * loader/xnu.c: Likewise.
23470 * term/terminfo.c: Likewise.
23471 * term/i386/pc/serial.c: Likewise.
23472 * term/usb_keyboard.c: Likewise.
23473
515b5079 234742009-05-03 David S. Miller <davem@davemloft.net>
23475
23476 * normal/menu.c: Include grub/parser.h
23477
dfc31a22 234782009-05-03 Pavel Roskin <proski@gnu.org>
23479
2fee74f1 23480 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
23481 not char*.
23482 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
23483 Suggested by Javier Martín <lordhabbit@gmail.com>
23484
dfc31a22 23485 * util/i386/pc/grub-mkrescue.in: Allow for the case when
23486 efiemu??.o doesn't exist.
23487 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
23488 copying.
23489
18f547ad 234902009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 23491
23492 FreeBSD 64-bit support
23493
18f547ad 23494 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 23495 and loader/i386/bsd_trampoline.S
23496 (bsd_mod_ASFLAGS): new variable
23497 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
23498 (FREEBSD_MODTYPE_KERNEL64): likewise
23499 (grub_bsd64_trampoline_start): likewise
23500 (grub_bsd64_trampoline_end): likewise
23501 (grub_bsd64_trampoline_selfjump): likewise
23502 (grub_bsd64_trampoline_gdt): likewise
23503 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
23504 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
23505 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
23506 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 23507 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 23508 of "attrib" member
23509 * loader/i386/bsd_pagetable.c: new file
23510 * loader/i386/bsd_trampoline.S: likewise
23511 * loader/i386/bsd.c (ALIGN_QWORD): new macro
23512 (ALIGN_VAR): likewise
23513 (entry_hi): new variable
23514 (kern_end_mdofs): likewise
23515 (is_64bit): likewise
23516 (grub_freebsd_add_meta): use ALIGN_VAR
23517 (grub_e820_mmap): new declaration
23518 (grub_freebsd_add_mmap): new function
23519 (grub_freebsd_add_meta_module): support 64 bit kernels
23520 (grub_freebsd_list_modules): use ALIGN_VAR
23521 (gdt_descriptor): new declaration
23522 (grub_freebsd_boot): support 64 bit kernels
23523 (grub_bsd_elf64_hook): new function
23524 (grub_bsd_load_elf): support elf64
23525
038c5720 235262009-05-03 Bean <bean123ch@gmail.com>
23527
23528 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
23529 after we get the result of if statement.
23530
fc45fb58 235312009-05-03 Bean <bean123ch@gmail.com>
23532
23533 * Makefile.in (enable_efiemu): New variable.
23534
23535 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
23536 set.
23537 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
23538 path.
23539 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
23540 path, add -mno-red-zone option.
23541 (efiemu64_s.o): Likewise.
23542 (efiemu64.o): Use macro $^ for source file.
23543
23544 * configure.ac (--enable-efiemu): New option.
23545
bbee0f2b 235462009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
23547
23548 xnu support
23549
23550 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
23551 (pkglib_MODULES): add xnu.mod
23552 (xnu_mod_SOURCES): new variable
23553 (xnu_mod_CFLAGS): likewise
23554 (xnu_mod_LDFLAGS): likewise
23555 (xnu_mod_ASFLAGS): likewise
23556 * conf/i386-pc.rmk: likewise
23557 * conf/x86_64-efi.rmk: likewise
7dd4a573 23558 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 23559 new declaration
23560 * include/grub/i386/macho.h: new file
23561 * include/grub/i386/xnu.h: likewise
23562 * include/grub/macho.h: likewise
23563 * include/grub/machoload.h: likewise
23564 * include/grub/x86_64/macho.h: likewise
23565 * include/grub/x86_64/xnu.h: likewise
23566 * include/grub/xnu.h: likewise
23567 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
23568 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
23569 * loader/i386/efi/xnu.c: new file
23570 * loader/i386/pc/xnu.c: likewise
23571 * loader/i386/xnu.c: likewise
23572 * loader/i386/xnu_helper.S: likewise
23573 * loader/macho.c: likewise
23574 * loader/xnu.c: likewise
23575 * loader/xnu_resume.c: likewise
23576 * util/grub-dumpdevtree: likewise
23577 * include/grub/i386/pit.h: include grub/err.h
23578 (grub_pit_wait): export
23579 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 23580
5caf964d 235812009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
23582
23583 Efiemu
7dd4a573 23584
5caf964d 23585 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 23586 _linux_efi, linux_efi.
23587 new files in grub-emu
5caf964d 23588 new targets efiemu32.o and efiemu64.o
23589 * loader/linux_normal_efiemu.c: likewise
23590 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 23591 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 23592 files to copy
23593 * include/grub/autoefi.h: new file
7dd4a573 23594 * include/grub/i386/efiemu.h: likewise
5caf964d 23595 * include/grub/i386/pc/efiemu.h: likewise
23596 * include/grub/efi/api.h: add LL suffix when necessary
23597 new definitions relating to tables
23598 * include/grub/efiemu/efiemu.h: new file
23599 * include/grub/efiemu/runtime.h: likewise
23600 * efiemu/prepare.c: likewise
23601 * efiemu/loadcore_common.c: likewise
23602 * efiemu/loadcore64.c: likewise
23603 * efiemu/runtime/efiemu.sh: likewise
23604 * efiemu/runtime/efiemu.S: likewise
23605 * efiemu/runtime/efiemu.c: likewise
23606 * efiemu/runtime/config.h: likewise
23607 * efiemu/prepare32.c: likewise
23608 * efiemu/main.c: likewise
23609 * efiemu/modules/pnvram.c: likewise
23610 * efiemu/modules/i386: likewise
23611 * efiemu/modules/i386/pc: likewise
23612 * efiemu/modules/acpi.c: likewise
23613 * efiemu/i386/pc/cfgtables.c: likewise
23614 * efiemu/i386/loadcore64.c: likewise
23615 * efiemu/i386/loadcore32.c: likewise
23616 * efiemu/prepare64.c: likewise
23617 * efiemu/loadcore.c: likewise
23618 * efiemu/symbols.c: likewise
23619 * efiemu/mm.c: likewise
23620 * efiemu/loadcore32.c: likewise
7dd4a573 23621
236222009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 23623
23624 ACPI spoofing
23625
23626 * commands/acpi.c: new file
23627 * commands/i386/pc/acpi.c: likewise
23628 * commands/efi/acpi.c: likewise
23629 * include/grub/acpi.h: likewise
23630 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
23631 (acpi_mod_SOURCES): new variable
23632 (acpi_mod_CFLAGS): likewise
23633 (acpi_mod_LDFLAGS): likewise
23634 * conf/i386-efi.rmk: likewise
23635 * conf/x86_64-efi.rmk: likewise
23636
7dd4a573 236372009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 23638
23639 Missing part from mmap patch
23640
23641 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
23642 (grub_mmap_unregister)
23643 (grub_mmap_free_and_unregister): use grub_mmap_register
23644
7dd4a573 236452009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 23646
23647 Mmap services
23648
23649 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
23650 * loader/i386/linux.c (find_mmap_size): likewise
23651 (allocate_pages): likewise
23652 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
23653 (grub_fill_multiboot_mmap): likewise
23654 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
23655 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
23656 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
23657 (OPENBSD_MMAP_RESERVED): likewise
23658 * include/grub/i386/pc/memory.h: include grub/memory.h
23659 (grub_lower_mem): removed
23660 (grub_upper_mem): likewise
23661 (GRUB_MACHINE_MEMORY_ACPI): new definition
23662 (GRUB_MACHINE_MEMORY_NVS): likewise
23663 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
23664 (GRUB_MACHINE_MEMORY_HOLE): likewise
23665 (grub_machine_mmap_register): likewise
23666 (grub_machine_mmap_unregister): likewise
23667 (grub_machine_get_upper): likewise
23668 (grub_machine_get_lower): likewise
23669 (grub_machine_get_post64): likewise
23670 * include/grub/i386/efi/memory.h: new file
23671 * include/grub/x86_64/efi/memory.h: likewise
23672 * include/grub/efi/memory.h: likewise
23673 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
23674 (mmap_mod_SOURCES): new variable
23675 (mmap_mod_LDFLAGS): likewise
23676 (mmap_mod_ASFLAGS): likewise
23677 * conf/i386-coreboot.rmk: likewise
23678 * conf/i386-ieee1275.rmk: likewise
23679 * conf/i386-efi.rmk: likewise
23680 * conf/x86_64-efi.rmk: likewise
23681 * include/grub/types.h (UINT_TO_PTR): new macro
23682 (PTR_TO_UINT32): likewise
23683 (PTR_TO_UINT64): likewise
23684 * include/grub/memory.h: new file
23685 * mmap/i386/pc/mmap.c: likewise
23686 * mmap/i386/pc/mmap_helper.S: likewise
23687 * mmap/i386/uppermem.c: likewise
23688 * mmap/mmap.c: likewise
23689 * mmap/efi/mmap.c: likewise
7dd4a573 23690 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 23691 grub_upper_mem
23692 * kern/i386/pc/init.c (grub_lower_mem): removed variable
23693 (grub_upper_mem): likewise
23694 (grub_machine_init): don't use grub_upper_mem,
23695 make grub_lower_mem local
23696 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
23697 grub_mmap_iterate and grub_mmap_get_upper
23698 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
23699
d558e6b5 237002009-05-02 Bean <bean123ch@gmail.com>
23701
23702 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
23703 script/sh/parser.y.
23704 (pkglib_MODULES): Add normal.mod and sh.mod.
23705 (normal_SOURCES): New variable.
23706 (normal_mod_CFLAGS): Likewise.
23707 (normal_mod_LDFLAGS): Likewise.
23708 (sh_mod_SOURCES): Likewise.
23709 (sh_mod_CFLAGS): Likewise.
23710 (sh_mod_LDFLAGS): Likewise.
23711
23712 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
23713 script/sh/lexer.c_DEPENDENCIES.
23714 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
23715 kern/rescue_reader.c and kern/rescue_parser.c.
23716 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
23717 (grub_emu_SOURCES): Change source files.
23718 (pkglib_MODULES): Remove normal.mod.
23719 (normal_SOURCES): Removed.
23720 (normal_mod_CFLAGS): Likewise.
23721 (normal_mod_LDFLAGS): Likewise.
23722 * conf/i386-coreboot.rmk: Likewise.
23723 * conf/i386-efi.rmk: Likewise.
23724 * conf/i386-ieee1276.rmk: Likewise.
23725 * conf/powerpc-ieee1275.rmk: Likewise.
23726 * conf/sparc64-ieee1275.rmk: Likewise.
23727 * conf/x86_64-efi.rmk: Likewise.
23728
23729 * include/grub/command.h (grub_command_execute): New inline function.
23730
23731 * include/grub/menu.h (grub_menu_entry): Removed commands field.
23732
23733 * include/grub/normal.h: Remove <grub/setjmp.h>.
23734 (grub_fs_module_list): Moved to normal/autofs.c.
23735 (grub_exit_env): Removed.
23736 (grub_command_execute): Likewise.
23737 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
23738 parameter script.
23739 (read_command_list): New function declaration.
23740 (read_fs_list): Likewise.
23741
23742 * include/parser.h: Include <grub/reader.h>.
23743 (grub_parser_split_cmdline): Change type of getline parameter.
23744 (grub_parser): New structure.
23745 (grub_parser_class): New variable.
23746 (grub_parser_execute): New function declaration.
23747 (grub_register_rescue_parser): Likewise.
23748 (grub_parser_register): New inline function.
23749 (grub_parser_unregister): Likewise.
23750 (grub_parser_get_current): Likewise.
23751 (grub_parser_set_current): Likewise.
23752
23753 * include/grub/reader.h: New file.
23754 * kern/reader.c: Likewise.
23755 * kern/rescue_parser.c: Likewise.
23756 * kern/rescue_reader.c: Likewise.
23757 * normal/autofs.c: Likewise.
23758 * normal/dyncmd.c: Likewise.
23759
23760 * include/grub/rescue.h: Removed.
23761 * normal/command.h: Likewise.
23762
23763 * include/grub/script.h: Moved to ...
23764 * include/grub/script_sh.h: ... Moved here.
23765 * normal/execute.c: Moved to ...
23766 * script/sh/execute.c: ... Moved here.
23767 * normal/function.c: Moved to ...
23768 * script/sh/function.c: ... Moved here.
23769 * normal/lexer.c: Moved to ...
23770 * script/sh/lexer.c: ... Moved here.
23771 * normal/parser.y: Moved to ...
23772 * script/sh/parser.y: ... Moved here.
23773 * normal/script.c: Moved to ...
23774 * script/sh/script.c: ... Moved here.
23775
23776 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
23777 <grub/reader.h>.
23778 (grub_exit_env): Removed.
23779 (fs_module_list): Moved to normal/autofs.c.
23780 (grub_file_getline): Don't handle comment here.
23781 (free_menu): Skip removed field entry->commands.
23782 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
23783 script parameter.
23784 (read_config_file): Removed nested parameter, change getline function.
23785 (grub_enter_normal_mode): Removed.
23786 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
23787 (read_command_list): Likewise.
23788 (autoload_fs_module): Moved to normal/autofs.c.
23789 (read_fs_list): Likewise.
23790 (reader_nested): New variable.
23791 (grub_normal_execute): Run parser.sh to switch to sh parser.
23792 (grub_cmd_rescue): Removed.
23793 (cmd_normal): Removed.
23794 (grub_cmd_normal): Unregister itself at the beginning. Don't register
23795 rescue command.
23796 (grub_cmdline_run): New function.
23797 (grub_normal_reader_init): Likewise.
23798 (grub_normal_read_line): Likewise.
23799 (grub_env_write_pager): Likewise.
23800 (cmdline): New variable.
23801 (grub_normal_reader): Likewise.
23802 (GRUB_MOD_INIT): Register normal reader and set as current, register
23803 pager hook, register normal command with grub_register_command_prio,
23804 so that it won't show up in command.lst.
23805 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
23806 grub_fs_autoload_hook.
23807
23808 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
23809 (grub_menu_execute_entry): Replace grub_script_execute with
23810 grub_parser_execute, change parameter to grub_command_execute.
23811
23812 * normal/menu_text.c: Remove <grub/script.h>.
23813
23814 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
23815 and <grub/parser.h>.
23816 (run): Change editor_getline to use new parser interface. Change
23817 parameter to grub_command_execute.
23818
23819 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
23820 <grub/reader.h> and <grub/parser.h>.
23821 (grub_load_normal_mode): Execute normal command.
23822 (grub_main): Call grub_register_core_commands,
23823 grub_register_rescue_parser and grub_register_rescue_reader, use
23824 grub_reader_loop to enter input loop.
23825
7dd4a573 23826 * kern/parser.c (grub_parser_split_cmdline): Change type of
23827 getline parameter.
d558e6b5 23828 (grub_parser_class): New variable.
23829 (grub_parser_execute): New function.
23830
23831 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
23832 * loader/multiboot2.c: Likewise.
23833 * loader/sparc64/ieee1275/linux.c: Likewise.
23834
23835 * util/grub-emu.c (read_command_list): New dummy function.
23836
18db813d 238372009-05-02 Robert Millan <rmh.grub@aybabtu.com>
23838
23839 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
23840 count to 16 for CCISS and IDA.
23841
6c67de15 238422009-05-02 Robert Millan <rmh.grub@aybabtu.com>
23843
23844 * normal/menu_text.c (grub_wait_after_message): Print a newline
23845 after waiting for user input.
23846
23847 * loader/i386/linux.c: Include `<grub/normal.h>'.
23848 (grub_cmd_linux): Improve the error message about `ask' mode, by
23849 waiting for user input so it's not missed (we can do this, since
23850 user requested interaction).
23851
d9dc87b0 238522009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
23853
23854 Added missing lst to grub-mkrescue
23855
23856 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
23857 and ${input_dir}/parttool.lst
23858
ac8a2baa 238592009-04-30 David S. Miller <davem@davemloft.net>
23860
ad22a610 23861 * util/hostdisk.c (device_is_wholedisk): New function.
23862 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
23863 zero only if device_is_wholedisk() returns true.
23864
6966215d 23865 * util/hostdisk.c (convert_system_partition_to_system_disk):
23866 Handle virtual disk devices named /dev/vdiskX as found on sparc
23867 and powerpc.
23868
ac8a2baa 23869 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
23870 lettered partition specifier is found, convert to numbered.
23871
979b4fb4 238722009-04-29 David S. Miller <davem@davemloft.net>
23873
e2bf39b2 23874 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
23875 * include/grub/sparc64/ieee1275/memory.h: Likewise.
23876
3c64e104 23877 * normal/command.c: Add missing newline at end of file.
23878
979b4fb4 23879 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
23880 warnings.
23881 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
23882 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
23883 grub_ofdisk_read): Likewise, and deal similarly with the fact that
23884 ihandles have a 32-bit type but need to be stored in a "void *".
23885
136d9f82 238862009-04-28 Pavel Roskin <proski@gnu.org>
23887
9459c306 23888 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
23889 not disk. Adjust all dependencies.
2e08a26a 23890 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 23891 grub_disk_close().
23892
136d9f82 23893 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
23894 parent's partition, don't copy it by reference, as it gets freed
23895 on close.
23896
7dd4a573 238972009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 23898
23899 Preboot hooks support
23900
23901 * commands/boot.c (struct grub_preboot_t): new declaration
23902 (preboots_head): new variable
23903 (preboots_tail): likewise
23904 (grub_loader_register_preboot_hook): new function
23905 (grub_loader_unregister_preboot_hook): likewise
23906 (grub_loader_set): launch preboot hooks
23907 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
23908 (grub_loader_register_preboot_hook): new declaration
23909 (grub_loader_unregister_preboot_hook): likewise
23910
5af922b5 239112009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
23912
23913 Warning fix
23914
7dd4a573 23915 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 23916 calling grub_dprintf
23917
a5562c30 239182009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
23919
23920 Bug and warning fixes
23921
7dd4a573 23922 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 23923 declaration
23924 * commands/test.c (test_parse): fixed bug with file tests and corrected
23925 declaration of find_file
23926
4006f85c 239272009-04-26 Pavel Roskin <proski@gnu.org>
23928
23929 * Makefile.in: Don't install empty manual pages if help2man is
23930 missing. Use help2man option for output, not shell redirection.
23931
5c77c3de 239322009-04-26 David S. Miller <davem@davemloft.net>
23933
23934 * util/grub-mkdevicemap.c (make_device_map): Add missing
23935 NESTED_FUNC_ATTR to process_device().
23936
033b10a8 239372009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
23938
23939 Test command
23940
23941 * commands/test.c: rewritten to use bash-like test
23942
e4343593 239432009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
23944
23945 Parttool autoloading and improvements
23946
7dd4a573 23947 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 23948 (parttool.lst): new target
23949 * genmk.rb: generate parttool-*
23950 (CLEANFILES): add #{parttool}
23951 (PARTTOOLFILES): new variable
23952 * genparttoollist.sh: new file
7dd4a573 23953 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 23954 (grub_pcpart_type): likewise
23955 * commands/parttool.c (helpmsg): new variable
23956 (grub_cmd_parttool): output help if not enough arguments are supplied
23957 autoload modules
23958 (GRUB_MOD_INIT(parttool)): use helpmsg
23959
0d312500 239602009-04-24 David S. Miller <davem@davemloft.net>
23961
7dd4a573 23962 Avoiding opening same device multiple times in device iterator.
0d312500 23963
23964 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 23965 and use it to build a list of partitions in iterate_disk() and
0d312500 23966 iterate_partition().
23967
ac20caff 23968 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
23969 on disk->data.
23970
0dcf7495 23971 * disk/ieee1275/nand.c (grub_nand_iterate): Return
23972 grub_devalias_iterate() result instead of unconditional 0.
23973 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
23974 Also, capture hook return value, either directly or via
23975 grub_children_iterate(), and propagate to caller.
23976 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
23977 grub_children_iterate): Return value is now 'int' instead of
23978 'grub_err_t'.
23979 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
23980 like a proper iterator, stopping when hooks return non-zero.
23981 (grub_devalias_iterate): Likewise.
23982
c8c08833 239832009-04-23 David S. Miller <davem@davemloft.net>
23984
23985 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
23986
f01005a8 239872009-04-22 David S. Miller <davem@davemloft.net>
23988
23989 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
23990 is larger than address_cells, use that value for address_cells too.
23991
4e8269da 23992 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
23993 IEEE1275_MAX_PATH_LEN): Define.
23994 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
23995 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
23996 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
23997 'devtype'. Explicitly NULL terminate devalias expansion.
23998
a1447506 23999 * util/sparc64/ieee1275/misc.c: New file.
24000 * util/sparc64/ieee1275/grub-setup.c: New file.
24001 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
24002 * util/sparc64/ieee1275/grub-mkimage.c: New file.
24003 * util/sparc64/ieee1275/grub-install.in: New file.
24004 * util/ieee1275/ofpath.c: New file.
24005 * util/ieee1275/devicemap.c: New file.
24006 * util/devicemap.c: New file.
24007 * util/deviceiter.c: New file.
24008 * kern/sparc64/ieee1275/init.c: New file.
24009 * include/grub/util/ofpath.h: New file.
24010 * include/grub/util/deviceiter.h: New file.
24011 * util/grub-mkdevicemap.c: Include deviceiter.h.
24012 Implement using grub_util_emit_devicemap_entry and
24013 grub_util_iterate_devices.
24014 * conf/i386-corebook.rmk: Build util/deviceiter.c and
24015 util/devicemap.c into grub-mkdevicemap
24016 * conf/i386-efi.rmk: Likewise.
24017 * conf/i386-ieee1275.rmk: Likewise.
24018 * conf/i386-pc.rmk: Likewise.
24019 * conf/powerpc-ieee1275.rmk: Likewise.
24020 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
24021 images and installation utilities. Build kernel as image
24022 instead of as elf binary. Use common rules as much as possible.
24023
7dd4a573 240242009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 24025
24026 Correct GPT definition
24027
7dd4a573 24028 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 24029 of "attrib" member
24030
c6c5219f 240312009-04-19 Felix Zielcke <fzielcke@z-51.de>
24032
24033 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
24034
0552ff9f 240352009-04-19 David S. Miller <davem@davemloft.net>
24036
24037 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
24038 (grub_rescue_cmd_linux): Rename to...
24039 (grub_cmd_linux): and fix prototype.
24040 (grub_rescue_cmd_initrd): Rename to...
24041 (grub_cmd_initrd): and fix prototype.
24042 (cmd_linux, cmd_initrd): New.
24043 (GRUB_MOD_INIT(linux)): Use grub_register_command().
24044 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
24045
d1a282fc 240462009-04-17 Pavel Roskin <proski@gnu.org>
24047
07c5039f 24048 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
24049 format.
24050 (grub_ohci_transfer): Likewise.
24051
b012002d 24052 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
24053
1bc09c35 24054 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
24055 return without a value. Fix inconsistent indentation.
24056
e0ff9126 24057 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
24058 match struct grub_fs.
24059
d1a282fc 24060 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
24061 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
24062 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
24063 * commands/lspci.c (grub_lspci_iter): Likewise.
24064
a96df3f2 240652009-04-16 Bean <bean123ch@gmail.com>
24066
24067 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
24068 value.
24069
41bb0fe9 240702009-04-15 Pavel Roskin <proski@gnu.org>
24071
24072 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
24073 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
24074 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
24075 definitions.
24076
596c6970 240772009-04-15 Felix Zielcke <fzielcke@z-51.de>
24078
24079 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 24080 that no multiple data or metadata areas are supported and `Unknown
596c6970 24081 metadata header'.
24082
7dd4a573 240832009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 24084
24085 Move loader out of the kernel
24086
24087 * kern/loader.c: moved to ...
24088 * commands/boot.c: ... moved here
24089 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
24090 * commands/boot.c (grub_cmd_boot): moved here. All users updated
24091 * include/grub/kernel.h (grub_machine_fini): export
24092 * include/grub/loader.h (grub_loader_is_loaded): update declaration
24093 (grub_loader_set): likewise
24094 (grub_loader_unset): likewise
24095 (grub_loader_boot): likewise
24096 * conf/common.rmk: new module boot.mod
24097 (pkglib_MODULES): add boot.mod
24098 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
24099 (grub_emu_SOURCES): likewise
24100 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
24101 (grub_emu_SOURCES): likewise
24102 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
24103 (grub_emu_SOURCES): likewise
24104 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
24105 (grub_emu_SOURCES): likewise
24106 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
24107 (grub_emu_SOURCES): likewise
7dd4a573 24108 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
24109 (grub_emu_SOURCES): likewise
0d5d5653 24110 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 24111 (grub_emu_SOURCES): likewise
0d5d5653 24112
7dd4a573 241132009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 24114
24115 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 24116
5999d619 24117 * kern/misc.c (grub_itoa): Removed function
24118 (grub_ltoa): likewise
24119 (grub_vsprintf): use grub_lltoa
24120
7dd4a573 241212009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 24122
24123 Restore grub-emu
24124
24125 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
24126 * conf/i386-coreboot.rmk: likewise
24127 * conf/i386-ieee1275.rmk: likewise
24128 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 24129
20318222 241302009-04-15 Felix Zielcke <fzielcke@z-51.de>
24131
24132 * INSTALL: Add that `./autogen.sh' needs to be run before
24133 `./configure.'.
24134
d05f0df3 241352009-04-14 Bean <bean123ch@gmail.com>
24136
24137 * Makefile.in (pkglib_DATA): Add handler.lst.
24138 (handler.lst): New rule.
24139
24140 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
24141 * conf/i386-coreboot.rmk: Likewise.
24142 * conf/i386-ieee1275.rmk: Likewise.
24143 * conf/i386-efi.rmk: Likewise.
24144 * conf/x86_64-efi.rmk: Likewise.
24145 * conf/powerpc-ieee1275.rmk: Likewise.
24146 * conf/sparc64-ieee1275.rmk: Likewise.
24147
24148 * genhandlerlist.sh: New file.
24149
24150 * genmk.rb: Add rules to generate handler.lst.
24151
24152 * include/grub/normal.h (grub_file_getline): New function definition.
24153 (read_handler_list): Likewise.
24154 (free_handler_list): Likewise.
24155
24156 * include/grub/term.h (grub_term_register_input): Add name parameter
24157 for auto generation of handler.lst.
24158 (grub_term_register_output): Likewise.
24159
24160 * normal/handler.c: New file.
24161
24162 * normal/main.c (get_line): Renamed to grub_file_getline.
24163 (read_config_file): Use the newly renamed grub_file_getline.
24164 (read_command_list): Likewise.
24165 (read_fs_list): Likewise.
24166 (grub_normal_execute): Call read_handler_list to parse handler.lst.
24167 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
24168
24169 * term/efi/console.c (grub_console_init): Add name parameter for auto
24170 generation of handler.lst.
24171 * term/gfxterm.c: Likewise.
24172 * term/i386/pc/at_keyboard.c: Likewise.
24173 * term/i386/pc/console.c: Likewise.
24174 * term/i386/pc/serial.c: Likewise.
24175 * term/i386/pc/vesafb.c: Likewise.
24176 * term/i386/pc/vga.c: Likewise.
24177 * term/i386/pc/vga_text.c: Likewise.
24178 * term/ieee1275/ofconsole.c: Likewise.
24179 * term/usb_keyboard.c: Likewise.
24180
33c846be 241812009-04-14 Bean <bean123ch@gmail.com>
24182
24183 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
24184 properly with null character.
24185
4484e01e 241862009-04-14 Felix Zielcke <fzielcke@z-51.de>
24187
24188 * configure: Remove.
24189 * config.h.in: Likewise.
f93d668e 24190 * stamp-h.in: Likewise.
4484e01e 24191 * DISTLIST: Likewise.
24192 * conf/common.mk: Likewise.
24193 * conf/i386-coreboot.mk: Likewise.
24194 * conf/i386-efi.mk: Likewise.
24195 * conf/i386-ieee1275.mk: Likewise.
24196 * conf/i386.mk: Likewise.
24197 * conf/i386-pc.mk: Likewise.
24198 * conf/powerpc-ieee1275.mk: Likewise.
24199 * conf/sparc64-ieee1275.mk: Likewise.
24200 * conf/x86_64-efi.mk: Likewise.
24201
24202 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
24203 develop on GRUB.
24204
7dd4a573 242052009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 24206 David S. Miller <davem@davemloft.net>
24207
24208 * util/hostdisk.c (make_device_name): Fix buffer length
24209 calculations.
24210
e25b5a8c 242112009-04-14 Felix Zielcke <fzielcke@z-51.de>
24212
24213 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
24214 <sys/param.h> and <sys/sysctl.h>.
24215 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
24216 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
24217 opening the device and reset them afterwards.
24218
1f1f580c 242192009-04-13 Pavel Roskin <proski@gnu.org>
24220
24221 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
24222 Reported by John Stanley <jpsinthemix@verizon.net>
24223
7ebc2d6b 242242009-04-13 Robert Millan <rmh@aybabtu.com>
24225
24226 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 24227 that name for menuentries when appropriate.
7ebc2d6b 24228
d8ba3667 242292009-04-13 Felix Zielcke <fzielcke@z-51.de>
24230
24231 * util/grub.d/10_freebsd.in: Add a missing `fi'.
24232
cba416eb 242332009-04-13 Robert Millan <rmh@aybabtu.com>
24234
24235 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
24236 to Linux, simply abort telling the user it's no longer supported.
24237
a547a745 242382009-04-13 Felix Zielcke <fzielcke@z-51.de>
24239
24240 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 24241 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 24242 `freebsd_loadenv' only when devices.hints exist.
24243
232a769c 242442009-04-13 Pavel Roskin <proski@gnu.org>
24245
24246 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
24247
c3012039 242482009-04-13 Felix Zielcke <fzielcke@z-51.de>
24249
24250 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
24251 partition number.
24252 (grub_drive): Likewise.
24253
234022fe 242542009-04-13 David S. Miller <davem@davemloft.net>
24255
24256 * kern/sparc64/ieee1275/ieee1275.c: New file.
24257 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
24258 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
24259 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
24260 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
24261 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
24262 grub_ieee1275_alloc_physmem): Declare new exported functions.
24263
d8e1836c 24264 * include/grub/sparc64/ieee1275/loader.h: New file.
24265 * include/grub/sparc64/ieee1275/memory.h: Likewise.
24266 * include/grub/sparc64/kernel.h: Likewise.
24267 * loader/sparc64/ieee1275/linux.c: Likewise.
24268
96bd81ec 24269 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
24270 (grub_fstest_SOURCES): Likewise.
24271
6a4737e5 24272 * util/hostdisk.c (make_device_name): Do not make any assumptions
24273 about the length of drive names.
24274
1d7a72fd 24275 * kern/dl.c (grub_dl_load_file): Close file immediately when
24276 we are done using it.
24277
56bc2471 242782009-04-12 David S. Miller <davem@davemloft.net>
24279
24280 * kern/misc.c (grub_ltoa): Fix cast when handling negative
24281 values. Noticed by Pavel Roskin.
24282
df38d0bb 24283 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
24284 target compiler.
7dd4a573 24285
e382e93a 24286 * genmk.rb: Add more flexible image type specification, also
24287 pass --strip-unneeded to objcopy.
24288 * conf/i386-pc.rmk: Use *_FORMAT.
24289 * conf/i386-pc.mk: Rebuilt.
24290
f5dbbca9 24291 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
24292 (OFDISK_HASH_SZ): Define.
24293 (ofdisk_hash): New hash table.
24294 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
24295 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
24296 instead of device phandle which is not unique.
24297
91c88b12 24298 * kern/sparc64/ieee1275/init.c: Delete, replace with...
24299 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
24300 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
24301 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
24302 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
24303 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
24304 GRUB_KERNEL_MACHINE_DATA_END): Define.
24305 (grub_kernel_image_size, grub_total_module_size): Declare.
24306
5b5d4aa5 243072009-04-12 Pavel Roskin <proski@gnu.org>
24308
7dd4a573 24309 * configure.ac: Change the logic when we check for target tools.
24310 Do it when the target is specified and it's different from the
24311 specified value of the host.
5b5d4aa5 24312
c91e1793 243132009-04-11 Felix Zielcke <fzielcke@z-51.de>
24314
24315 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
24316 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
24317 GNU/kFreeBSD. Check if a device is a character device. Use
24318 DIOCGMEDIASIZE to get the size.
24319 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
24320 support for GNU/kFreeBSD.
24321 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
24322 is a character device instead of a block device. Add support for
24323 FreeBSD device names.
24324
24325 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
24326 is a character device instead of a block device.
24327
24328 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
24329 is a character device instead of a block device.
24330
b1ac8644 243312009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
24332
24333 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
24334 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
24335 FreeBSD. Check if a device is a character device. Use
24336 DIOCGMEDIASIZE to get the size.
24337 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
24338 support for FreeBSD.
24339 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
24340 is a character device instead of a block device. Add support for
24341 FreeBSD device names.
24342
24343 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
24344 a character device instead of a block device.
24345 (grub_util_check_char_device): New function.
24346
24347 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
24348 a character device instead of a block device.
24349
24350 * include/grub/util/getroot.h (grub_util_check_char_device): New
24351 prototype.
24352
a3f7515a 243532009-04-11 David S. Miller <davem@davemloft.net>
24354
24355 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
24356 static libgcc.
24357 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
24358 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
24359 function, if present.
24360 (__bswapdi2): Likewise.
24361
0d44993d 24362 * include/grub/sparc64/ieee1275/boot.h: New file.
24363 * boot/sparc64/ieee1275/boot.S: Likewise.
24364 * boot/sparc64/ieee1275/diskboot.S: Likewise.
24365
ed3d2bc2 24366 * kern/misc.c (grub_ltoa): New function.
24367 (grub_vsprintf): Use it to format 'long' integers.
24368
d3bfb59c 243692009-04-10 David S. Miller <davem@davemloft.net>
24370
24371 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
24372 slots are of type grub_ieee1275_cell_t.
24373 (grub_nand_read): Likewise.
24374 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
24375 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
24376 macros are used to compare values in arg/ret block of the call.
24377 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
24378 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
24379 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
24380 grub_ieee1275_instance_to_path, grub_ieee1275_write,
24381 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
24382 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
24383 grub_ieee1275_close, grub_ieee1275_set_property,
24384 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
24385 grub_ieee1275_cell_t.
24386 * kern/ieee1275/openfw.c (grub_map): Likewise.
24387 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
24388 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
24389
450e2238 24390 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
24391 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
24392 (grub_devalias_iterate): Likewise.
24393
7dd4a573 243942009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 24395
24396 UFS improvements
24397
24398 * fs/ufs.c (INODE_NBLOCKS): new definition
24399 (struct grub_ufs_dirent): added fields for non-BSD dirents
24400 (grub_ufs_get_file_block): fixed double indirect handling
24401 (grub_ufs_lookup_symlink): use more robust way to determine whether
24402 symlink is inline
24403 (grub_ufs_find_file): support for non-BSD dirents
24404 (grub_ufs_dir): support for non-BSD dirents
24405
e7e6862a 244062009-04-10 Bean <bean123ch@gnail.com>
24407
24408 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
24409 attribute, otherwise the size would be wrong for i386 platform.
24410
24411 * include/grub/pci.h (grub_pci_read_word): New inline function.
24412 (grub_pci_read_byte): Likewise.
24413 (grub_pci_write): Likewise.
24414 (grub_pci_write_word): Likewise.
24415 (grub_pci_write_byte): Likewise.
24416
24417 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
24418
24419 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
24420 (find_framebuf): Scan pci to locate the frame buffer address.
24421
24422 * commands/efi/fixvideo.c: New file.
24423
24424 * commands/efi/loadbios.c: Likewise.
24425
24426 * commands/memrw.c: Likewise.
24427
24428 * util/grub-dumpbios.in: Likewise.
24429
24430 * conf/common.rmk (grub-dumpbios): New utility.
24431 (pkglib_MODULES): New module memrw.mod.
24432 (memrw_mod_SOURCE): New macro.
24433 (memrw_mod_CFLAGS): Likewise.
24434 (memrw_mod_LDFLAGS): Likewise.
24435
7dd4a573 24436 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 24437 fixvideo.mod.
24438 (loadbios_mod_SOURCE): New macro.
24439 (loadbios_mod_CFLAGS): Likewise.
24440 (loadbios_mod_LDFLAGS): Likewise.
24441 (fixvideo_mod_SOURCE): Likewise.
24442 (fixvideo_mod_CFLAGS): Likewise.
24443 (fixvideo_mod_LDFLAGS): Likewise.
24444
7dd4a573 24445 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 24446 fixvideo.mod.
24447 (loadbios_mod_SOURCE): New macro.
24448 (loadbios_mod_CFLAGS): Likewise.
24449 (loadbios_mod_LDFLAGS): Likewise.
24450 (fixvideo_mod_SOURCE): Likewise.
24451 (fixvideo_mod_CFLAGS): Likewise.
24452 (fixvideo_mod_LDFLAGS): Likewise.
24453
af63ada2 244542009-04-08 Felix Zielcke <fzielcke@z-51.de>
24455
24456 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
24457
c2cdde70 244582009-04-07 David S. Miller <davem@davemloft.net>
24459
24460 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
24461 support for R_SPARC_OLO10 relocations. Fix compile warning for
24462 R_SPARC_WDISP30 case.
ea3f72cf 24463 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 24464
761319cf 244652009-04-06 Pavel Roskin <proski@gnu.org>
24466
1007d1f5 24467 * include/grub/misc.h (ARRAY_SIZE): New macro.
24468 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
24469 New macro.
24470 * loader/i386/linux.c (allocate_pages): Use free_pages().
24471 (grub_linux_unload): Don't use free_pages().
24472 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
24473 wrong index. Treat all other modes as text modes.
24474 (grub_cmd_linux): Initialize vid_mode unconditionally to
24475 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
24476
761319cf 24477 * commands/help.c (print_command_help): Use cmd->prio, not
24478 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
24479
ea761d40 244802009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 24481
ea761d40 24482 Parttool
24483
24484 * parttool/pcpart.c: new file
24485 * commands/parttool.c: likewise
24486 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
24487 (parttool_mod_SOURCES): new variable
24488 (parttool_mod_CFLAGS): likewise
24489 (parttool_mod_LDFLAGS): likewise
24490 (pcpart_mod_SOURCES): likewise
24491 (pcpart_mod_CFLAGS): likewise
24492 (pcpart_mod_LDFLAGS): likewise
7dd4a573 24493 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 24494 and parttool/pcpart.c
24495 * conf/i386-efi.rmk: likewise
24496 * conf/i386-ieee1275.rmk: likewise
24497 * conf/i386-pc.rmk: likewise
24498 * conf/powerpc-ieee1275.rmk: likewise
24499 * conf/sparc64-ieee1275.rmk: likewise
24500 * conf/x86_64-ieee1275.rmk: likewise
24501
05aaebfb 245022009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24503
24504 Support for mtime and further expandability of dir command
24505
24506 * include/grub/lib/datetime.h: moved to ...
7dd4a573 24507 * include/grub/datetime.h: ... moved here and added
05aaebfb 24508 declaration of grub_unixtime2datetime. All users updated
7dd4a573 24509 * include/grub/fs.h: new syntax for dir and mtime functions in
24510 struct grub_fs
05aaebfb 24511 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
24512 and GRUB_FSHELP_FLAGS_MASK
24513 * commands/ls.c (grub_ls_list_files): Write mtime in long format
24514 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
24515 (grub_ext2_mtime): new function
24516 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
24517 (grub_hfsplus_mtime): new function
24518 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
24519 (GRUB_UFS_ATTR_FILE): likewise
24520 (GRUB_UFS_ATTR_LNK): likewise
24521 (struct grub_ufs_sblock): new fields mtime
24522 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
24523 all users updated
24524 (grub_ufs_dir): mtime support
24525 (grub_ufs_mtime): new function
24526 * fs/affs.c (grub_affs_dir): use new dir syntax
24527 * fs/afs.c (grub_afs_dir): likewise
24528 * fs/cpio.c (grub_cpio_dir): likewise
24529 * fs/fat.c (grub_fat_find_dir): likewise
24530 * fs/hfs.c (grub_hfs_dir): likewise
24531 * fs/iso9660.c (grub_iso9660_dir): likewise
24532 * fs/jfs.c (grub_jfs_dir): likewise
24533 * fs/minix.c (grub_minix_dir): likewise
24534 * fs/ntfs.c (grub_ntfs_dir): likewise
24535 * fs/reiserfs.c (grub_reiserfs_dir): likewise
24536 * fs/sfs.c (grub_sfs_dir): likewise
24537 * fs/xfs.c (grub_xfs_dir): likewise
24538 * util/hostfs.c (grub_hostfs_dir): likewise
24539 * lib/datetime.c: moved to ...
24540 * normal/datetime.c: ... moved here
24541 (grub_unixtime2datetime): new function
24542 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 24543 * normal/completion.c (iterate_dir): use new dir syntax
24544 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 24545 last modification time of a volume
7dd4a573 24546 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 24547 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 24548 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 24549 (normal_mod_SOURCES): likewise
24550 (datetime_mod_SOURCES): Removed lib/datetime.c
24551 * conf/i386-efi.rmk: likewise
7dd4a573 24552 * conf/i386-ieee1275.rmk: likewise
05aaebfb 24553 * conf/i386-pc.rmk: likewise
24554 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 24555 * conf/sparc64-ieee1275.rmk: likewise
24556 * conf/x86_64-efi.rmk: likewise
05aaebfb 24557
8a7e1a14 245582009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24559
24560 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 24561
24562 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 24563 on grub_fat_find_dir
24564 (grub_fat_find_dir): use grub_fat_iterate_dir
24565 (grub_fat_label): likewise
24566
04186a9c 245672009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
24568
7dd4a573 24569 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 24570 and command.h
24571 remove extraneous kernel_elf_HEADERS
24572
da4c0bb6 245732009-04-04 Bean <bean123ch@gnail.com>
24574
24575 * include/grub/util/misc.h: Add dummy function fsync for mingw.
24576
24577 * util/misc.c: Likewise.
24578
54ad9555 245792009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
24580
24581 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
24582 instead of grub_printf.
24583
7a6bf9f2 245842009-04-03 Robert Millan <rmh@aybabtu.com>
24585
24586 * loader/i386/linux.c (grub_linux_setup_video): Fill
24587 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
24588 values from `mode info' structure instead of hardcoded
24589 values.
24590
3fcc2083 245912009-04-01 Pavel Roskin <proski@gnu.org>
24592
24593 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
24594 unused now.
24595 * genmk.rb: Likewise.
24596 * configure.ac: Likewise.
24597
5ec9740b 245982009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
24599
24600 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
24601 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
24602
5270cec8 246032009-04-01 David S. Miller <davem@davemloft.net>
24604
24605 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 24606 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 24607 (grub_setjmp): Mark with 'returns_twice' attribute.
24608 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
24609 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
24610 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
24611
9c3dd854 246122009-04-01 Robert Millan <rmh@aybabtu.com>
24613
24614 Reapply fix from 2008-07-28 which was accidentally reverted; also
24615 perform the same fix to a similar check in same function.
24616
24617 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
24618 with the same number are found, just use issue a warning with
24619 grub_dprintf(), as this error has been reported to be non-fatal.
24620
0d818b7e 246212009-03-31 Pavel Roskin <proski@gnu.org>
24622
24623 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
24624 for cross-compilation.
24625
95646d92 246262009-03-30 Robert Millan <rmh@aybabtu.com>
24627
24628 Fix i386-ieee1275 build.
24629
24630 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
24631 Remove declaration.
24632
6a003ed1 246332009-03-30 Pavel Roskin <proski@gnu.org>
24634
24635 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
24636 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
24637 zero-terminated, rely only on the strlen value. Fix comparison
24638 of strings differing in length.
24639
92f33540 246402009-03-30 Robert Millan <rmh@aybabtu.com>
24641
24642 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
24643 checking for abi version. Improve error messages on BIOS to notify
24644 user about `linux16' command.
24645
a8c48fd5 246462009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
24647
f968172e 24648 Leak fixes
a8c48fd5 24649
f968172e 24650 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
24651 in case of collision
24652 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 24653
9c323f09 246542009-03-29 Robert Millan <rmh@aybabtu.com>
24655
24656 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
24657 set `vid_mode' accordingly.
24658 (grub_linux_boot): Process `vid_mode' and set video mode.
24659
ae68f423 246602009-03-29 Robert Millan <rmh@aybabtu.com>
24661
24662 * util/grub.d/10_linux.in (linux_entry): New function.
24663 Factorize generation of Linux boot entries.
24664
5709cfc4 246652009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
24666
24667 Make the format of Environment Block plain text. The boot loader
24668 part is not tested well yet.
7dd4a573 24669
5709cfc4 24670 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
24671 (buffer): Removed.
24672 (envblk): Likewise.
24673 (usage): Remove "info" and "clear". Add "unset". Update the
24674 description of "set", as this does not delete variables any
24675 longer.
24676 (create_envblk_file): Complete rewrite.
24677 (open_envblk_file): Likewise.
24678 (cmd_info): Removed.
24679 (cmd_list): Likewise.
24680 (cmd_set): Likewise.
24681 (cmd_clear): Likewise.
24682 (list_variables): New function.
24683 (write_envblk): Likewise.
24684 (set_variables): Likewise.
24685 (unset_variables): Likewise.
24686 (main): Complete rewrite.
24687
24688 * commands/loadenv.c (buffer): Removed.
24689 (envblk): Likewise.
24690 (open_envblk_file): New function.
24691 (read_envblk_file): Complete rewrite.
24692 (grub_cmd_load_env): Likewise.
24693 (grub_cmd_list_env): Likewise.
24694 (struct blocklist): New struct.
24695 (free_blocklists): New function.
24696 (check_blocklists): Likewise.
24697 (write_blocklists): Likewise.
24698 (grub_cmd_save_env): Complete rewrite.
24699
24700 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
24701 a plain text signature.
24702 (GRUB_ENVBLK_MAXLEN): Removed.
24703 (struct grub_envblk): Complete rewrite.
24704 (grub_envblk_find): Removed.
24705 (grub_envblk_insert): Likewise.
24706 (grub_envblk_open): New prototype.
24707 (grub_envblk_set): Likewise.
24708 (grub_envblk_delete): Put const to VALUE.
24709 (grub_envblk_iterate): Put const to NAME and VALUE.
24710 (grub_envblk_close): New prototype.
24711 (grub_envblk_buffer): New inline function.
24712 (grub_envblk_size): Likewise.
24713
24714 * lib/envblk.c: Include grub/mm.h.
24715 (grub_env_find): Removed.
24716 (grub_envblk_open): New function.
24717 (grub_envblk_close): Likewise.
24718 (escaped_value_len): Likewise.
24719 (find_next_line): Likewise.
24720 (grub_envblk_insert): Removed.
24721 (grub_envblk_set): New function.
24722 (grub_envblk_delete): Complete rewrite.
24723 (grub_envblk_iterate): Likewise.
24724
a9368fd3 247252009-03-28 Robert Millan <rmh@aybabtu.com>
24726
24727 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
24728 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
24729 variables. Use 16-bit loader.
24730 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
24731 loader.
24732 * kern/i386/loader.S (grub_linux_boot): Rename to ...
24733 (grub_linux16_boot): ... this. Update all users.
24734 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
24735 (grub_linux_boot): ... this. Update all users.
24736
24737 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
24738 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
24739 commands to `linux16' and `initrd16'.
24740 (GRUB_MOD_FINI(linux)): Rename to ...
24741 (GRUB_MOD_FINI(linux16)): ... this.
24742
e4dd5a7e 247432009-03-24 Pavel Roskin <proski@gnu.org>
24744
24745 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
24746 not just for compilation.
24747
c04d6e05 247482009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
24749
24750 Move multiboot helper out of kernel
24751
24752 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
24753 `loader/i386/multiboot_helper.S'.
24754 * conf/i386-coreboot.rmk: Likewise
24755 * conf/i386-ieee1275.rmk: Likewise
24756
24757 * kern/i386/loader.S: Move multiboot helpers from here...
24758 * loader/i386/multiboot_helper.S: ...moved here
24759 * include/grub/i386/loader.h: Move declarations of multiboot
24760 helpers from here...
24761 * include/grub/i386/multiboot.h: ...moved here
24762 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
24763
42a5b3fc 247642009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
24765
24766 * kern/env.c (grub_env_context_open): Added an argument to specify
24767 whether a new context inherits exported variables from current
24768 one. This is useful when making a sandbox to interpret a config
24769 file.
24770 All callers updated.
24771
24772 * include/grub/env.h (grub_env_context_open): Updated the prototype.
24773
b28bbc4e 247742009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
24775
24776 * kern/env.c (grub_env_context_close): Fix memory leaks.
24777
f04f02e4 247782009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
24779
24780 * normal/main.c (grub_normal_execute): Added an argument
24781 BATCH to specify if an interactive interface should be provided
24782 after reading a config file.
24783 All callers updated.
24784 (read_command_list): Prevent being executed twice.
24785 (read_fs_list): Likewise.
24786
42a5b3fc 24787 * include/grub/normal.h (grub_normal_execute): Updated the
24788 prototype.
f04f02e4 24789
41473ac2 247902009-03-22 Pavel Roskin <proski@gno.org>
24791
fbc00b0c 24792 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
24793 _start.
24794 * kern/i386/pc/startup.S: Likewise.
24795 * kern/i386/efi/startup.S: Likewise.
24796 * kern/i386/ieee1275/startup.S: Likewise.
24797 * kern/i386/coreboot/startup.S: Likewise.
24798 * kern/x86_64/efi/startup.S: Likewise.
24799
41473ac2 24800 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
24801 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
24802 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
24803
2274cc8f 248042009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
24805
24806 Bugfixes in multiboot for bugs uncovered by solaris kernel.
24807
24808 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
24809 limit detection.
24810 Use vaddr of correct segment for entry_point.
24811
b1b797cb 248122009-03-21 Bean <bean123ch@gmail.com>
24813
24814 * commands/blocklist.c: Add include file <grub/command.h>, remove
24815 <grub/normal.h> and <grub/arg.h>.
24816 (grub_cmd_blocklist): Use the new command interface.
24817 (GRUB_MOD_INIT): Likewise.
24818 (GRUB_MOD_FINI): Likewise.
24819 * commands/boot.c: Likewise.
24820 * commands/cat.c: Likewise.
24821 * commands/cmp.c: Likewise.
24822 * commands/configfile.c: Likewise.
24823 * commands/crc.c: Likewise.
24824 * commands/echo.c: Likewise.
24825 * commands/halt.c: Likewise.
24826 * commands/handler.c: Likewise.
24827 * commands/hdparm.c: Likewise.
24828 * commands/help.c: Likewise.
24829 * commands/hexdump.c: Likewise.
24830 * commands/loadenv.c: Likewise.
24831 * commands/ls.c: Likewise.
24832 * commands/lsmmap.c: Likewise.
24833 * commands/lspci.c: Likewise.
24834 * commands/loadenv.c: Likewise.
24835 * commands/read.c: Likewise.
24836 * commands/reboot.c: Likewise.
24837 * commands/search.c: Likewise.
24838 * commands/sleep.c: Likewise.
24839 * commands/test.c: Likewise.
24840 * commands/usbtest.c: Likewise.
24841 * commands/videotest.c: Likewise.
24842 * commands/i386/cpuid.c: Likewise.
24843 * commands/i386/pc/halt.c: Likewise.
24844 * commands/i386/pc/play.c: Likewise.
24845 * commands/i386/pc/pxecmd.c: Likewise.
24846 * commands/i386/pc/vbeinfo.c: Likewise.
24847 * commands/i386/pc/vbetest.c: Likewise.
24848 * commands/ieee1275/suspend.c: Likewise.
24849 * disk/loopback.c: Likewise.
24850 * font/font_cmd.c: Likewise.
24851 * hello/hello.c: Likewise.
24852 * loader/efi/appleloader.c: Likewise.
24853 * loader/efi/chainloader.c: Likewise.
24854 * loader/i386/bsd.c: Likewise.
24855 * loader/i386/efi/linux.c: Likewise.
24856 * loader/i386/ieee1275/linux.c: Likewise.
24857 * loader/i386/linux.c: Likewise.
24858 * loader/i386/pc/chainloader.c: Likewise.
24859 * loader/i386/pc/linux.c: Likewise.
24860 * loader/powerpc/ieee1275/linux.c: Likewise.
24861 * loader/multiboot_loader.c: Likewise.
24862 * term/gfxterm.c: Likewise.
24863 * term/i386/pc/serial.c: Likewise.
24864 * term/terminfo.c: Likewise.
24865
24866 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
24867 * term/i386/pc/vga.c: Likewise.
24868 * video/readers/jpeg.c: Likewise.
24869 * video/readers/png.c: Likewise.
24870 * video/readers/tga.c: Likewise.
24871
24872 * util/grub-fstest (cmd_loopback): Removed.
24873 (cmd_blocklist): Likewise.
24874 (cmd_ls): Likewise.
24875 (grub_register_command): Likewise.
24876 (grub_unregister_command): Likewise.
24877 (execute_command): Use grub_command_find to locate command and execute
24878 it.
24879
24880 * include/grub/efi/chainloader.h: Removed.
24881 * loader/efi/chainloader_normal.c: Likewise.
24882 * loader/i386/bsd_normal.c: Likewise.
24883 * loader/i386/pc/chainloader_normal.c: Likewise.
24884 * loader/i386/pc/multiboot_normal.c: Likewise.
24885 * loader/linux_normal.c: Likewise.
24886 * loader/multiboot_loader_normal.c: Likewise.
24887 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
24888
24889 * gencmdlist.sh: Scan new registration command grub_register_extcmd
24890 and grub_register_command_p1.
24891
24892 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
24893 kern/command.c, lib/arg.c and commands/extcmd.c.
24894 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
24895 (minicmd_mod_SOURCES): New variable.
24896 (minicmd_mod_CFLAGS): Likewise.
24897 (minicmd_mod_LDFLAGS): Likewise.
24898 (extcmd_mod_SOURCES): Likewise.
24899 (extcmd_mod_CFLAGS): Likewise.
24900 (extcmd_mod_LDFLAGS): Likewise.
24901 (boot_mod_SOURCES): Removed.
24902 (boot_mod_CFLAGS): Likewise.
24903 (boot_mod_LDFLAGS): Likewise.
24904
24905 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
24906 kern/corecmd.c.
24907 (kernel_img_HEADERS): Add command.h.
24908 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
24909 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
24910 and lib/arg.c.
24911 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
24912 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
24913 remove the corresponding normal mode command.
24914 (normal_mod_SOURCES): Remove normal/arg.c.
24915 * conf/i386-coreboot.rmk: Likewise.
24916 * conf/i386-efi.rmk: Likewise.
24917 * conf/i386-ieee1275.rmk: Likewise.
24918 * conf/powerpc-ieee1275.rmk: Likewise.
24919 * conf/x86_64-efi.rmk: Likewise.
24920
24921 * include/grub/arg.h: Move from here ...
24922 * include/grub/lib/arg.h: ... to here.
24923
24924 * normal/arg.c: Move from here ...
24925 * lib/arg.c: ... to here.
24926
24927 * commands/extcmd.c: New file.
24928 * commands/minicmd.c: Likewise.
24929 * include/grub/command.h: Likewise.
24930 * include/grub/extcmd.h: Likewise.
24931 * kern/command.c: Likewise.
24932 * kern/corecmd.c: Likewise.
24933
24934 * kern/list.c (grub_list_iterate): Return int instead of void.
24935 (grub_list_insert): New function.
24936 (grub_prio_list_insert): Likewise.
24937
24938 * kern/rescue.c (grub_rescue_command): Removed.
24939 (grub_rescue_command_list): Likewise.
24940 (grub_rescue_register_command): Likewise.
24941 (grub_rescue_unregister_command): Likewise.
24942 (grub_rescue_cmd_boot): Move to minicmd.c
24943 (grub_rescue_cmd_help): Likewise.
24944 (grub_rescue_cmd_info): Likewise.
24945 (grub_rescue_cmd_boot): Likewise.
24946 (grub_rescue_cmd_testload): Likewise.
24947 (grub_rescue_cmd_dump): Likewise.
24948 (grub_rescue_cmd_rmmod): Likewise.
24949 (grub_rescue_cmd_lsmod): Likewise.
24950 (grub_rescue_cmd_exit): Likewise.
24951 (grub_rescue_print_devices): Moved to corecmd.c.
24952 (grub_rescue_print_files): Likewise.
24953 (grub_rescue_cmd_ls): Likewise.
24954 (grub_rescue_cmd_insmod): Likewise.
24955 (grub_rescue_cmd_set): Likewise.
24956 (grub_rescue_cmd_unset): Likewise.
7d074e3c 24957 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 24958 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 24959 commands, remove grub_rescue_register_command calls.
b1b797cb 24960
7d074e3c 24961 * normal/command.c (grub_register_command): Removed.
b1b797cb 24962 (grub_unregister_command): Likewise.
24963 (grub_command_find): Likewise.
24964 (grub_iterate_commands): Likewise.
24965 (rescue_command): Likewise.
24966 (export_command): Moved to corecmd.c.
24967 (set_command): Removed.
24968 (unset_command): Likewise.
24969 (insmod_command): Likewise.
24970 (rmmod_command): Likewise.
24971 (lsmod_command): Likewise.
24972 (grub_command_init): Likewise.
24973
24974 * normal/completion.c (iterate_command): Use cmd->prio to check for
24975 active command.
24976 (complete_arguments): Use grub_extcmd_t structure to find options.
24977 (grub_normal_do_completion): Change function grub_iterate_commands to
24978 grub_command_iterate.
24979
24980 * normal/execute.c (grub_script_execute_cmd): No need to parse
24981 argument here.
24982
24983 * normal/main.c (grub_dyncmd_dispatcher): New function.
24984 (read_command_list): Register unload commands as dyncmd.
24985 (grub_cmd_normal): Use new command interface, register rescue,
24986 unregister normal at entry, register normal, unregister rescue at exit.
24987
24988 * include/grub/list.h (grub_list_test_t): New type.
24989 (grub_list_iterate): Return int instead of void.
24990 (grub_list_insert): New function.
24991 (GRUB_AS_NAMED_LIST_P): New macro.
24992 (GRUB_AS_PRIO_LIST): Likewise.
24993 (GRUB_AS_PRIO_LIST_P): Likewise.
24994 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
24995 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
24996 (grub_prio_list): New structure.
24997 (grub_prio_list_insert): New function.
24998 (grub_prio_list_remove): New inline function.
24999
25000 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
25001 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
25002 (GRUB_COMMAND_FLAG_MENU): Likewise.
25003 (GRUB_COMMAND_FLAG_BOTH): Likewise.
25004 (GRUB_COMMAND_FLAG_TITLE): Likewise.
25005 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
25006 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
25007 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
25008 (grub_command): Likewise.
25009 (grub_register_command): Likewise.
25010 (grub_command_find): Likewise.
25011 (grub_iterate_commands): Likewise.
25012 (grub_command_init): Likewise.
25013 (grub_arg_parse): Likewise.
25014 (grub_arg_show_help): Likewise.
25015
25016 * include/grub/rescue.h (grub_rescue_register_command): Removed.
25017 (grub_rescue_unregister_command): Likewise.
25018
25019 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
25020 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
25021 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
25022
25023 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
25024 grub_rescue_cmd_initrd.
25025 * include/grub/i386/loader.h: Likewise.
25026 * include/grub/x86_64/loader.h: Likewise.
25027
25028 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
25029
1f4147aa 250302009-03-21 Bean <bean123ch@gmail.com>
25031
25032 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
25033 instead of stat in mingw environment.
25034
25035 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
25036
25037 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
25038
25039 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
25040 AC_CONFIG_LINKS.
25041
2156d5ba 250422009-03-21 Bean <bean123ch@gmail.com>
25043
25044 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
25045 out of range error.
25046
177b82ca 250472009-03-18 Michel Dänzer <michel@daenzer.net>
25048
25049 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
25050 checking inode flags for EXT4_EXTENTS_FLAG.
25051
14aad807 250522009-03-18 Robert Millan <rmh@aybabtu.com>
25053
25054 * loader/i386/linux.c: Include `<grub/video.h>' and
25055 `<grub/i386/pc/vbe.h>'..
25056 (grub_linux_setup_video): New function. Loosely based on the EFI one.
25057 (grub_linux32_boot): Attempt to configure video settings with
25058 grub_linux_setup_video().
25059 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
25060 to avoid grub_console_fini() which would step out of graphical mode
25061 unconditionally.
25062
8cf83a27 250632009-03-14 Robert Millan <rmh@aybabtu.com>
25064
25065 Fix build on powerpc.
25066 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
25067
40164e75 250682009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
25069
25070 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
25071 background image command.
25072
c58bc32a 250732009-03-12 Colin D Bennett <colin@gibibit.com>
25074
25075 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
25076 (grub_gfxterm_putchar): Extract pairs of identical calls to
25077 draw_cursor out of conditional blocks.
25078
5415144a 250792009-03-11 Pavel Roskin <proski@gnu.org>
25080
25081 * fs/hfs.c (grub_hfs_strncasecmp): New function.
25082 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
25083
6394042e 250842009-03-11 Robert Millan <rmh@aybabtu.com>
25085
25086 * loader/i386/multiboot_elfxx.c
25087 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
25088
b7b50e5f 250892009-03-11 Felix Zielcke <fzielcke@z-51.de>
25090
25091 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
25092 `kern/handler.c'.
25093
1ca7fc96 250942009-03-11 Robert Millan <rmh@aybabtu.com>
25095
25096 * loader/i386/multiboot.c (code_size): New variable.
25097 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 25098 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 25099 4-byte alignment to MBI and others by increasing
7d074e3c 25100 `boot_loader_name_length' appropriately.
1ca7fc96 25101
25102 * loader/i386/multiboot_elfxx.c
25103 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
25104
a83ea1d2 251052009-03-09 Felix Zielcke <fzielcke@z-51.de>
25106
25107 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
25108 `fs/ext2.c'.
25109
aa9f3bff 251102009-03-08 Robert Millan <rmh@aybabtu.com>
25111
25112 Make loader/i386/linux.c usable on i386-pc again.
25113
25114 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
25115 memory to heap.
25116 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
25117 `#error' stanza.
25118
d8b3b60e 251192009-03-07 Bean <bean123ch@gmail.com>
25120
25121 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
25122 allocation.
25123
b362c9e9 251242009-03-06 Robert Millan <rmh@aybabtu.com>
25125
25126 Fix display issue on terminals with screen size other than 80x25
25127 (e.g. gfxterm with resolution higher than 640x480).
25128
25129 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 25130 position relative to the center of the terminal instead of relying
b362c9e9 25131 on a hardcoded offset.
25132
9304eef1 251332009-03-04 Robert Millan <rmh@aybabtu.com>
25134
25135 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
25136 installed.
25137
25138 * Makefile.in (host_kernel): New variable.
25139 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
25140 scripts instead of just the windows one.
25141 * configure.ac: Initialize and AC_SUBST `host_kernel'.
25142
eabc95fb 251432009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 25144
25145 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
25146 `kern/handler.c'.
25147 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25148 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25149 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25150 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25151 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25152 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25153
ceb1223c 251542009-03-04 Felix Zielcke <fzielcke@z-51.de>
25155
25156 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
25157 or if there's no space for the disk label and print the partition number on a
25158 invalid magic.
25159
4910684a 251602009-03-04 Felix Zielcke <fzielcke@z-51.de>
25161
25162 * util/misc.c: Include <time.h>.
25163 (grub_millisleep): New function.
25164
7e9ca17a 251652009-03-04 Bean <bean123ch@gmail.com>
25166
25167 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
25168 another option -mno-red-zone.
25169
25170 * commands/handler.c: Change module description.
25171
25172 * kern/handler.c: Add missing space at the end of description line.
25173
25174 * kern/list.c: Likewise.
25175
f501677c 251762009-03-03 Robert Millan <rmh@aybabtu.com>
25177
25178 Move more components to the relocation area, and fix mbi pointer
25179 handling to use the destination rather than the origin (thanks to
25180 Vladimir Serbinenko for spotting).
25181
25182 * loader/i386/multiboot.c (mbi_dest): New variable.
25183 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
25184 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
25185 relocation area.
25186
9902d047 251872009-03-01 Bean <bean123ch@gmail.com>
25188
50fb7002 25189 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 25190 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
25191 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
25192 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
25193
25194 * loader/i386/efi/linux.c (acpi_guid): New variable.
25195 (acpi_guid): Likewise.
25196 (EBDA_SEG_ADDR): New constant.
25197 (LOW_MEM_ADDR): Likewise.
25198 (FAKE_EBDA_SEG): Likewise.
25199 (fake_bios_data): New function.
25200 (grub_linux_boot): Call fake_bios_data.
25201
71b9f361 252022009-03-01 Bean <bean123ch@gmail.com>
25203
25204 * commands/terminal.c: Removed.
25205
25206 * commands/handler.c: New file.
25207
25208 * include/grub/list.h: Likewise.
25209
25210 * include/grub/handler.h: Likewise.
25211
25212 * kern/list.c: Likewise.
25213
25214 * kern/handler.c: Likewise.
25215
25216 * kern/term.h: Include header file <grub/handler.h>.
25217 (grub_term_input): Move next field to the beginning.
25218 (grub_term_output): Likewise.
25219 (grub_term_input_class): New variable.
25220 (grub_term_output_class): Likewise.
25221 (grub_term_register_input): Changed to inline function.
25222 (grub_term_register_output): Likewise.
25223 (grub_term_unregister_input): Likewise.
25224 (grub_term_unregister_output): Likewise.
25225 (grub_term_set_current_input): Likewise.
25226 (grub_term_set_current_output): Likewise.
25227 (grub_term_get_current_input): Likewise.
25228 (grub_term_get_current_output): Likewise.
25229 (grub_term_iterate_input): Removed.
25230 (grub_term_iterate_output): Likewise.
25231
25232 * kern/term.c (grub_term_list_input): Removed.
25233 (grub_term_list_output): Likewise.
25234 (grub_term_input_class): New variable.
25235 (grub_term_output_class): Likewise.
50fb7002 25236 (grub_cur_term_input): Change variable as macro.
71b9f361 25237 (grub_cur_term_output): Likewise.
25238 (grub_term_register_input): Removed.
25239 (grub_term_register_output): Likewise.
25240 (grub_term_unregister_input): Likewise.
25241 (grub_term_unregister_output): Likewise.
25242 (grub_term_set_current_input): Likewise.
25243 (grub_term_set_current_output): Likewise.
25244 (grub_term_iterate_input): Likewise.
25245 (grub_term_iterate_output): Likewise.
25246 (grub_term_get_current_input): Likewise.
25247 (grub_term_get_current_output): Likewise.
25248
25249 * util/grub-editenv.c: Include header file <grub/handler.h>.
25250 (grub_term_get_current_input): Removed.
25251 (grub_term_get_current_output): Likewise.
25252 (grub_term_input_class): New variable.
50fb7002 25253 (grub_term_output_class): Likewise.
71b9f361 25254
25255 * util/grub-fstest.c (grub_term_get_current_input): Removed.
25256 (grub_term_get_current_output): Likewise.
25257 (grub_term_input_class): New variable.
50fb7002 25258 (grub_term_output_class): Likewise.
71b9f361 25259
25260 * util/grub-probe.c (grub_term_get_current_input): Removed.
25261 (grub_term_get_current_output): Likewise.
25262 (grub_term_input_class): New variable.
50fb7002 25263 (grub_term_output_class): Likewise.
71b9f361 25264
25265 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
25266 (grub_term_get_current_output): Likewise.
25267 (grub_term_input_class): New variable.
50fb7002 25268 (grub_term_output_class): Likewise.
71b9f361 25269
25270 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
25271 (terminal_mod_SOURCES): Likewise.
25272 (terminal_mod_CFLAGS): Likewise.
25273 (terminal_mod_LDFLAGS): Likewise.
25274
25275 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
25276 handler.c.
25277 (kernel_img_SOURCES): Add list.c and handler.c.
25278 (kernel_img_HEADERS): Add list.h and handler.h.
25279
25280 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
25281 handler.c.
25282 (kernel_mod_SOURCES): Add list.c and handler.c.
25283 (kernel_mod_HEADERS): Add list.h and handler.h.
25284
25285 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
25286 handler.c.
25287 (kernel_elf_SOURCES): Add list.c and handler.c.
25288 (kernel_elf_HEADERS): Add list.h and handler.h.
25289
25290 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
25291 handler.c.
25292 (kernel_elf_SOURCES): Add list.c and handler.c.
25293 (kernel_elf_HEADERS): Add list.h and handler.h.
25294
25295 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
25296 handler.c.
25297 (kernel_mod_SOURCES): Add list.c and handler.c.
25298 (kernel_mod_HEADERS): Add list.h and handler.h.
25299
25300 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
25301 handler.c.
25302 (kernel_elf_SOURCES): Add list.c and handler.c.
25303 (kernel_elf_HEADERS): Add list.h and handler.h.
25304
8a31787f 253052009-02-27 Robert Millan <rmh@aybabtu.com>
25306
25307 Factorize elf32 / elf64 code in Multiboot loader. This will
25308 prevent it from getting out of sync again.
25309
25310 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
25311 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
25312 grub_multiboot_load_elf64): Move from here ...
25313 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
25314 grub_multiboot_load_elf): ... to here (new file).
25315
51cd3dfc 253162009-02-27 Robert Millan <rmh@aybabtu.com>
25317
25318 * util/grub.d/10_linux.in: Rename "single-user mode" to
25319 "recovery mode".
25320
6e8c9c3a 253212009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
25322
25323 Don't leak in SCSI code.
25324 * disk/scsi.c (grub_scsi_close): free `scsi'.
25325
4b6bf4f9 253262009-02-27 Robert Millan <rmh@aybabtu.com>
25327
25328 * loader/i386/pc/multiboot.c: Move from here ...
25329 * loader/i386/multiboot.c: ... to here. Update all users.
25330
b9413424 253312009-02-27 Robert Millan <rmh@aybabtu.com>
25332
25333 Patch from Alexandre Bique <bique.alexandre@gmail.com>
25334 * util/i386/pc/grub-setup.c (setup): Fix directory path.
25335
50fb7002 253362009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 25337
25338 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
25339 b-tree.
25340
8cc50345 253412009-02-27 Robert Millan <rmh@aybabtu.com>
25342
25343 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
25344 `0x' qualifier as 0 when base is specified as parameter).
25345
6e09b8b7 253462009-02-24 Bean <bean123ch@gmail.com>
25347
25348 * configure.ac: Check for -mcmodel=large in x86_64 target.
25349
25350 * include/grub/efi/api.h (efi_call_10): New macro.
25351 (efi_wrap_10): New function.
25352
25353 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
25354 (GRUB_PE32_REL_BASED_HIGH): Likewise.
25355 (GRUB_PE32_REL_BASED_LOW): Likewise.
25356 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
25357 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
25358 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
25359 (GRUB_PE32_REL_BASED_SECTION): Likewise.
25360 (GRUB_PE32_REL_BASED_REL): Likewise.
25361 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
25362 (GRUB_PE32_REL_BASED_DIR64): Likewise.
25363 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
25364
25365 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
25366 issue.
25367
25368 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
25369 (efi_wrap_10): New function.
25370
25371 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
25372
25373 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
25374 MB/MBP model (NV chipset).
25375 (devdata_devs): Add devpath_5 to the list.
25376
25377 * load/i386/efi/linux.c (video_base): Remove variable.
25378 (RGB_MASK): New macro.
25379 (RGB_MAGIC): Likewise.
25380 (LINE_MIN): Likewise.
25381 (LINE_MAX): Likewise.
25382 (FBTEST_STEP): Likewise.
25383 (FBTEST_COUNT): Likewise.
25384 (fb_list): New variable.
25385 (grub_find_video_card): Remove function.
25386 (find_framebuf): New function.
25387 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
25388 line length.
25389
25390 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
25391 problem for x86_64.
25392
74b21bee 253932009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
25394
25395 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
25396
25397 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
25398 coding tool name.
25399
a455f472 254002009-02-22 Robert Millan <rmh@aybabtu.com>
25401
25402 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
25403 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
25404 in our relocation, instead of using it directly from heap. Also
25405 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
25406
6374daf3 254072009-02-21 Robert Millan <rmh@aybabtu.com>
25408
25409 Implement USB keyboard support (based on patch by Marco Gerards)
25410
25411 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
25412 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
25413 (usb_keyboard_mod_LDFLAGS): New variables.
25414
25415 * term/usb_keyboard.c: New file.
25416
8fa4ea70 254172009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25418
25419 Corrected wrong declaration
25420
25421 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
25422
353976ac 254232009-02-14 Christian Franke <franke@computer.org>
25424
25425 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
25426 (grub_lspci_iter): Print class code and programming interface byte.
25427
6aa1169b 254282009-02-14 Christian Franke <franke@computer.org>
25429
25430 * gendistlist.sh: Ignore `.svn' directories.
25431
265372ca 254322009-02-14 Felix Zielcke <fzielcke@z-51.de>
25433
25434 * fs/fat.c: Add 2009 to Copyright line.
25435
9ff516f3 254362009-02-14 Christian Franke <franke@computer.org>
25437
25438 * commands/hdparm.c: New file. Provides `hdparm' command
25439 which sends ATA commands via grub_disk_ata_pass_through ().
25440
25441 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
25442
25443 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
25444 and <grub/cpu/io.h> to include/grub/ata.h.
25445 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
25446 (GRUB_CDROM_SECTOR_SIZE): Remove.
25447 (GRUB_ATA_*): Move to include/grub/ata.h.
25448 (GRUB_ATAPI_*): Likewise.
25449 (enum grub_ata_commands): Likewise.
25450 (enum grub_ata_timeout_milliseconds): Likewise.
25451 (struct grub_ata_device): Likewise.
25452 (grub_ata_regset): Likewise.
25453 (grub_ata_regget): Likewise.
25454 (grub_ata_regset2): Likewise.
25455 (grub_ata_regget2): Likewise.
25456 (grub_ata_check_ready): Likewise.
25457 (grub_ata_wait_not_busy): Remove static, exported in
25458 include/grub/ata.h.
25459 (grub_ata_wait_drq): Likewise.
25460 (grub_ata_pio_read): Likewise.
25461
25462 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
25463 function for hdparm.mod.
25464
25465 * include/grub/ata.h: New file, contains declarations from
25466 disk/ata.c.
25467 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
25468
25469 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
25470 (grub_disk_ata_pass_through): New exported variable.
25471
25472 * kern/disk.c (grub_disk_ata_pass_through): New variable.
25473
772e23da 254742009-02-13 Colin D Bennett <colin@gibibit.com>
25475
25476 Support multiple fallback entries, and provide an API to support
25477 executing default+fallback menu entries. Renamed the `terminal' menu
25478 viewer to `text'.
25479
25480 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
25481 variable declaration.
25482 (grub_menu_execute_callback): New structure declaration.
25483 (grub_menu_execute_callback_t): New typedef.
25484 (grub_menu_execute_with_fallback): New function declaration.
25485 (grub_menu_get_entry): Likewise.
25486 (grub_menu_get_timeout): Likewise.
25487 (grub_menu_set_timeout): Likewise.
25488
25489 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
25490
25491 * normal/menu.c (grub_wait_after_message): Moved to
25492 `normal/menu_text.c'.
25493 (draw_border): Likewise.
25494 (print_message): Likewise.
25495 (print_entry): Likewise.
25496 (print_entries): Likewise.
25497 (grub_menu_init_page): Likewise.
25498 (get_entry_number): Likewise.
25499 (print_timeout): Likewise.
25500 (run_menu): Likewise.
25501 (grub_menu_execute_entry): Likewise.
25502 (show_text_menu): Likewise.
25503 (get_and_remove_first_entry_number): New function.
25504 (grub_menu_execute_with_fallback): Likewise.
25505 (get_entry): Renamed to ...
25506 (grub_menu_get_entry): .. this and made it global.
25507 (get_timeout): Renamed to ...
25508 (grub_menu_get_timeout): ... this and made it global.
25509 (set_timeout): Renamed to ...
25510 (grub_menu_set_timeout): ... this and made it global.
25511 (grub_normal_terminal_menu_viewer): Renamed to ...
25512 (grub_normal_text_menu_viewer): ... this.
25513
25514 * normal/menu_text.c: New file. Extracted text-menu-specific code
25515 from normal/menu.c.
25516
25517 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
25518 (normal_mod_SOURCES): Likewise.
25519
25520 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25521 (normal_mod_SOURCES): Likewise.
25522
25523 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25524 (normal_mod_SOURCES): Likewise.
25525
25526 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
25527 (normal_mod_SOURCES): Likewise.
25528
25529 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25530 (normal_mod_SOURCES): Likewise.
25531
25532 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25533 (normal_mod_SOURCES): Likewise.
25534
25535 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25536 (normal_mod_SOURCES): Likewise.
25537
16ac430e 255382009-02-11 Robert Millan <rmh@aybabtu.com>
25539
25540 * util/grub.d/00_header.in: Update old reference to `font' command.
25541
06ff20fc 255422009-02-10 Felix Zielcke <fzielcke@z-51.de>
25543
25544 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
25545
25546 Based on patch from Javier Martín.
25547
96da9407 255482009-02-09 Felix Zielcke <fzielcke@z-51.de>
25549
25550 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 25551 to avoid false positives with FAT.
96da9407 25552 (grub_fstest_SOURCES): Likewise.
25553 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25554 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25555 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25556 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25557 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25558 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25559
6dca6fe4 255602009-02-09 Felix Zielcke <fzielcke@z-51.de>
25561
06ff20fc 25562 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 25563 bpb.version_specific.fat12_or_fat16.fstype and
25564 bpb.version_specific.fat32.fstype.
25565
2550c62f 255662009-02-08 Robert Millan <rmh@aybabtu.com>
25567
be110b30 25568 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 25569
56978920 255702009-02-08 Robert Millan <rmh@aybabtu.com>
25571
25572 * Makefile.in (host_os, host_cpu): New variables.
25573 (target_os): Remove. Update all users.
25574
d64399b5 255752009-02-08 Marco Gerards <marco@gnu.org>
25576
25577 * Makefile.in (enable_grub_emu_usb): New variable.
25578 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
25579 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
25580 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
25581 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
25582 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
25583 `usbtest.mod' and `usbms.mod'.
25584 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
25585 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
25586 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
25587 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
25588 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
25589 variables.
25590
25591 * disk/usbms.c: New file.
25592
25593 * include/grub/usb.h: Likewise.
25594
25595 * include/grub/usbtrans.h: Likewise.
25596
25597 * include/grub/usbdesc.h: Likewise.
25598
25599 * bus/usb/usbtrans.c: Likewise.
25600
25601 * bus/usb/ohci.c: Likewise.
25602
25603 * bus/usb/uhci.c: Likewise.
25604
25605 * bus/usb/usbhub.c: Likewise.
25606
25607 * bus/usb/usb.c: Likewise.
25608
25609 * commands/usbtest.c: Likewise.
25610
25611 * util/usb.c: Likewise.
50fb7002 25612
d64399b5 25613 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
25614
25615 * configure.ac: Test for libusb presence.
50fb7002 25616
d64399b5 25617 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
25618
2b40d6bb 256192009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
25620
25621 * kern/mm.c: Add more comments.
25622
73a4ce81 256232009-02-08 Robert Millan <rmh@aybabtu.com>
25624
25625 Patch from Javier Martín.
25626 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
25627 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
25628
f821ce59 256292009-02-08 Robert Millan <rmh@aybabtu.com>
25630
25631 * fs/cpio.c: Split tar functionality to ...
25632 * fs/tar.c: ... here (new file). Update all users.
25633
aebfc4b0 256342009-02-07 Robert Millan <rmh@aybabtu.com>
25635
25636 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
25637 backward-incompatible features.
25638
25639 Based on patch from Javier Martín, with some adjustments.
25640
50fb7002 256412009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 25642
25643 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
25644
0bb5115e 256452009-02-07 Robert Millan <rmh@aybabtu.com>
25646
25647 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
25648 position of `disk/lvm.c' to ensure grub_init_all() always picks it
25649 after the RAID stuff.
25650
38a0f8e7 256512009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
25652
50fb7002 25653 Fixes problem when running vbetest command as reported by
38a0f8e7 25654 Vladimir Serbinenko <phcoder@gmail.com>.
25655
25656 * (grub_vbe_set_video_mode): Fixed problem with text modes.
25657
3143cc1c 256582009-02-04 Felix Zielcke <fzielcke@z-51.de>
25659
25660 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
25661 /dev/md/NpN style mdraid devices.
25662
9cba6fce 256632009-02-03 Felix Zielcke <fzielcke@z-51.de>
25664
25665 * util/unifont2pff.rb: Remove.
25666
e507a2c1 256672009-02-03 Felix Zielcke <fzielcke@z-51.de>
25668
25669 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
25670 `#'.
25671
d2c2b4cd 256722009-02-03 Felix Zielcke <fzielcke@z-51.de>
25673
25674 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
25675 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25676 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25677 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25678 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25679 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25680 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25681
b4315fb0 256822009-02-02 Christian Franke <franke@computer.org>
25683
25684 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
25685
de3aa260 256862009-02-01 Felix Zielcke <fzielcke@z-51.de>
25687
7c3ff286 25688 * INSTALL: Note that we now require at least autoconf 2.59 and
25689 that LZO is optional.
de3aa260 25690
825a182b 256912009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
25692
25693 Base on patch on bug #24154 created by Tomas Tintera
25694 <trosos@seznam.cz>.
25695
25696 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
25697
a69ef770 256982009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
25699
7c3ff286 25700 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 25701 <bero@arklinux.org>.
25702
25703 * normal/parser.y (script_init): Add missing semicolon.
25704
6fa42fa6 257052009-01-31 Colin D Bennett <colin@gibibit.com>
25706
7c3ff286 25707 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 25708 (free_menu_entry_classes): Added.
25709 (grub_normal_menu_addentry): Added class property handling.
25710 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
25711 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
25712
25713 * normal/menu_viewer.c: New file.
25714
25715 * normal/menu.c (run_menu_entry): Renamed to ...
25716 (grub_menu_execute_entry): ... this and made it as global.
25717 (grub_menu_run): Renamed to ...
25718 (show_text_menu): ... this and made it local.
25719 (show_text_menu): Adapt to new function names.
25720 (grub_normal_terminal_menu_viewer): New global variable.
25721
25722 * include/grub/menu.h: New file.
25723
25724 * include/grub/menu_viewer.h: New file.
25725
25726 * include/grub/normal.h: Added include to grub/menu.h.
25727 (grub_menu_entry): Moved to include/grub/menu.h.
25728 (grub_menu_entry_t): Likewise.
25729 (grub_menu): Likewise.
25730 (grub_menu_t): Likewise.
25731 (grub_normal_terminal_menu_viewer): Added.
25732 (grub_menu_execute_entry): Likewise.
25733 (grub_menu_run): Removed.
25734
25735 * DISTLIST: Added include/grub/menu.h.
25736 Added include/grub/menu_viewer.h.
25737 Added normal/menu_viewer.c.
25738
257392009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
25740
25741 * normal/execute.c (grub_script_execute_menuentry): Changed to use
25742 arglist for menutitle arguments.
25743
25744 * normal/main.c (grub_normal_menu_addentry): Likewise.
25745
25746 * normal/parser.y (menuentry): Likewise.
25747
25748 * normal/script.c (grub_script_create_cmdmenu): Likewise.
25749
25750 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
25751 (grub_script_create_cmdmenu): Likewise.
25752
25753 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
25754
25755 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
25756 changes.
25757
25758 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
25759
25760 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
25761
25762 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
25763
25764 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
25765
25766 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
25767
25768 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
25769
56192c23 257702009-01-30 Christian Franke <franke@computer.org>
25771
25772 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
25773 in option help text.
25774
d72521b3 257752009-01-27 Pavel Roskin <proski@gnu.org>
25776
25777 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
25778
994b5e84 257792009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
25780
25781 * commands/lsmmap.c: Add include to grub/machine/memory.h.
25782
25783 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
25784
25785 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
25786 unregister function.
25787
6a7eab2c 257882009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
25789
25790 * disk/scsi.c (grub_scsi_read): Fix sign problem.
25791
25792 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
25793
25794 * util/grub-mkfont.c (usage): Fix typo.
25795
25796 * util/elf/grub-mkimage.c (load_modules): Fix warning.
25797
1806b56e 257982009-01-26 Daniel Mierswa <impulze@impulze.org>
25799
3fb18f09 25800 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
25801
336e1fb9 25802 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
25803
1806b56e 25804 * kern/misc.c (grub_strcasecmp): New function.
25805 (grub_strcasecmp): Use grub_size_t instead of int for length.
25806 Fix return value.
25807 * include/grub/misc.h: Update function prototypes.
25808
580b2a0f 258092009-01-26 Robert Millan <rmh@aybabtu.com>
25810
25811 * configure.ac: Fix cross-compilation check.
ef257b36 25812
d31c24f1 258132009-01-22 Christian Franke <franke@computer.org>
25814
25815 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
25816 (precision) digit string. Allow `.format2' without `format1' (width).
25817 Limit input chars for `%s' output to `format2' if specified. This is
25818 compatible with standard printf ().
25819
3138b44c 258202009-01-22 Christian Franke <franke@computer.org>
25821
25822 * disk/ata.c (grub_ata_wait_status): Replace by ...
25823 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
25824 other status bits may be invalid while BSY is asserted.
25825 (grub_ata_check_ready): New function.
25826 (grub_ata_cmd): Removed.
25827 (grub_ata_wait_drq): New function.
25828 (grub_ata_strncpy): Remove inline.
25829 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
25830 and error check now done by grub_ata_wait_drq ().
25831 (grub_ata_pio_write): Likewise.
25832 (grub_atapi_identify): Set DEV before check for !BSY. Use
25833 grub_ata_wait_drq () to wait for data.
25834 (grub_ata_device_initialize): Add status register check to
25835 detect missing SATA slave devices. Add debug messages.
25836 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
25837 (grub_atapi_packet): Set DEV before check for !BSY. Replace
25838 transfer loop by grub_ata_pio_write ().
25839 (grub_ata_identify): Set DEV before check for !BSY. Use
25840 grub_ata_wait_drq () to wait for data.
ef257b36 25841 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 25842 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
25843 read/write in one loop. Fix invalid command on write. Fix incomplete
25844 command on (size % batch) == 0. Add missing error check after write of
25845 last block. Add debug messages.
25846 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
25847
59a64ef6 258482009-01-19 Christian Franke <franke@computer.org>
25849
25850 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
25851 (GRUB_ATAPI_IREASON_*): Likewise.
25852 (grub_ata_pio_write): Fix timeout error return.
25853 (grub_atapi_identify): Add grub_ata_wait () after cmd.
25854 (grub_atapi_wait_drq): New function.
25855 (grub_atapi_packet): New parameter `size'.
25856 Use grub_atapi_wait_drq () and direct write instead of
25857 grub_ata_pio_write ().
25858 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
25859 reads the number of bytes requested by the device for each DRQ
25860 assertion.
25861 (grub_atapi_write): Remove old implementation, return not
25862 implemented instead.
25863
1cfe20b3 258642009-01-19 Christian Franke <franke@computer.org>
25865
25866 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
25867 of 512 to calculate data size.
25868 (grub_scsi_read12): Likewise.
25869 (grub_scsi_write10): Likewise.
25870 (grub_scsi_write12): Likewise.
25871 (grub_scsi_read): Adjust size according to blocksize.
25872 Add checks for invalid blocksize and unaligned transfer.
25873
bee5fe5d 258742009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
25875
25876 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
25877
ef257b36 25878 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 25879 width glyphs.
25880
3e643f8c 258812009-01-19 Robert Millan <rmh@aybabtu.com>
25882
25883 * config.guess: Update to latest version from config git.
25884 * config.sub: Likewise.
25885
4fa80998 258862009-01-17 Felix Zielcke <fzielcke@z-51.de>
25887
25888 * Makefile.in: Change font compilation to use new grub-mkfont instead
25889 of java version.
25890
25891 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
25892 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
25893 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
25894 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
25895 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
25896 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
25897 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
25898 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
25899 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
25900
7086085b 259012009-01-16 Christian Franke <franke@computer.org>
25902
25903 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
25904 (enum grub_ata_timeout_milliseconds): New enum.
25905 (grub_ata_wait_status): Add parameter milliseconds.
25906 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
25907 recovery from timed-out commands.
25908 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
25909 return grub_errno instead of REG_ERROR.
25910 (grub_ata_pio_write): Add parameter milliseconds.
25911 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
25912 Pass milliseconds to grub_ata_wait_status () and
25913 grub_ata_pio_read ().
25914 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
25915 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
25916 grub_ata_wait_status (). Fix IDENTIFY timeout check.
25917 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
25918 It is not suitable for device detection, because DEV bit is ignored,
25919 the command may run too long, and not all devices set the signature
25920 properly.
25921 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
25922 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
25923 Fix device selection, DEV bit must be set first to address the registers
25924 of the correct device.
25925 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
25926 grub_ata_pio_read/write ().
25927 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
25928 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
25929
4a412913 259302009-01-13 Carles Pina i Estany <carles@pina.cat>
25931
25932 * util/grub-editenv.c (main): Use fseeko(), not fseek().
25933
7795c55e 259342009-01-13 Bean <bean123ch@gmail.com>
d913988c 25935
25936 * util/grub-mkfont.c (write_font): forget to remove some debug code.
25937
7795c55e 259382009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 25939
25940 * Makefile.in: (enable_grub_mkfont): New variable.
25941 (freetype_cflags): Likewise.
25942 (freetype_libs): Likewise.
25943
25944 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
25945 (grub_mkfont_SOURCES): New variable.
25946 (grub_mkfont_CFLAGS): Likewise.
25947 (grub_mkfont_LDFLAGS): Likewise.
25948
25949 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
25950 library if `--enable-grub-mkfont' is requested.
25951 (enable_grub_mkfont): New variable.
25952 (freetype_cflags): Likewise.
25953 (freetype_libs): Likewise.
25954
25955 * util/grub-mkfont.c: New file.
25956
093af1fe 259572009-01-12 Christian Franke <franke@computer.org>
25958
25959 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
25960 mode check. Fix setting of compat_use[].
25961
f36cc108 259622009-01-10 Robert Millan <rmh@aybabtu.com>
25963
25964 Update a few copyright years which we forgot to do in 2008 (only for
25965 files whose changes made in 2008 were copyright-significant)
25966
25967 * Makefile.in: Add 2008 to Copyright line.
25968 * disk/ieee1275/ofdisk.c: Likewise.
25969 * disk/efi/efidisk.c: Likewise.
25970 * kern/dl.c: Likewise.
25971 * kern/sparc64/ieee1275/init.c: Likewise.
25972 * kern/mm.c: Likewise.
25973 * kern/efi/mm.c: Likewise.
25974 * boot/i386/pc/boot.S: Likewise.
25975 * genfslist.sh: Likewise.
25976 * fs/iso9660.c: Likewise.
25977 * fs/hfs.c: Likewise.
25978 * fs/jfs.c: Likewise.
25979 * fs/minix.c: Likewise.
25980 * fs/ufs.c: Likewise.
25981 * gensymlist.sh.in: Likewise.
25982 * genkernsyms.sh.in: Likewise.
25983 * include/grub/misc.h: Likewise.
25984 * include/grub/types.h: Likewise.
25985 * include/grub/symbol.h: Likewise.
25986 * include/grub/elf.h: Likewise.
25987 * include/grub/kernel.h: Likewise.
25988 * include/grub/disk.h: Likewise.
25989 * include/grub/dl.h: Likewise.
25990 * include/grub/i386/linux.h: Likewise.
25991 * include/grub/i386/pc/biosdisk.h: Likewise.
25992 * include/grub/efi/api.h: Likewise.
25993 * include/grub/efi/pe32.h: Likewise.
25994 * include/grub/util/misc.h: Likewise.
25995 * normal/execute.c: Likewise.
25996 * normal/arg.c: Likewise.
25997 * normal/completion.c: Likewise.
25998 * normal/lexer.c: Likewise.
25999 * normal/parser.y: Likewise.
26000 * normal/misc.c: Likewise.
26001 * commands/i386/pc/vbeinfo.c: Likewise.
26002 * commands/hexdump.c: Likewise.
26003 * commands/terminal.c: Likewise.
26004 * commands/ls.c: Likewise.
26005 * commands/help.c: Likewise.
26006 * partmap/pc.c: Likewise.
26007 * loader/efi/chainloader.c: Likewise.
26008 * loader/multiboot_loader.c: Likewise.
26009 * loader/i386/pc/multiboot2.c: Likewise.
26010 * term/efi/console.c: Likewise.
26011 * term/i386/pc/serial.c: Likewise.
26012 * util/lvm.c: Likewise.
26013 * util/console.c: Likewise.
26014 * util/i386/efi/grub-mkimage.c: Likewise.
26015 * util/raid.c: Likewise.
26016
7f02114b 260172009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
26018
26019 * commands/videotest.c: Removed include to grub/machine/memory.h.
26020
26021 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
26022 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
26023 (video_mod_SOURCES): Removed.
26024 (video_mod_CFLAGS): Likewise.
26025 (video_mod_LDFLAGS): Likewise.
26026 (gfxterm_mod_SOURCES): Likewise.
26027 (gfxterm_mod_CFLAGS): Likewise.
26028 (gfxterm_mod_LDFLAGS): Likewise.
26029 (videotest_mod_SOURCES): Likewise.
26030 (videotest_mod_CFLAGS): Likewise.
26031 (videotest_mod_LDFLAGS): Likewise.
26032 (bitmap_mod_SOURCES): Likewise.
26033 (bitmap_mod_CFLAGS): Likewise.
26034 (bitmap_mod_LDFLAGS): Likewise.
26035 (tga_mod_SOURCES): Likewise.
26036 (tga_mod_CFLAGS): Likewise.
26037 (tga_mod_LDFLAGS): Likewise.
26038 (jpeg_mod_SOURCES): Likewise.
26039 (jpeg_mod_CFLAGS): Likewise.
26040 (jpeg_mod_LDFLAGS): Likewise.
26041 (png_mod_SOURCES): Likewise.
26042 (png_mod_CFLAGS): Likewise.
26043 (png_mod_LDFLAGS): Likewise.
26044
26045 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
26046 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
26047 (video_mod_SOURCES): Added.
26048 (video_mod_CFLAGS): Likewise.
26049 (video_mod_LDFLAGS): Likewise.
26050 (videotest_mod_SOURCES): Likewise.
26051 (videotest_mod_CFLAGS): Likewise.
26052 (videotest_mod_LDFLAGS): Likewise.
26053 (bitmap_mod_SOURCES): Likewise.
26054 (bitmap_mod_CFLAGS): Likewise.
26055 (bitmap_mod_LDFLAGS): Likewise.
26056 (tga_mod_SOURCES): Likewise.
26057 (tga_mod_CFLAGS): Likewise.
26058 (tga_mod_LDFLAGS): Likewise.
26059 (jpeg_mod_SOURCES): Likewise.
26060 (jpeg_mod_CFLAGS): Likewise.
26061 (jpeg_mod_LDFLAGS): Likewise.
26062 (png_mod_SOURCES): Likewise.
26063 (png_mod_CFLAGS): Likewise.
26064 (png_mod_LDFLAGS): Likewise.
26065 (gfxterm_mod_SOURCES): Likewise.
26066 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 26067 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 26068
26069 * term/gfxterm.c: Removed include to grub/machine/memory.h,
26070 grub/machine/console.h.
26071
644fff97 260722009-01-04 Jerone Young <jerone@gmail.com>
26073
26074 Make on screen instructions clearer
26075
26076 Based on patch created by Jidanni <jidanni@jidanni.org>
26077
26078 * normal/menu.c: print clearer instructions on the screen
26079
1e901a75 260802009-01-02 Colin D Bennett <colin@gibibit.com>
26081
26082 New font engine.
34c44600 26083
1e901a75 26084 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
26085 build system and fixed gfxterm.c to work with different sized fonts.
26086
26087 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 26088
1e901a75 26089 * configure: Re-generated.
34c44600 26090
1e901a75 26091 * DISTLIST: Removed font/manager.c.
26092 Added font/font.c.
26093 Added font/font_cmd.c.
34c44600 26094
1e901a75 26095 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
26096 compilation.
34c44600 26097
1e901a75 26098 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 26099
26100 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 26101
26102 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 26103
1e901a75 26104 * normal/menu.c: Likewise.
34c44600 26105
1e901a75 26106 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
26107 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 26108
1e901a75 26109 * include/grub/font.h: Replaced with new file.
34c44600 26110
1e901a75 26111 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
26112 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
26113 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
26114 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
26115 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 26116 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 26117 fg_red, fg_green, fg_blue, fg_alpha.
26118 (grub_video_adapter): Removed blit_glyph.
34c44600 26119 (grub_video_blit_glyph): Removed.
26120
1e901a75 26121 * font/manager.c: Removed file.
34c44600 26122
26123 * font/font.c: New file.
26124
1e901a75 26125 * font/font_cmd.c: Likewise.
34c44600 26126
1e901a75 26127 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 26128
1e901a75 26129 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
26130 (grub_video_vbe_map_rgba): Likewise.
26131 (grub_video_vbe_unmap_color_int): Likewise.
26132 (grub_video_vbe_blit_glyph): Removed.
26133 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 26134
1e901a75 26135 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
26136 (get_pixel): Likewise.
34c44600 26137 (set_pixel): Likewise.
26138
1e901a75 26139 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 26140
1e901a75 26141 * term/gfxterm.c: Adapted to new font engine.
34c44600 26142
1e901a75 26143 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 26144
1e901a75 26145 * term/i386/pc/vga.c: Likewise.
34c44600 26146
1e901a75 26147 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 26148
1e901a75 26149 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 26150
1e901a75 26151 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 26152
1e901a75 26153 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 26154
1e901a75 26155 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 26156
1e901a75 26157 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 26158
1e901a75 26159 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 26160
1e901a75 26161 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 26162
1e901a75 26163 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
26164
26165 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 26166
1e901a75 26167 * util/grub-mkconfig_lib.in: Changed font extension.
26168
278922e8 261692008-12-28 Felix Zielcke <fzielcke@z-51.de>
26170
26171 * util/getroot.c (grub_util_get_grub_dev): Add support for
26172 /dev/md/dNNpNN style partitionable mdraid devices.
26173
3ced05cf 261742008-12-12 Alex Smith <alex@alex-smith.me.uk>
26175
26176 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
26177 at a time limit of the PXE TFTP API correctly.
26178 (grub_pxefs_close): Likewise.
26179
7fd0ee30 261802008-11-29 Robert Millan <rmh@aybabtu.com>
26181
34c44600 26182 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 26183 grub_ata_device_initialize() calls.
26184
34c44600 261852008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 26186
26187 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
26188 iteration failed.
26189 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
26190
89313780 261912008-11-28 Robert Millan <rmh@aybabtu.com>
26192
26193 Fix build on powerpc-ieee1275. Based on patch created by
26194 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
26195 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
26196 `kern/ieee1275/mmap.c'.
26197 * include/grub/powerpc/ieee1275/memory.h: New file.
26198
15257703 26199 Provide grub-install on coreboot.
26200 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
26201 (grub_install_SOURCES): New variable.
26202 * util/i386/pc/grub-install.in: Add a few condition checks to make it
26203 usable on coreboot.
26204
9fc5388a 262052008-11-25 Felix Zielcke <fzielcke@z-51.de>
26206
26207 * util/grub-fstest.c (grub_term_get_current_input): Change return type
26208 to `grub_term_input_t'.
26209 (grub_term_get_current_output): Change return type to
26210 `grub_term_output_t'.
26211
bc3a2f31 262122008-11-22 Robert Millan <rmh@aybabtu.com>
26213
34c44600 26214 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 26215 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
26216 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
26217 grub_vga_text_cls().
26218
80fc88f2 26219 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 26220 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 26221
cbf36fd3 26222 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
26223 to 0x200000 (avoids trouble with some OFW implementations, and matches
26224 with the one in Yaboot).
26225 Reported by Manoel Abranches
26226
73e8e268 262272008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 26228
26229 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
26230 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
26231
73e8e268 26232 * util/grub-mkconfig_lib.in (grub_warn): New function.
26233 (convert_system_path_to_grub_path): Use grub_warn() when issuing
26234 warnings, to obtain consistent formatting.
26235 * util/grub.d/00_header.in: Likewise.
26236 * util/update-grub_lib.in: Likewise.
26237
e94045a1 26238 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 26239 Move comment text to `#error' stanza.
e94045a1 26240
79d29fd7 26241 Harmonize ieee1275's grub_available_iterate() with the generic
26242 grub_machine_mmap_iterate() interface (fixes a recently-introduced
26243 build problem on i386-ieee1275):
26244 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
26245 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
26246 parameter `type'. Update all users of this function.
26247 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
26248 `kern/ieee1275/mmap.c'.
26249 * kern/ieee1275/init.c
26250 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
26251 with ...
26252 (grub_machine_mmap_iterate): ... this.
26253 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
26254 return type to `grub_err_t'. Update all implementations of this
26255 function prototype.
26256 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
26257 Likewise.
26258
60d6b16e 26259 Add `lsmmap' command (lists firmware-provided memory map):
26260 * commands/lsmmap.c: New file.
26261 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
26262 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
26263 variables.
26264 * conf/powerpc-ieee1275.rmk: Likewise.
26265 * conf/i386-coreboot.rmk: Likewise.
26266 * conf/i386-ieee1275.rmk: Likewise.
26267
ebaaf49b 262682008-11-19 Robert Millan <rmh@aybabtu.com>
26269
26270 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 26271 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
26272 constraints to initrd allocation (based on code from
26273 loader/i386/pc/linux.c). Without them, initrd was allocated too high
26274 for Linux to find it.
ebaaf49b 26275
dfab719f 262762008-11-14 Robert Millan <rmh@aybabtu.com>
26277
26278 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
26279 order to cope with duplicate slashes.
26280
10fc3eb9 262812008-11-14 Robert Millan <rmh@aybabtu.com>
26282
26283 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
26284 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
26285 don't want to mess with lower memory, because it is used in the Linux
26286 loader.
26287
26288 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 26289 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 26290 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
26291 is in our heap (probably as a result of it being corrupted during
2f2a3442 26292 decompression). Add #error instance with comment to explain why this
26293 loader isn't currently usable on PC/BIOS.
10fc3eb9 26294
e2e07847 262952008-11-14 Robert Millan <rmh@aybabtu.com>
26296
26297 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 26298 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 26299
fe8e8d69 263002008-11-12 Robert Millan <rmh@aybabtu.com>
26301
26302 Make loader/i386/linux.c buildable on i386-pc (although disabled).
26303
26304 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
26305 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
26306 from here ...
26307 * include/grub/i386/pc/memory.h: ... to here.
26308
976b07d0 263092008-11-12 Robert Millan <rmh@aybabtu.com>
26310
26311 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
26312 split).
26313
26314 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
26315 (grub_console_cur_color, grub_console_real_putchar)
26316 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
26317 (grub_console_setcolorstate, grub_console_setcolor)
26318 (grub_console_getcolor): Move from here ...
26319 * include/grub/i386/vga_common.h: ... to here (new file).
26320
26321 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
26322 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
26323 `<grub/i386/io.h>'.
26324 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
26325 `<grub/i386/vga_common.h>'.
26326
76679cd3 263272008-11-12 Robert Millan <rmh@aybabtu.com>
26328
26329 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
26330 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
26331 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
26332 variables.
26333 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
26334 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
26335
26336 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
26337 grub_console_init() with call to grub_vga_text_init().
26338 (grub_machine_fini): Replace call to
26339 grub_console_fini() with call to grub_vga_text_fini() and
26340 grub_at_keyboard_fini().
26341
26342 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
26343 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
26344 (grub_console_setcolorstate, grub_console_setcolor)
26345 (grub_console_getcolor): New function prototypes.
26346
26347 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
26348 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
26349 (grub_vga_text_setcursor): Static-ize.
26350 (grub_vga_text_term): New structure.
26351 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
26352
26353 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
26354 (grub_console_cur_color, grub_console_standard_color)
26355 (grub_console_normal_color, grub_console_highlight_color)
26356 (map_char, grub_console_putchar, grub_console_getcharwidth)
26357 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
26358 (grub_console_getcolor): Move from here ...
26359 * term/i386/vga_common.c: ... to here (same function names).
26360
95b841d3 263612008-11-12 Robert Millan <rmh@aybabtu.com>
26362
26363 Use newly-added Multiboot support in coreboot.
26364
26365 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
26366 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
26367
26368 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
26369 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
26370 (codestart): Store the MBI in `startup_multiboot_info' when we're
26371 being loaded using Multiboot.
26372
26373 * kern/i386/coreboot/init.c (grub_machine_init): Move
26374 grub_at_keyboard_init() call to beginning of function (useful for
26375 debugging). Call grub_machine_mmap_init() before attempting to use
26376 grub_machine_mmap_iterate().
26377 (grub_lower_mem, grub_upper_mem): Move from here ...
26378 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
26379 here (new file).
26380
26381 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
26382 function prototype.
26383
761ca975 263842008-11-12 Robert Millan <rmh@aybabtu.com>
26385
26386 Fix a regression introduced by the at_keyboard.mod split. Because
26387 some terminals are default on some platforms and non-default on
26388 others, the first terminal being registered determines which is
26389 going to be default.
26390
26391 * kern/term.c (grub_term_register_input): If this is the first
26392 terminal being registered, set it as the current one.
26393 (grub_term_register_output): Likewise.
26394
26395 * term/efi/console.c (grub_console_init): Do not call
26396 grub_term_set_current_output() or grub_term_set_current_input().
26397 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
26398 * term/i386/pc/console.c (grub_console_init): Likewise.
26399 (grub_console_fini): Do not call grub_term_set_current_input()
26400 (but leave grub_term_set_current_output() to restore text mode).
26401
6c529df7 264022008-11-10 Robert Millan <rmh@aybabtu.com>
26403
26404 * util/grub.d/00_header.in: Add backward compatibility check for
26405 versions of terminal.mod that don't understand `terminal_input' or
26406 `terminal_output'.
26407
132e4113 264082008-11-09 Robert Millan <rmh@aybabtu.com>
26409
26410 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
26411 `terminal_input' / `terminal_output', not `terminal'.
26412
ac293d50 264132008-11-08 Robert Millan <rmh@aybabtu.com>
26414
26415 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 26416 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 26417
0025933a 264182008-11-08 Robert Millan <rmh@aybabtu.com>
26419
26420 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 26421 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 26422 members. Update all users.
26423 * util/console.c (grub_ncurses_term): Split in ...
26424 (grub_ncurses_term_input): ... this, and ...
26425 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 26426 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 26427
37c86336 264282008-11-08 Robert Millan <rmh@aybabtu.com>
26429
26430 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
26431 (PKGDATA): Add $(pkgdata_SRCDIR).
26432 (pkglib_BUILDDIR): New variable.
26433 (pkgdata_SRCDIR): New variable.
26434 (build_env.mk): New target.
26435 (include_DATA): New variable.
26436 (install-local): Install $(include_DATA) files in $(includedir).
26437
b6c15a2d 264382008-11-07 Pavel Roskin <proski@gnu.org>
26439
d99d46f1 26440 * gendistlist.sh: Use C locale for sorting to ensure consistent
26441 output on all systems.
26442
b6c15a2d 26443 * util/grub.d/00_header.in: Remove incorrect space before
26444 "serial".
26445
c32ee8c9 264462008-11-07 Robert Millan <rmh@aybabtu.com>
26447
26448 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
26449 per specification.
26450 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
26451 * loader/multiboot_loader.c (find_multi_boot2_header): New function
26452 (based on find_multi_boot1_header).
26453 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
26454 using find_multi_boot2_header(), and abort if neither Multiboot or
26455 Multiboot headers were found.
26456
651c29b7 264572008-11-07 Robert Millan <rmh@aybabtu.com>
26458
26459 Modularize at_keyboard.mod:
26460
26461 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
26462 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
26463 (at_keyboard_mod_LDFLAGS): New variables.
26464
26465 Actual terminal split:
26466
26467 * include/grub/term.h (struct grub_term): Split in ...
26468 (struct grub_term_input): ... this, and ...
26469 (struct grub_term_output): ... this. Update all users.
26470 (grub_term_set_current): Split in ...
26471 (grub_term_set_current_input): ... this, and ...
26472 (grub_term_set_current_output): ... this.
26473 (grub_term_get_current): Split in ...
26474 (grub_term_get_current_input): ... this, and ...
26475 (grub_term_get_current_output): ... this.
26476 (grub_term_register): Split in ...
26477 (grub_term_register_input): ... this, and ...
26478 (grub_term_register_output): ... this.
26479 (grub_term_unregister): Split in ...
26480 (grub_term_unregister_input): ... this, and ...
26481 (grub_term_unregister_output): ... this.
26482 (grub_term_iterate): Split in ...
26483 (grub_term_iterate_input): ... this, and ...
26484 (grub_term_iterate_output): ... this.
26485
26486 * kern/term.c (grub_term_list): Split in ...
26487 (grub_term_list_input): ... this, and ...
26488 (grub_term_list_output): ... this. Update all users.
26489 (grub_cur_term): Split in ...
26490 (grub_cur_term_input): ... this, and ...
26491 (grub_cur_term_output): ... this. Update all users.
26492 (grub_term_set_current): Split in ...
26493 (grub_term_set_current_input): ... this, and ...
26494 (grub_term_set_current_output): ... this.
26495 (grub_term_get_current): Split in ...
26496 (grub_term_get_current_input): ... this, and ...
26497 (grub_term_get_current_output): ... this.
26498 (grub_term_register): Split in ...
26499 (grub_term_register_input): ... this, and ...
26500 (grub_term_register_output): ... this.
26501 (grub_term_unregister): Split in ...
26502 (grub_term_unregister_input): ... this, and ...
26503 (grub_term_unregister_output): ... this.
26504 (grub_term_iterate): Split in ...
26505 (grub_term_iterate_input): ... this, and ...
26506 (grub_term_iterate_output): ... this.
26507
26508 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
26509 a check for input and one for output (and only attempt to get keys
26510 from user when input works).
26511
26512 * util/grub-probe.c (grub_term_get_current): Split in ...
26513 (grub_term_get_current_input): ... this, and ...
26514 (grub_term_get_current_output): ... this.
26515 * util/grub-fstest.c: Likewise.
26516 * util/i386/pc/grub-setup.c: Likewise.
26517 * util/grub-editenv.c: Likewise.
26518
26519 Portability adjustments:
26520
26521 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
26522 `term/i386/pc/at_keyboard.c'.
26523 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
26524 grub_keyboard_controller_init() (now handled by terminal .init).
26525 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
26526 grub_at_keyboard_init().
26527 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
26528 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
26529 at_keyboard.mod via input terminal interface).
26530 * include/grub/i386/coreboot/console.h: Convert into a stub for
26531 `<grub/i386/pc/console.h>'.
26532
26533 Migrate full terminals to new API:
26534
26535 * term/efi/console.c (grub_console_term): Split into ...
26536 (grub_console_term_input): ... this, and ...
26537 (grub_console_term_output): ... this. Update all users.
26538 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
26539 (grub_ofconsole_init): Split into ...
26540 (grub_ofconsole_init_input): ... this, and ...
26541 (grub_ofconsole_init_output): ... this.
26542 (grub_ofconsole_term): Split into ...
26543 (grub_ofconsole_term_input): ... this, and ...
26544 (grub_ofconsole_term_output): ... this. Update all users.
26545 * term/i386/pc/serial.c (grub_serial_term): Split into ...
26546 (grub_serial_term_input): ... this, and ...
26547 (grub_serial_term_output): ... this. Update all users.
26548 * term/i386/pc/console.c (grub_console_term): Split into ...
26549 (grub_console_term_input): ... this, and ...
26550 (grub_console_term_output): ... this. Update all users.
26551 (grub_console_term_input): Only enable it on PC/BIOS platform.
26552 (grub_console_init): Remove grub_keyboard_controller_init() call.
26553
26554 Migrate input terminals to new API:
26555
26556 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
26557 `i386' and `i386/pc' to enable build on x86_64 (this driver is
26558 i386-specific anyway).
26559 (grub_console_checkkey): Rename to ...
26560 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
26561 users.
26562 (grub_keyboard_controller_orig): New variable.
26563 (grub_console_getkey): Rename to ...
26564 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
26565 users.
26566 (grub_keyboard_controller_init): Static-ize. Save original
26567 controller value so that it can be restored ...
26568 (grub_keyboard_controller_fini): ... here (new function).
26569 (grub_at_keyboard_term): New structure.
26570 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
26571 functions.
26572
26573 Migrate output terminals to new API:
26574
26575 * term/i386/pc/vga.c (grub_vga_term): Change type to
26576 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
26577 members. Update all users.
26578 * term/gfxterm.c (grub_video_term): Change type to
26579 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
26580 members. Update all users.
26581 * include/grub/i386/pc/console.h (grub_console_checkkey)
26582 (grub_console_getkey): Do not export (no longer needed by gfxterm,
26583 etc).
26584
26585 Migrate `terminal' command and userland tools to new API:
26586
26587 * commands/terminal.c (grub_cmd_terminal): Split into ...
26588 (grub_cmd_terminal_input): ... this, and ...
26589 (grub_cmd_terminal_output): ... this.
26590 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
26591 `terminal_input' and `terminal_output'.
26592 * util/grub.d/00_header.in: Adjust `terminal' calls to new
26593 `terminal_input' / `terminal_output' API.
26594 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
26595 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
26596 provided ${GRUB_TERMINAL}, convert it).
26597
96e5d876 265982008-11-04 Robert Millan <rmh@aybabtu.com>
26599
26600 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
26601 for FreeBSD.
26602 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
26603
556f3775 266042008-11-03 Bean <bean123ch@gmail.com>
26605
26606 * kern/elf.c (grub_elf32_load): Revert to previous code.
26607 (grub_elf64_load): Likewise.
26608
26609 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
26610
926b9823 266112008-11-01 Robert Millan <rmh@aybabtu.com>
26612
26613 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
26614 (TARGET_CPPFLAGS): Likewise.
26615 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
26616
1432e958 266172008-11-01 Carles Pina i Estany <carles@pina.cat>
26618
26619 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
26620
dba3f844 266212008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 26622
26623 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
26624 addition of objects until the code is not going to be able to fail.
26625
dba3f844 266262008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 26627
26628 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
26629 (add a missing NULL check, and correct them by moving the pointer
26630 operations after the actual check).
26631
7ab28c21 266322008-10-29 Robert Millan <rmh@aybabtu.com>
26633
26634 * util/i386/pc/grub-install.in: Handle empty string as output from
26635 make_system_path_relative_to_its_root().
26636
1b7748eb 266372008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
26638
26639 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
26640 circular metadata worst case scenario. If the metadata is circular
26641 then copy the wrap in place.
26642 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
26643 project lib/format_text/layout.h
26644 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
26645
c9618ab2 266462008-10-03 Felix Zielcke <fzielcke@z-51.de>
26647
7a36edca 26648 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 26649
bf981c62 266502008-10-03 Felix Zielcke <fzielcke@z-51.de>
26651
26652 * util/update-grub_lib.in: Mention filename in warning message.
26653
6d994591 266542008-09-29 Felix Zielcke <fzielcke@z-51.de>
26655
26656 * NEWS: Update for rename of update-grub to grub-mkconfig.
26657
18ade780 266582008-09-29 Felix Zielcke <fzielcke@z-51.de>
26659
26660 * util/update-grub_lib.in: Copy to ...
26661 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 26662 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 26663 * util/update-grub.in: Rename to ...
26664 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
26665 option. Add `--output' option to allow users to specify the generated
26666 configuration file. Default to stdout.
26667 (update_grub_dir): Rename to ...
26668 (grub_mkconfig_dir): ... this.
26669 (grub_cfg): Default to an empty string.
26670 * conf/common.rmk (update-grub): Rename to ...
26671 (grub-mkconfig): ... this.
26672 (update-grub_lib): Copy to ...
26673 (grub-mkconfig_lib): ... this.
26674 (update-grub_SCRIPTS): Copy to ...
26675 (grub-mkconfig_SCRIPTS): ... this. Update all users.
26676 (update-grub_DATA): Rename to ...
26677 (grub-mkconfig_DATA): ... this.
26678
556ce6ac 266792008-09-28 Robert Millan <rmh@aybabtu.com>
26680
26681 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
26682 to `modified'. Add the real `created' field.
26683 (grub_iso9660_uuid): Use `modified' rather than `created' for
26684 constructing the UUID.
26685
266862008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 26687
26688 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
26689 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
26690
92274e85 266912008-09-28 Bean <bean123ch@gmail.com>
26692
26693 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
26694 Thanks to Christian Franke for finding this bug.
26695
add6f17a 266962008-09-25 Robert Millan <rmh@aybabtu.com>
26697
26698 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
26699 instances of grub_util_get_disk_name() (see previous commit).
26700
d2a367b8 267012008-09-25 Robert Millan <rmh@aybabtu.com>
26702
26703 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
26704 `util/i386/get_disk_name.c'.
26705 * conf/i386-efi.rmk: Likewise.
26706 * conf/x86_64-efi.rmk: Likewise.
26707 * conf/i386-coreboot.rmk: Likewise.
26708 * conf/i386-ieee1275.rmk: Likewise.
26709 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
26710 `util/ieee1275/get_disk_name.c'.
26711 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
26712 * util/ieee1275/get_disk_name.c: Remove file.
26713 * util/i386/get_disk_name.c: Remove file.
26714 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
26715 "hd%d" for device.map entries, rather than using
26716 grub_util_get_disk_name().
26717
81a06771 267182008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 26719
26720 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
26721 warning.
26722 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
26723
5a004279 267242008-09-24 Carles Pina i Estany <carles@pina.cat>
26725
26726 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
26727 Changed to 0x5100.
26728 (GRUB_TERM_PPAGE): Changed to 0x4900.
26729
397093d3 267302008-09-24 Robert Millan <rmh@aybabtu.com>
26731
26732 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
26733 macros (they were i386-pc specific).
26734 * include/grub/sparc64/ieee1275/console.h: Likewise.
26735 * include/grub/efi/console.h: Likewise.
26736
a91b6c7c 267372008-09-22 Bean <bean123ch@gmail.com>
26738
26739 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
26740 resident and in attribute list.
26741
26742 * include/grub/ntfs.h (BMP_LEN): Removed.
26743
c40fd116 267442008-09-22 Bean <bean123ch@gmail.com>
26745
81a06771 26746 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 26747 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
26748
26749 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
26750 error occurs, as grub_disk_open will call grub_disk_close, which will
26751 call p->close (scsi).
26752
81a06771 267532008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 26754
26755 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
26756 (AC_PREREQ): Bumped to 2.59.
26757 (AC_TRY_COMPILE): Replace obsolete macro with ...
26758 (AC_COMPILE_IFELSE): ... this.
26759 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
26760 (AC_LINK_IFELSE): ... this.
26761
5dc43410 267622008-09-21 Felix Zielcke <fzielcke@z-51.de>
26763
26764 * autogen.sh: Add a call to `gendistlist.sh'.
26765
9035dce4 267662008-09-19 Christian Franke <franke@computer.org>
26767
26768 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
26769 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
26770 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
26771 Export __enable_execute_stack() to modules.
26772 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
26773 New function.
26774
7fd75377 267752008-09-09 Felix Zielcke <fzielcke@z-51.de>
26776
040030b3 26777 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
26778 Sort the list.
26779
267802008-09-09 Felix Zielcke <fzielcke@z-51.de>
26781
26782 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 26783 #include <grub/util/hostdisk.h>.
26784
89d5ffcf 267852008-09-08 Robert Millan <rmh@aybabtu.com>
26786
26787 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
26788 segments when their filesz is zero (grub_file_read() interprets
81a06771 26789 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 26790 Use `lowest_segment' rather than 0 for calculating the current
26791 segment load address.
26792
40da438f 267932008-09-08 Robert Millan <rmh@aybabtu.com>
26794
26795 * util/hostdisk.c (open_device): Replace a grub_util_info() call
26796 with grub_dprintf("hostdisk", ...), as it was so verbose that it
26797 clobbered useful information.
26798
ddbf5556 267992008-09-08 Robert Millan <rmh@aybabtu.com>
26800
26801 * include/grub/util/biosdisk.h: Move to ...
26802 * include/grub/util/hostdisk.h: ... here. Update all users.
26803 * util/biosdisk.c: Move to ...
26804 * util/hostdisk.c: ... here. Update all users.
26805
783d0f48 268062008-09-07 Robert Millan <rmh@aybabtu.com>
26807
26808 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
26809 variables.
26810 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
26811 and length can be stored directly in the `mbi->mmap_addr' and
26812 `mbi->mmap_length' struct fields.
26813
548e2ea5 268142008-09-07 Robert Millan <rmh@aybabtu.com>
26815
26816 * conf/i386.rmk: New file. Provides declaration for building
26817 `cpuid.mod'.
26818 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
26819 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
26820 variables.
26821 Include `conf/i386.mk'.
26822 * conf/i386-efi.rmk: Likewise.
26823 * conf/x86_64-efi.rmk: Likewise.
26824 * conf/i386-coreboot.rmk: Likewise.
26825 * conf/i386-ieee1275.rmk: Likewise.
26826
0ea85a37 268272008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
26828
26829 Based on patch created by Colin D Bennett <colin@gibibit.com>.
26830 Adds optimization support for BGR based modes.
26831
26832 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
26833 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
26834 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
26835 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
26836 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
26837 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
26838 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
26839 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
26840 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
26841 (grub_video_i386_vbeblit_index_index): Likewise.
26842 (grub_video_i386_vbeblit_replace_directN): Added.
26843 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
26844 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
26845 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
26846 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
26847 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
26848 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 26849 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 26850 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
26851 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
26852 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
26853 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
26854 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
26855 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
26856
26857 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
26858 (grub_video_i386_vbefill_R8G8B8): Likewise.
26859 (grub_video_i386_vbefill_index): Likewise.
26860 (grub_video_i386_vbefill_direct32): Added.
26861 (grub_video_i386_vbefill_direct24): Likewise.
26862 (grub_video_i386_vbefill_direct16): Likewise.
26863 (grub_video_i386_vbefill_direct8): Likewise.
26864
81a06771 26865 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 26866 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
26867 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
26868 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
26869 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
26870 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 26871
0ea85a37 26872 * video/video.c (grub_video_get_blit_format): Updated to use new
26873 blit formats. Added handling for 16 bit color modes.
81a06771 26874
26875 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 26876 fillers.
26877 (common_blitter): Updated to use new blitters.
26878
26879 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
26880 Removed.
26881 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
26882 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
26883 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
26884 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
26885 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
26886 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
26887 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
26888 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
26889 (grub_video_i386_vbeblit_index_index): Likewise.
26890 (grub_video_i386_vbeblit_replace_directN): Added.
26891 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
26892 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
26893 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
26894 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
26895 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
26896 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
26897 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
26898 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
26899 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
26900 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
26901 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
26902 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
26903 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 26904
0ea85a37 26905 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
26906 (grub_video_i386_vbefill_R8G8B8): Likewise.
26907 (grub_video_i386_vbefill_index): Likewise.
26908 (grub_video_i386_vbefill_direct32): Added.
26909 (grub_video_i386_vbefill_direct24): Likewise.
26910 (grub_video_i386_vbefill_direct16): Likewise.
26911 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 26912
0ea85a37 26913 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
26914 types.
81a06771 26915
0ea85a37 26916 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
26917 types.
81a06771 26918
0ea85a37 26919 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
26920 blitter types.
81a06771 26921
0ea85a37 26922 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
26923 types.
26924
e8a83df6 269252008-09-06 Felix Zielcke <fzielcke@z-51.de>
26926
26927 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
26928 RAID level 1.
26929
6bcd8ee5 269302008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 26931
6bcd8ee5 26932 * fs/iso9660.c (grub_iso9660_date): New structure.
26933 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
26934 (grub_iso9660_uuid): New function.
c375ae58 26935
59261157 269362008-09-05 Bean <bean123ch@gmail.com>
26937
26938 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
26939
26940 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
26941 insensitive bit for names in Win32 and Win32 & DOS namespace.
26942
26943 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
26944
26945 * include/grub/types.h (LONG_MAX): Likewise.
26946
58b6645a 269472008-09-04 Felix Zielcke <fzielcke@z-51.de>
26948
4ee55921 26949 * util/getroot.c: Include <config.h>.
26950 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
26951 add support for /dev/md/N devices and handle LVM double dash escaping.
26952
269532008-09-04 Felix Zielcke <fzielcke@z-51.de>
26954
26955 * config.guess: Update to latest version from config git.
26956 * config.sub: Likewise.
58b6645a 26957
9124f65d 269582008-09-03 Robert Millan <rmh@aybabtu.com>
26959
26960 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
26961 `disk->total_sectors'.
26962
81a06771 269632008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 26964
26965 * include/grub/normal.h: Fixed incorrect comment for
26966 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
26967
81a06771 269682008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 26969
26970 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
26971 values with defines.
26972
26973 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
26974 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
26975 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
26976 (GRUB_VBE_MODEATTR_COLOR): Likewise.
26977 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
26978 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
26979 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
26980 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
26981 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
26982 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
26983 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
26984 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
26985 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
26986 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
26987 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
26988 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
26989 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
26990 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
26991 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
26992
93d5cbf8 269932008-08-31 Robert Millan <rmh@aybabtu.com>
26994
26995 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
26996 declaration.
26997 (grub_multiboot): Fix a few warnings.
26998
21751d50 269992008-08-31 Robert Millan <rmh@aybabtu.com>
27000
27001 * loader/i386/pc/multiboot.c: Update comment not to say that
27002 boot_device support is unimplemented.
27003
e27a75c5 270042008-08-31 Robert Millan <rmh@aybabtu.com>
27005
27006 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
27007 or memory map support are unimplemented.
27008
81a06771 270092008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 27010
27011 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
27012
81a06771 270132008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 27014
27015 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
27016 total video memory in 'vbeinfo' output; show color format details for
27017 each video mode.
27018
7c5d8d95 270192008-08-30 Pavel Roskin <proski@gnu.org>
27020
27021 * util/genmoddep.c: Remove for real this time.
27022 * DISTLIST: Remove util/genmoddep.c.
27023
4cebd25a 270242008-08-30 Robert Millan <rmh@aybabtu.com>
27025
27026 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
27027 as required by Multiboot spec (it was already 4-byte aligned, but
27028 only by chance).
27029
b497a269 270302008-08-29 Pavel Roskin <proski@gnu.org>
27031
e3925185 27032 * kern/powerpc/ieee1275/crt0.S: Rename to ...
27033 * kern/powerpc/ieee1275/startup.S: ... this.
27034 * conf/powerpc-ieee1275.rmk: Adjust for the above.
27035 * DISTLIST: Likewise.
27036
b497a269 27037 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
27038 grub/cpu/kernel.h. Add start label for consistency with other
27039 platforms. Add grub_prefix immediately after start. Add jump
27040 to the code after grub_prefix.
27041 * include/grub/powerpc/kernel.h: Provide valid values for
27042 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
27043
6e5a42fe 270442008-08-29 Bean <bean123ch@gmail.com>
27045
27046 * configure.ac: Change host_os to cygwin for mingw.
27047 (asprintf): New check for function.
27048
27049 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
27050 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
27051
27052 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 27053 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 27054 sync, sleep and grub_util_get_disk_size for mingw.
27055
27056 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
27057 to get size in mingw.
27058 (open_device): Use flag O_BINARY if it's defined.
27059 (find_root_device): Add dummy code for mingw.
27060
27061 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
27062 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
27063 (get_scsi_disk_name): Return 0 for mingw.
27064
27065 * util/hostfs.c: #include <grub/util/misc.h>.
27066 (grub_hostfs_open): Use "rb" flag to open file, use
27067 grub_util_get_disk_size to get disk size for mingw.
27068
27069 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
27070 (asprintf): New function if HAVE_ASPRINTF is not set.
27071 (sync): New function for mingw.
27072 (sleep): Likewise.
27073 (grub_util_get_disk_size): Likewise.
27074
ab3f2673 270752008-08-28 Pavel Roskin <proski@gnu.org>
27076
27077 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27078 kern/time.c.
27079
1c282483 270802008-08-28 Robert Millan <rmh@aybabtu.com>
27081
27082 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
27083
678e849c 270842008-08-28 Robert Millan <rmh@aybabtu.com>
27085
27086 Change find_grub_drive() syntax so it doesn't prevent it from
27087 detecting NULL names as errors.
27088
27089 * util/biosdisk.c (find_grub_drive): Move free slot search code
27090 from here ...
27091 (find_free_slot): ... to here.
27092 (read_device_map): Use find_free_slot() to search for free slots.
27093
965c75ca 270942008-08-27 Marco Gerards <marco@gnu.org>
27095
27096 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
27097 (scsi_mod_SOURCES): New variable.
27098 (scsi_mod_CFLAGS): Likewise
27099 (scsi_mod_LDFLAGS): Likewise.
27100
27101 * disk/scsi.c: New file.
27102
27103 * include/grub/scsi.h: Likewise.
27104
27105 * include/grub/scsicmd.h: Likewise.
27106
27107 * disk/ata.c: Include <grub/scsi.h>.
27108 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
27109 instead.
27110 (grub_ata_iterate): Skip ATAPI devices.
27111 (grub_ata_open): Only handle ATAPI devices.
27112 (struct grub_atapi_read): Removed.
27113 (grub_atapi_readsector): Likewise.
27114 (grub_ata_read): No longer handle ATAPI devices.
27115 (grub_ata_write): Likewise.
27116 (grub_atapi_iterate): New function.
27117 (grub_atapi_read): Likewise.
27118 (grub_atapi_write): Likewise.
27119 (grub_atapi_open): Likewise.
27120 (grub_atapi_close): Likewise.
27121 (grub_atapi_dev): New variable.
27122 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
27123 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
27124
27125 * include/grub/disk.h (enum grub_disk_dev_id): Add
27126 `GRUB_DISK_DEVICE_SCSI_ID'.
27127
c07ae501 271282008-08-26 Robert Millan <rmh@aybabtu.com>
27129
27130 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
27131 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
27132 descriptive.
27133
5ed20adc 271342008-08-23 Bean <bean123ch@gmail.com>
27135
27136 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
27137 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
27138 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
27139 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
27140 dm_nv.mod.
27141 (raid5rec_mod_SOURCES): New macro.
27142 (raid5rec_mod_CFLAGS): Likewise.
27143 (raid5rec_mod_LDFLAGS): Likewise.
27144 (raid6rec_mod_SOURCES): Likewise.
27145 (raid6rec_mod_CFLAGS): Likewise.
27146 (raid6rec_mod_LDFLAGS): Likewise.
27147 (mdraid_mod_SOURCES): Likewise.
27148 (mdraid_mod_CFLAGS): Likewise.
27149 (mdraid_mod_LDFLAGS): Likewise.
27150 (dm_nv_mod_SOURCES): Likewise.
27151 (dm_nv_mod_CFLAGS): Likewise.
27152 (dm_nv_mod_LDFLAGS): Likewise.
27153
27154 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
27155 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
27156 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
27157
27158 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
27159 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
27160
27161 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27162
27163 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27164
27165 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27166
27167 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27168
27169 * disk/raid5_recover.c: New file.
27170
27171 * disk/raid6_recover.c: Likewise.
27172
27173 * disk/mdraid_linux.c: Likewise.
27174
27175 * disk/dmraid_nvidia.c: Likewise.
27176
27177 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
27178 ULONG_MAX.
27179
27180 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
27181 calculate the size of raid device.
27182 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
27183 different layout of raid5.
27184 (grub_raid_scan_device): Remove code specific to mdraid.
27185 (grub_raid_list): New variable.
27186 (free_array): New function.
27187 (grub_raid_register): Likewise.
27188 (grub_raid_unregister): Likewise.
27189 (grub_raid_rescan): Likewise.
27190 (GRUB_MOD_INIT): Don't iterate device here.
27191 (GRUB_MOD_FINI): Use free_array to release resource.
27192
27193 * include/grub/raid.h: Remove macro and structure specific to mdraid.
27194 (grub_raid5_recover_func_t): New function variable type.
27195 (grub_raid6_recover_func_t): Likewise.
27196 (grub_raid5_recover_func): New variable.
27197 (grub_raid6_recover_func): Likewise.
27198 (grub_raid_register): New function.
27199 (grub_raid_unregister): Likewise.
27200 (grub_raid_rescan): Likewise.
27201 (grub_raid_block_xor): Likewise.
27202
27203 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
27204 (CMD_CRC): New macro.
27205 (part): Removed.
27206 (read_file): Handle device as well as file.
27207 (cmd_crc): New function.
27208 (fstest): Handle multiple disks.
27209 (options): Remove part, raw and long, add root and diskcount.
27210 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 27211 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 27212 add handling for the new options, support multiple disks.
27213
27214 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
27215
29c18915 272162008-08-23 Bean <bean123ch@gmail.com>
27217
27218 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
27219
27220 * genfslist.sh: Ignore kernel.mod.
27221
27222 * genpartmaplist.sh: Likewise.
27223
8415f261 272242008-08-23 Robert Millan <rmh@aybabtu.com>
27225
27226 * util/getroot.c (find_root_device): Skip anything that starts with
27227 a dot, not just directories. This avoids things like /dev/.tmp.md0.
27228
d5a7dc5b 272292008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 27230
d5a7dc5b 27231 * util/update-grub.in (GRUB_GFXMODE): Export variable.
27232 * util/grub.d/00_header.in: Allow the administrator to change default
27233 gfxmode via ${GRUB_GFXMODE}.
27234
380cfbb4 272352008-08-21 Felix Zielcke <fzielcke@z-51.de>
27236
27237 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
27238
c9baafe7 272392008-08-21 Robert Millan <rmh@aybabtu.com>
27240
27241 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
27242 loader.
27243 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
27244 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
27245
e290bef2 272462008-08-20 Carles Pina i Estany <carles@pina.cat>
27247
27248 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
27249 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
27250
f9dbfc96 272512008-08-19 Robert Millan <rmh@aybabtu.com>
27252
27253 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
27254 (struct grub_virtual_screen): Remove `cursor_color'.
27255 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
27256 initialization.
27257 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
27258
dd6bd6ab 272592008-08-18 Robert Millan <rmh@aybabtu.com>
27260
27261 Unify (identical) linux_normal.c files.
27262 * loader/i386/efi/linux_normal.c: Move from here ...
27263 * loader/linux_normal.c: ... to here. Update all users.
27264 * loader/i386/pc/linux_normal.c: Delete. Update all users.
27265 * loader/i386/ieee1275/linux_normal.c: Likewise.
27266
7f42f83e 272672008-08-18 Robert Millan <rmh@aybabtu.com>
27268
27269 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
27270 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
27271 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
27272 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
27273 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
27274 New macros.
27275 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
27276 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
27277 (GRUB_LINUX_CL_END_OFFSET): ... to here.
27278 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
27279 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
27280 (GRUB_EFI_CL_END_OFFSET): Rename to ...
27281 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
27282 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
27283 Initialize `params->video_cursor_x' and `params->video_cursor_y'
27284 portably using grub_getxy().
27285 Replace `-EFI' with `-bzImage' in boot message.
27286
38487ddb 272872008-08-17 Robert Millan <rmh@aybabtu.com>
27288
27289 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
27290
deceb3ec 272912008-08-17 Robert Millan <rmh@aybabtu.com>
27292
27293 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
27294
27295 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
27296 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
27297 (grub_machine_mmap_iterate): New function declaration.
27298 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
27299 structure.
27300 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
27301 macros.
27302
27303 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
27304 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
27305 Move e820 parsing from here ...
27306 * kern/i386/pc/mmap.c: New file.
27307 (grub_machine_mmap_iterate): ... to here.
27308
27309 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
27310 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
27311 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
27312 (grub_available_iterate): Redeclare to return `void', and redeclare
27313 its hook to use grub_uint64_t as addr and size parameters, and rename
27314 to ...
27315 (grub_machine_mmap_iterate): ... this. Update all users.
27316
27317 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
27318 to make it more readable. Rename to ...
27319 (grub_machine_mmap_iterate): ... this.
27320
27321 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
27322 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
27323 (grub_multiboot): Allocate an extra region after the payload, and fill
27324 it with a Multiboot memory map. Adjust a.out loader to calculate size
27325 with the extra space.
27326 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
27327 with the extra space.
27328
f8aa0f43 273292008-08-17 Carles Pina i Estany <carles@pina.cat>
27330
9807deb9 27331 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 27332
605f5bb6 273332008-08-17 Felix Zielcke <fzielcke@z-51.de>
27334
27335 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
27336 mdate-sh to the list `find' searches for.
27337 * DISTLIST: Regenerated.
27338
210db6c6 273392008-08-16 Felix Zielcke <fzielcke@z-51.de>
27340
27341 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
27342 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 27343 genmoddep.awk, gensymlist.sh.in.
27344 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 27345 * DISTLIST: Regenerated.
48cdbfd4 27346 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 27347
1082b929 273482008-08-16 Robert Millan <rmh@aybabtu.com>
27349
27350 * disk/raid.c (grub_raid_init): Handle/report errors set by
27351 grub_device_iterate().
27352 * disk/lvm.c (grub_lvm_init): Likewise.
27353
42ce5170 273542008-08-15 Bean <bean123ch@gmail.com>
27355
27356 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27357 and datehook.mod.
27358 (datetime_mod_SOURCES): New macro.
27359 (datetime_mod_CFLAGS): Likewise.
27360 (datetime_mod_LDFLAGS): Likewise.
27361 (date_mod_SOURCES): Likewise.
27362 (date_mod_CFLAGS): Likewise.
27363 (date_mod_LDFLAGS): Likewise.
27364 (datehook_mod_SOURCES): Likewise.
27365 (datehook_mod_CFLAGS): Likewise.
27366 (datehook_mod_LDFLAGS): Likewise.
27367
27368 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27369 and datehook.mod.
27370 (datetime_mod_SOURCES): New macro.
27371 (datetime_mod_CFLAGS): Likewise.
27372 (datetime_mod_LDFLAGS): Likewise.
27373 (date_mod_SOURCES): Likewise.
27374 (date_mod_CFLAGS): Likewise.
27375 (date_mod_LDFLAGS): Likewise.
27376 (datehook_mod_SOURCES): Likewise.
27377 (datehook_mod_CFLAGS): Likewise.
27378 (datehook_mod_LDFLAGS): Likewise.
27379
27380 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27381 and datehook.mod.
27382 (datetime_mod_SOURCES): New macro.
27383 (datetime_mod_CFLAGS): Likewise.
27384 (datetime_mod_LDFLAGS): Likewise.
27385 (date_mod_SOURCES): Likewise.
27386 (date_mod_CFLAGS): Likewise.
27387 (date_mod_LDFLAGS): Likewise.
27388 (datehook_mod_SOURCES): Likewise.
27389 (datehook_mod_CFLAGS): Likewise.
27390 (datehook_mod_LDFLAGS): Likewise.
27391
27392 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27393 and datehook.mod.
27394 (datetime_mod_SOURCES): New macro.
27395 (datetime_mod_CFLAGS): Likewise.
27396 (datetime_mod_LDFLAGS): Likewise.
27397 (date_mod_SOURCES): Likewise.
27398 (date_mod_CFLAGS): Likewise.
27399 (date_mod_LDFLAGS): Likewise.
27400 (datehook_mod_SOURCES): Likewise.
27401 (datehook_mod_CFLAGS): Likewise.
27402 (datehook_mod_LDFLAGS): Likewise.
27403
27404 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27405 and datehook.mod.
27406 (datetime_mod_SOURCES): New macro.
27407 (datetime_mod_CFLAGS): Likewise.
27408 (datetime_mod_LDFLAGS): Likewise.
27409 (date_mod_SOURCES): Likewise.
27410 (date_mod_CFLAGS): Likewise.
27411 (date_mod_LDFLAGS): Likewise.
27412 (datehook_mod_SOURCES): Likewise.
27413 (datehook_mod_CFLAGS): Likewise.
27414 (datehook_mod_LDFLAGS): Likewise.
27415
27416 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
27417
27418 * commands/date.c: New file.
27419
27420 * hook/datehook.c: Likewise.
27421
27422 * include/grub/lib/datetime.h: Likewise.
27423
27424 * include/grub/i386/cmos.h: Likewise.
27425
27426 * lib/datetime.c: Likewise.
27427
27428 * lib/i386/datetime.c: Likewise.
27429
27430 * lib/efi/datetime.c: Likewise.
27431
0e9242da 274322008-08-14 Robert Millan <rmh@aybabtu.com>
27433
27434 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
27435 (grub_mkelfimage_SOURCES): New variable.
27436 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
27437
27438 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
27439 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
27440 * conf/powerpc-ieee1275.rmk: Likewise.
27441 * conf/i386-ieee1275.rmk: Likewise.
27442
27443 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
27444 * kern/i386/coreboot/init.c: Likewise.
27445
27446 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
27447 with `<grub/cpu/kernel.h>'.
27448 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
27449 to ...
27450 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
27451 * kern/i386/coreboot/startup.S: Likewise.
27452
27453 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
27454 (GRUB_MOD_GAP): Remove.
27455 * include/grub/powerpc/kernel.h: New file.
27456 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
27457 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
27458 * include/grub/i386/kernel.h: New file.
27459 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
27460 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
27461 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
27462
27463 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
27464 `grub-mkelfimage'.
27465 Use --directory when invoking grub_mkimage.
27466
27467 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
27468 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
27469 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
27470 and GRUB_KERNEL_CPU_PREFIX.
27471
b86408f8 274722008-08-14 Felix Zielcke <fzielcke@z-51.de>
27473
d5e619ca 27474 * include/grub/err.h (grub_err_printf): New function prototype.
27475 * util/misc.c (grub_err_printf): New function.
27476 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
27477 grub_printf.
27478 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 27479
7161f0e0 274802008-08-13 Robert Millan <rmh@aybabtu.com>
27481
27482 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
27483
a1967522 274842008-08-13 Robert Millan <rmh@aybabtu.com>
27485
27486 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
27487 boot entry.
27488
371458b5 274892008-08-12 Robert Millan <rmh@aybabtu.com>
27490
27491 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
27492 of the relocation code from here ...
27493 (grub_multiboot): ... to here.
27494 (forward_relocator, backward_relocator): Move from here ...
27495 * kern/i386/loader.S (grub_multiboot_forward_relocator)
27496 (grub_multiboot_backward_relocator): ... to here.
27497 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
27498 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
27499 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
27500 (grub_multiboot_forward_relocator_end)
27501 (grub_multiboot_backward_relocator)
27502 (grub_multiboot_backward_relocator_end): New variables.
27503
05f9452b 275042008-08-12 Bean <bean123ch@gmail.com>
27505
27506 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
27507
20024ab0 275082008-08-11 Robert Millan <rmh@aybabtu.com>
27509
27510 * kern/i386/linuxbios/startup.S: Move from here ...
27511 * kern/i386/coreboot/startup.S: ... to here.
27512
27513 * kern/i386/linuxbios/init.c: Move from here ...
27514 * kern/i386/coreboot/init.c: ... to here.
27515
27516 * kern/i386/linuxbios/table.c: Move from here ...
27517 * kern/i386/coreboot/mmap.c: ... to here.
27518
27519 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
27520
e352e9cd 275212008-08-11 Robert Millan <rmh@aybabtu.com>
27522
27523 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
27524 errors. Leave it to the upper layer to handle them.
27525
2d05bc6a 275262008-08-09 Christian Franke <franke@computer.org>
27527
27528 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
27529 * conf/common.rmk: Install `grub-pe2elf' only if requested.
27530 Install `grub.d/10_windows' only on Cygwin.
27531 * configure.ac: Add subst of `target_os'.
27532 Check `target_os' also before setting TARGET_OBJ2ELF.
27533 Add `--enable-grub-pe2elf'.
27534
042bd419 275352008-08-08 Robert Millan <rmh@aybabtu.com>
27536
27537 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
27538 (grub_last_time): Change type to grub_uint64_t.
27539 (grub_disk_open): Migrate code from to using grub_get_time_ms().
27540 (grub_disk_close): Likewise.
27541
27542 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
27543 (run_menu): Migrate code from to using grub_get_time_ms().
27544
27545 * util/misc.c (grub_get_time_ms): New function.
27546
7f280db5 275472008-08-08 Marco Gerards <marco@gnu.org>
27548
27549 * disk/ata.c (grub_ata_regget): Change return type to
27550 `grub_uint8_t'.
27551 (grub_ata_regget2): Likewise.
27552 (grub_ata_wait_status): New function.
27553 (grub_ata_wait_busy): Removed function, updated all users to use
27554 `grub_ata_wait_status'.
27555 (grub_ata_wait_drq): Likewise.
27556 (grub_ata_cmd): New function.
27557 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
27558 error handling.
27559 (grub_ata_pio_write): Add error handling.
27560 (grub_atapi_identify): Likewise.
27561 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
27562 handling.
27563 (grub_ata_identify): Use `grub_ata_cmd' and improve error
27564 handling. Actually use the detected registers. Reorder the
27565 detection logic such that it is easier to read.
27566 (grub_ata_pciinit): Do not assign the same ID to each controller.
27567 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
27568 handling.
27569 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
27570
27571 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
27572
1fbc5e66 275732008-08-08 Marco Gerards <marco@gnu.org>
27574
27575 * NEWS: Update.
27576
819ce6c0 275772008-08-07 Bean <bean123ch@gmail.com>
27578
27579 * include/grub/x86_64/pci.h: New file.
27580
5c41d44d 275812008-08-07 Christian Franke <franke@computer.org>
27582
27583 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
27584 (TIMER2_GATE): Likewise.
27585 (grub_pit_wait): Add enable/disable of the timer2 gate
27586 bit of port 0x61. This fixes a possible infinite loop.
27587
5ebc275d 275882008-08-07 Bean <bean123ch@gmail.com>
27589
27590 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
27591 kern/i386/tsc.c and kern/i386/pit.c.
27592
27593 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
27594 x86_64 platform.
27595
27596 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
27597 <grub/i386/tsc.h>.
27598
27599 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
27600
e383b3d0 276012008-08-07 Bean <bean123ch@gmail.com>
27602
27603 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
27604
27605 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
27606
27607 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
27608 multiple inclusion. Add #include <grub/types.h>.
27609
1cbb58ac 276102008-08-06 Christian Franke <franke@computer.org>
27611
27612 * conf/common.rmk: Build and install `10_windows'.
27613 * util/grub.d/10_windows.in: New script.
27614
337f5a1e 276152008-08-06 Pavel Roskin <proski@gnu.org>
27616
27617 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
27618
057bc4ac 276192008-08-06 Robert Millan <rmh@aybabtu.com>
27620
27621 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
27622 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
27623
2b99f123 276242008-08-06 Bean <bean123ch@gmail.com>
27625
27626 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
27627 (grub_pxefs_fs_int): Remove dummy definition.
27628 (grub_pxefs_open): Use data->block_size to store the current block
27629 size setting.
27630 (grub_pxefs_read): Use block size stored in data->block_size. As the
27631 value of grub_pxe_blksize can be changed after the file is opened.
27632
9f0234cb 276332008-08-06 Bean <bean123ch@gmail.com>
27634
27635 * fs/i386/pc/pxe.c (curr_file): new variable.
27636 (grub_pxefs_open): Simply the handling of pxe file system. Don't
27637 require the dummy internal file system anymore.
27638 (grub_pxefs_read): Removed.
27639 (grub_pxefs_close): Likewise.
27640 (grub_pxefs_fs_int): Likewise.
27641 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
27642 connection when we switch file.
27643 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
27644
a55d42e0 276452008-08-06 Robert Millan <rmh@aybabtu.com>
27646
27647 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
27648 `halt.mod'.
27649 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
27650 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
27651
27652 * kern/i386/halt.c: New file.
27653 * kern/i386/reboot.c: Likewise.
27654 * include/grub/i386/reboot.h: Likewise.
27655 * include/grub/i386/halt.h: Likewise.
27656
27657 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
27658 Include `<grub/cpu/halt.h>'.
27659 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
27660 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
27661
27662 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
27663 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
27664 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
27665 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
27666 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
27667 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
27668 from here ...
27669 * include/grub/i386/at_keyboard.h: ... to here.
27670
24371d26 276712008-08-05 Robert Millan <rmh@aybabtu.com>
27672
27673 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
27674 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
27675 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
27676 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
27677 `kern/generic/millisleep.c'.
27678
27679 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
27680 instead of grub_get_rtc().
27681 (grub_tsc_init): Initialize `tsc_boot_time'.
27682
27683 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
27684 (grub_machine_init): Use grub_tsc_init() rather than
27685 installing an RTC-based handler via grub_install_get_time_ms().
27686
27687 * kern/i386/pit.c: New file.
27688 * include/grub/i386/pit.h: Likewise.
27689
9e7007b3 276902008-08-05 Bean <bean123ch@gmail.com>
27691
27692 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
27693
27694 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
27695 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
27696 (pxe_mod_SOURCES): New macro.
27697 (pxe_mod_CFLAGS): Likewise.
27698 (pxe_mod_LDFLAGS): Likewise.
27699 (pxecmd_mod_SOURCES): Likewise.
27700 (pxecmd_mod_CFLAGS): Likewise.
27701 (pxecmd_mod_LDFLAGS): Likewise.
27702
27703 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
27704 (grub_pxe_call): Likewise.
27705
27706 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
27707
27708 * commands/i386/pc/pxecmd.c: New file.
27709
9f0234cb 27710 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 27711
27712 * include/grub/i386/pc/pxe.h: Likewise.
27713
6977d49f 277142008-08-05 Bean <bean123ch@gmail.com>
27715
27716 * util/console.c (grub_console_cur_color): New variable.
27717 (grub_console_standard_color): Likewise.
27718 (grub_console_normal_color): Likewise.
27719 (grub_console_highlight_color): Likewise.
27720 (color_map): Likewise.
27721 (use_color): Likewise.
27722 (NUM_COLORS): New macro.
27723 (grub_ncurses_setcolorstate): Handle color properly.
27724 (grub_ncurses_setcolor): Don't change color here, just remember the
27725 settings, color will be set in grub_ncurses_setcolorstate.
27726 (grub_ncurses_getcolor): New function.
27727 (grub_ncurses_init): Initialize color pairs.
27728 (grub_ncurses_term): New member grub_ncurses_getcolor.
27729
9c2ff3ee 277302008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 27731
9c2ff3ee 27732 High resolution timer support. Implemented for x86 CPUs using TSC.
27733 Extracted generic grub_millisleep() so it's linked in only as needed.
27734 This requires a Pentium compatible CPU; if the RDTSC instruction is
27735 not supported, then it falls back on the generic grub_get_time_ms()
27736 implementation that uses the machine's RTC.
27737
27738 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
27739 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
27740 `kern/generic/millisleep.c'.
27741
27742 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
27743 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
27744
27745 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
27746 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
27747
27748 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
27749
27750 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27751 `kern/generic/millisleep.c'.
27752
27753 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
27754
27755 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
27756
27757 * kern/generic/rtc_get_time_ms.c: New file.
27758
27759 * kern/generic/millisleep.c: New file.
337f5a1e 27760
9c2ff3ee 27761 * kern/misc.c: Don't include
27762 <kern/time.h> anymore.
27763 (grub_millisleep_generic): Removed.
27764
27765 * commands/sleep.c (grub_interruptible_millisleep): Uses
27766 grub_get_time_ms() instead of grub_get_rtc().
27767
27768 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
27769 function.
27770 (grub_cpu_is_cpuid_supported): New inline function.
27771 (grub_cpu_is_tsc_supported): New inline function.
27772 (grub_tsc_init): New function prototype.
27773 (grub_tsc_get_time_ms): New function prototype.
27774
27775 * kern/i386/tsc.c (grub_get_time_ms): New file.
27776
27777 * include/grub/time.h: Include <grub/types.h.
27778 (grub_millisleep_generic): Removed.
27779 (grub_get_time_ms): New prototype.
27780 (grub_install_get_time_ms): New prototype.
27781 (grub_rtc_get_time_ms): New prototype.
27782
27783 * kern/time.c (grub_get_time_ms): New function.
27784 (grub_install_get_time_ms): New function.
27785
27786 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
27787 <grub/time.h> anymore.
27788 (grub_millisleep): Removed.
27789 (grub_machine_init): Call grub_tsc_init.
27790
27791 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
27792 get_time_ms() implementation.
27793
27794 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
27795 (ieee1275_get_time_ms): New function.
27796 (grub_machine_init): Install get_time_ms() implementation.
27797
27798 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
27799 (grub_machine_init): Call grub_tsc_init().
27800 (grub_millisleep): Removed.
bf06a93f 27801
9c2ff3ee 27802 * kern/ieee1275/init.c (grub_millisleep): Removed.
27803 (grub_machine_init): Install ieee1275_get_time_ms()
27804 implementation.
27805 (ieee1275_get_time_ms): New function.
27806 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
27807 real work.
27808
9ec92aaf 278092008-08-05 Marco Gerards <marco@gnu.org>
27810
27811 * disk/ata.c: Include <grub/pci.h>.
27812 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
27813 (grub_ata_initialize): Rewritten.
27814 (grub_ata_device_initialize): New function.
27815
8d23f507 278162008-08-04 Pavel Roskin <proski@gnu.org>
27817
27818 * kern/main.c: Include grub/mm.h.
27819
5e15ee3d 278202008-08-04 Robert Millan <rmh@aybabtu.com>
27821
27822 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
27823 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
27824 corruption problem).
27825
a9053f8f 278262008-08-04 Robert Millan <rmh@aybabtu.com>
27827
27828 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
27829 warnings introduced in my last commit.
27830
dd19c7d7 278312008-08-03 Robert Millan <rmh@aybabtu.com>
27832
27833 Make PCI available on all i386 architectures.
27834
27835 * include/grub/i386/pc/pci.h: Move from here ...
27836 * include/grub/i386/pci.h: ... to here.
27837
27838 * include/grub/i386/pc/pci.h: Remove.
27839 * include/grub/i386/efi/pci.h: Remove.
27840 * include/grub/x86_64/efi/pci.h: Remove.
27841
27842 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
27843 `<grub/cpu/pci.h>'.
27844
27845 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
27846 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
27847 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
27848
27849 * conf/i386-ieee1275.rmk: Likewise.
27850
e14a6184 278512008-08-03 Robert Millan <rmh@aybabtu.com>
27852
27853 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
27854 (grub_console_setcursor): Make it possible to set cursor off.
27855
52768e37 278562008-08-03 Robert Millan <rmh@aybabtu.com>
27857
27858 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
27859 of modules instead of assuming which platform provides what.
27860 * util/update-grub.in: Likewise.
27861
2d52f57f 278622008-08-03 Robert Millan <rmh@aybabtu.com>
27863
27864 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
27865 instead of `grub_install_dos_part' to determine whether a drive needs
27866 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 27867 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 27868
2a5cd121 278692008-08-02 Robert Millan <rmh@aybabtu.com>
27870
27871 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
27872
93808428 278732008-08-02 Robert Millan <rmh@aybabtu.com>
27874
27875 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
27876 of informational grub_dprintf() calls.
27877
3bd0a12a 278782008-08-02 Robert Millan <rmh@aybabtu.com>
27879
27880 * disk/memdisk.c (memdisk_size): Don't initialize.
27881 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
27882
27883 * include/grub/i386/pc/kernel.h
27884 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
27885 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
27886 (grub_memdisk_image_size, grub_arch_memdisk_addr)
27887 (grub_arch_memdisk_size): Remove.
27888
27889 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
27890 field (was only used to transfer a constant). Add `type' field to
27891 support multiple module types.
27892 (grub_module_iterate): New function.
27893
27894 * kern/device.c (grub_device_open): Do not hide error messages
27895 when grub_disk_open() fails. Use grub_print_error() instead.
27896
27897 * kern/i386/pc/init.c (grub_arch_modules_addr)
27898 (grub_arch_memdisk_size): Remove functions.
27899 (grub_arch_modules_addr): Return the module address in high memory
27900 (now that it isn't copied anymore).
27901
27902 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
27903 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
27904 decompression routine (grub_total_module_size already includes that
27905 now). Don't copy modules back to low memory.
27906
27907 * kern/main.c: Include `<grub/mm.h>'.
27908 (grub_load_modules): Split out (and use) ...
27909 (grub_module_iterate): ... this function, which iterates through
27910 module objects and runs a hook.
27911 Comment out grub_mm_init_region() call, as it would cause non-ELF
27912 modules to be overwritten.
27913
27914 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
27915 the memdisk image in its own region, make it part of the module list.
27916 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
27917 (main): Parse --memdisk|-m option, and pass user-provided path as
27918 parameter to generate_image().
27919 (add_segments): Pass `memdisk_path' down to load_modules().
27920 (load_modules): Embed memdisk image in module section when requested.
27921 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
27922 `header.type' instead of `header.offset'.
27923
27924 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
27925 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
27926 (memdisk_mod_LDFLAGS): New variables.
27927 * conf/i386-coreboot.rmk: Likewise.
27928 * conf/i386-ieee1275.rmk: Likewise.
27929
a927cc73 279302008-08-02 Robert Millan <rmh@aybabtu.com>
27931
27932 * loader/i386/pc/multiboot.c (playground, forward_relocator)
27933 (backward_relocator): New variables. Used to allocate and relocate
27934 the payload, respectively.
27935 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 27936 address, install the appropriate relocator code in each bound of
a927cc73 27937 the payload, and set the entry point such that
27938 grub_multiboot_real_boot() will jump to one of them.
27939
27940 * kern/i386/loader.S (grub_multiboot_payload_size)
27941 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
27942 (grub_multiboot_payload_entry_offset): New variables.
27943 (grub_multiboot_real_boot): Set cpu context to what the relocator
27944 expects, and jump to the relocator instead of the payload.
27945
27946 * include/grub/i386/loader.h (grub_multiboot_payload_size)
27947 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
27948 (grub_multiboot_payload_entry_offset): Export.
27949
b15d8a0c 279502008-08-01 Bean <bean123ch@gmail.com>
27951
27952 * normal/menu_entry.c (editor_getline): Don't return the original
27953 string as result, as it will be released by lexer once it has done
27954 using it.
27955
cdfb3d22 279562008-08-01 Robert Millan <rmh@aybabtu.com>
27957
27958 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
27959 within menuentries, not before them.
27960 util/grub.d/10_hurd.in: Likewise.
27961
9175e93d 279622008-08-01 Bean <bean123ch@gmail.com>
27963
27964 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
27965 (bufio_mod_SOURCES): New macro.
27966 (bufio_mod_CFLAGS): Likewise.
27967 (bufio_mod_LDFLAGS): Likewise.
27968
27969 * include/grub/bufio.h: New file.
27970
27971 * io/bufio.c: Likewise.
27972
27973 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
27974 (grub_video_reader_png): Use grub_buffile_open to open file.
27975
27976 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
27977 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
27978
27979 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
27980 (grub_video_reader_tga): Use grub_buffile_open to open file.
27981
27982 * font/manager.c: Include <grub/bufio.h>.
27983 (add_font): Use grub_buffile_open to open file.
27984
3d8383e7 279852008-07-31 Robert Millan <rmh@aybabtu.com>
27986
27987 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
27988 ELF segments, use a macro for arbitrarily accessing any of them instead
27989 of preparing a pointer that allows access to one at a time.
27990 (grub_multiboot_load_elf64): Likewise.
27991
16e641b6 279922008-07-31 Bean <bean123ch@gmail.com>
27993
27994 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
27995 GRUB_KERNEL_MACHINE_DATA_END.
27996
59198b72 279972008-07-30 Robert Millan <rmh@aybabtu.com>
27998
27999 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
28000 Increase from 0x50 to 0x60.
28001 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
28002 use UUIDs to identify the root drive for them. If that's not
28003 possible, abort.
28004 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
28005 check, for cross-disk installs.
28006
ae88bca3 280072008-07-30 Robert Millan <rmh@aybabtu.com>
28008
28009 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
28010 is non-empty, use it to set the `prefix' environment variable instead
28011 of the usual approach.
28012 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
28013 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
28014 environment variable instead of dummy make_install_device().
28015
28016 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
28017 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 28018 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 28019
28020 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
28021 New variable reference.
28022 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
28023 New macro. Defines offset of `grub_prefix' within startup.S (relative
28024 to `start').
28025 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
28026 section within startup.S (relative to `start').
28027 * include/grub/i386/coreboot/kernel.h: Likewise.
28028
28029 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
28030 Overwrite grub_prefix with its contents, at the beginning of the
28031 first segment.
28032 (main): Understand -p|--prefix.
28033
14f41dd1 280342008-07-30 Robert Millan <rmh@aybabtu.com>
28035
28036 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
28037
4ca049a3 280382008-07-30 Robert Millan <rmh@aybabtu.com>
28039
28040 * term/i386/pc/vga_text.c (grub_console_cls): Use
28041 grub_console_gotoxy() to go back to beginning of the screen.
28042 Found by Patrick Georgi <patrick.georgi@coresystems.de>
28043
2921d337 280442008-07-29 Christian Franke <franke@computer.org>
28045
28046 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
28047 Add conversion of emulated mount points on Cygwin.
28048
b609876d 280492008-07-29 Christian Franke <franke@computer.org>
28050
28051 * util/update-grub.in: Add a check for admin
28052 group on Cygwin.
28053 Remove old `grub.cfg.new' before creation.
28054 Add `-f' to `mv' to handle the different filesystem
28055 semantics of Windows.
28056
e93e4679 280572008-07-29 Bean <bean123ch@gmail.com>
28058
28059 * normal/main.c (get_line): Fix buffer overflow bug.
28060
41694fd0 280612008-07-28 Robert Millan <rmh@aybabtu.com>
28062
28063 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
28064 (struct grub_apple_header): New struct. Describes the layout of
28065 the partmap header.
28066 (apple_partition_map_iterate): Check the header magic as well as the
28067 partition magic (which was already being checked).
28068
cfd0b4e6 280692008-07-28 Pavel Roskin <proski@gnu.org>
28070
28071 * genmk.rb: Add a warning to the beginning of the output that
28072 it's a generated file and should not be edited.
28073
93cce016 280742008-07-28 Robert Millan <rmh@aybabtu.com>
28075
28076 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
28077 with the same number are found, just use issue a warning with
28078 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 28079
cd1df915 280802008-07-27 Robert Millan <rmh@aybabtu.com>
28081
28082 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
28083 information.
28084
b70a8427 280852008-07-27 Bean <bean123ch@gmail.com>
28086
28087 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
28088 (grub_fat_find_dir): Ignore case when comparing filename.
28089
8f5e379f 280902008-07-27 Bean <bean123ch@gmail.com>
28091
28092 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
28093 smallino, as it's more descriptive, and i8count can be confused with
28094 the other field count.
28095 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
28096 inode type.
28097
a85cd5a0 280982008-07-27 Bean <bean123ch@gmail.com>
28099
28100 * commands/crc.c: New file.
28101
28102 * lib/crc.c: Likewise.
28103
28104 * include/grub/lib/crc.h: Likewise.
28105
28106 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
28107
28108 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
28109 (hexdump): Move this function to ...
28110
28111 * lib/hexdump.c: ... here.
28112
28113 * include/grub/hexdump.h: Renamed to ...
28114
28115 * include/grub/lib/hexdump.h: ... this.
28116
28117 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
28118
28119 * util/grub-editenv.c: Likewise.
28120
28121 * include/envblk.h: Renamed to ...
28122
28123 * include/lib/envblk.h: ... this.
28124
28125 * util/envblk.c: Renamed to ...
28126
28127 * lib/envblk.c: ... this.
28128
28129 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
28130 lib/hexdump.c.
28131 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
28132 (pkglib_MODULES): Add crc.mod.
28133 (hexdump_mod_SOURCES): Add lib/hexdump.c.
28134 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
28135 (crc_mod_SOURCES): New macro.
28136 (crc_mod_CFLAGS): Likewise.
28137 (crc_mod_LDFLAGS): Likewise.
28138
28139 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
28140
28141 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28142
28143 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28144
28145 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28146
28147 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28148
c298def0 281492008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 28150
28151 * commands/help.c: Include <grub/term.h>.
28152 (TERM_WIDTH): Removed. Updated all users.
28153
cc349fb3 281542008-07-27 Pavel Roskin <proski@gnu.org>
28155
28156 * util/getroot.c (find_root_device): Rephrase a comment to avoid
28157 spurious warnings about a comment within a comment.
28158
9051607e 281592008-07-25 Robert Millan <rmh@aybabtu.com>
28160
28161 * util/getroot.c (find_root_device): Skip devices that match
28162 /dev/dm-[0-9]. This lets the real device be found for any type of
28163 abstraction (LVM, EVMS, RAID..).
28164 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
28165 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
28166 device is found first, find_root_device() will now skip it.
28167
01453bfc 281682008-07-24 Pavel Roskin <proski@gnu.org>
28169
28170 * include/grub/types.h: Use __builtin_bswap32() and
28171 __builtin_bswap64() with gcc 4.3 and newer.
28172
6af9849f 281732008-07-24 Christian Franke <franke@computer.org>
28174
3a0fa256 28175 * util/i386/pc/grub-install.in: If `--debug' is specified,
28176 pass `--verbose' to grub-setup.
28177 Abort script if make_system_path_relative_to_its_root() fails.
28178
7810e747 281792008-07-24 Bean <bean123ch@gmail.com>
28180
28181 * configure.ac: Fixed a bug caused by the previous cygwin patch,
28182 variable `target_platform' should be `platform'.
28183
42290e17 281842008-07-24 Bean <bean123ch@gmail.com>
28185
51cc5193 28186 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 28187 (grub_png_init_fixed_block): New function.
28188 (grub_png_decode_image_data): Handle fixed huffman code compression.
28189
2a8a80e4 281902008-07-24 Bean <bean123ch@gmail.com>
28191
28192 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
28193 (grub_pe2elf_SOURCES): New macro.
28194 (CLEANFILES): Add grub-pe2elf.
28195
28196 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
28197 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
28198 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
28199 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
28200 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
28201 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
28202 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
28203 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
28204 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
28205 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
28206 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
28207 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
28208 (GRUB_PE32_DT_FUNCTION): Likewise.
28209 (GRUB_PE32_REL_I386_DIR32): Likewise.
28210 (GRUB_PE32_REL_I386_REL32): Likewise.
28211 (grub_pe32_symbol): New structure.
28212 (grub_pe32_reloc): Likewise.
28213
28214 * util/grub-pe2elf.c: New file.
28215
28216 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
28217 start symbol in non pc platform.
28218
28219 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
28220
28221 The following patches are from Christian Franke.
28222
28223 * include/grub/dl.h: Remove .previous, gas supports this only
28224 for ELF format.
28225
28226 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
28227 Remove .type, gas supports this only for ELF format.
28228
28229 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
28230 nullbytes in symbol table. This fixes an infinite loop if table is
28231 zero filled.
28232
28233 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
28234 TARGET_IMG_LDFLAGS and EXEEXT.
28235
28236 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
28237 TARGET_IMG_LDFLAGS_AC.
28238 (grub_CHECK_STACK_ARG_PROBE): New function.
28239
28240 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
28241
28242 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
28243
28244 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
28245 to set TARGET_IMG_LD* accordingly.
28246 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
28247 Add call to grub_CHECK_STACK_ARG_PROBE.
28248 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
28249
28250 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
28251
28252 * genmk.rb: Add EXEEXT to CLEANFILES.
28253
12ccdb75 282542008-07-23 Robert Millan <rmh@aybabtu.com>
28255
28256 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
28257 define the codes for arrows and lines used for the menu).
28258 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
28259 as well.
28260
28261 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
28262 fonts, because the latter are too slow.
28263
18eeaf04 282642008-07-21 Bean <bean123ch@gmail.com>
28265
28266 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
28267 a20. Run keyboard test last, as it will cause macbook to halt.
28268
b095e2ad 282692008-07-18 Pavel Roskin <proski@gnu.org>
28270
28271 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
28272 load foreign architecture modules correctly anyway. Keep
28273 support for loading host architecture modules, whether we
28274 compile them or not.
28275
737feb35 282762008-07-17 Pavel Roskin <proski@gnu.org>
28277
3f4ce737 28278 * configure.ac: Use -m32 or -m64 regardless of whether we had to
28279 change target_cpu. The compiler default can mismatch target_cpu
28280 in any case.
28281
4ad2d049 28282 * disk/efi/efidisk.c: Fix format warnings on x86_64.
28283 * kern/efi/efi.c: Likewise.
28284
f6130a12 28285 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
28286 target compiler is functional.
28287 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
28288 are set up.
28289
58393a2d 28290 * configure.ac: Default to efi platform for x86_64-apple. Allow
28291 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
28292 adjustments from the rest, only do them if target is not
28293 explicitly given. Merge other adjustments with the final sanity
28294 check. Remove an extraneous check for supported CPU. Be
28295 specific which CPU and which platform is not supported.
28296
737feb35 28297 * configure.ac: Default to pc platform for x86_64.
28298
546f966a 282992008-07-17 Robert Millan <rmh@aybabtu.com>
28300
28301 Partial LinuxBIOS -> Coreboot rename.
28302
28303 * conf/i386-linuxbios.rmk: Renamed to ...
28304 * conf/i386-coreboot.rmk: ... this.
28305 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
28306 * configure.ac: Accept "coreboot" as input platform (but maintain
28307 compatibility with "linuxbios").
28308 * include/grub/i386/linuxbios: Renamed to ...
28309 * include/grub/i386/coreboot: ... this.
28310
20011694 283112008-07-17 Bean <bean123ch@gmail.com>
28312
28313 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 28314 (appleldr_mod_SOURCE): New variable.
20011694 28315 (appleldr_mod_CFLAGS): Likewise.
28316 (appleldr_mod_LDFLAGS): Likewise.
28317 (pci_mod_SOURCES): Likewise.
28318 (pci_mod_CFLAGS): Likewise.
28319 (pci_mod_LDFLAGS): Likewise.
28320 (lspci_mod_SOURCES): Likewise.
28321 (lspci_mod_CFLAGS): Likewise.
28322 (lspci_mod_LDFLAGS): Likewise.
28323
28324 * conf/x86_64-efi.rmk: New file.
28325
28326 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
28327 macro.
28328 (grub_efidisk_write): Likewise.
28329
28330 * include/efi/api.h (efi_call_0): New macro.
28331 (efi_call_1): Likewise.
28332 (efi_call_2): Likewise.
28333 (efi_call_3): Likewise.
28334 (efi_call_4): Likewise.
28335 (efi_call_5): Likewise.
28336 (efi_call_6): Likewise.
28337
28338 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
28339 grub_rescue_cmd_chainloader.
28340
28341 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
28342 (grub_pe32_optional_header): Change some fields based on i386 or
28343 x86_64 platform.
28344 (GRUB_PE32_PE32_MAGIC): Likewise.
28345
28346 * include/grub/efi/uga_draw.h: New file.
28347
28348 * include/grub/elf.h (STN_ABS): New constant.
28349 (R_X86_64_NONE): Relocation constant for x86_64.
28350 (R_X86_64_64): Likewise.
28351 (R_X86_64_PC32): Likewise.
28352 (R_X86_64_GOT32): Likewise.
28353 (R_X86_64_PLT32): Likewise.
28354 (R_X86_64_COPY): Likewise.
28355 (R_X86_64_GLOB_DAT): Likewise.
28356 (R_X86_64_JUMP_SLOT): Likewise.
28357 (R_X86_64_RELATIVE): Likewise.
28358 (R_X86_64_GOTPCREL): Likewise.
28359 (R_X86_64_32): Likewise.
28360 (R_X86_64_32S): Likewise.
28361 (R_X86_64_16): Likewise.
28362 (R_X86_64_PC16): Likewise.
28363 (R_X86_64_8): Likewise.
28364 (R_X86_64_PC8): Likewise.
28365
28366 * include/grub/i386/efi/pci.h: New file.
28367
28368 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
28369 Change it value based on platform.
28370 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
28371 (GRUB_E820_RAM): Likewise.
28372 (GRUB_E820_RESERVED): Likewise.
28373 (GRUB_E820_ACPI): Likewise.
28374 (GRUB_E820_NVS): Likewise.
28375 (GRUB_E820_EXEC_CODE): Likewise.
28376 (GRUB_E820_MAX_ENTRY): Likewise.
28377 (grub_e820_mmap): New structure.
28378 (linux_kernel_header): Change the efi field according to different
28379 kernel version, also field from linux_kernel_header.
28380
28381 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
28382
28383 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
28384 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
28385 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
28386 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
28387 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
28388 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
28389 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
28390 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
28391 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
28392 (GRUB_PCI_ADDR_IO_MASK): Likewise.
28393
28394 * include/grub/x86_64/efi/kernel.h: New file.
28395
28396 * include/grub/x86_64/efi/loader.h: Likewise.
28397
28398 * include/grub/x86_64/efi/machine.h: Likewise.
28399
28400 * include/grub/x86_64/efi/pci.h: Likewise.
28401
28402 * include/grub/x86_64/efi/time.h: Likewise.
28403
28404 * include/grub/x86_64/linux.h: Likewise.
28405
28406 * include/grub/x86_64/setjmp.h: Likewise.
28407
28408 * include/grub/x86_64/time.h: Likewise.
28409
28410 * include/grub/x86_64/types.h: Likewise.
28411
28412 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
28413 GRUB_TARGET_SIZEOF_VOID_P.
28414
28415 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
28416 (grub_efi_locate_handle): Likewise.
28417 (grub_efi_open_protocol): Likewise.
28418 (grub_efi_set_text_mode): Likewise.
28419 (grub_efi_stall): Likewise.
28420 (grub_exit): Likewise.
28421 (grub_reboot): Likewise.
28422 (grub_halt): Likewise.
28423 (grub_efi_exit_boot_services): Likewise.
28424 (grub_get_rtc): Likewise.
28425
28426 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
28427 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
28428 (grub_efi_allocate_pages): Wrap efi calls.
28429 (grub_efi_free_pages): Wrap efi calls.
28430 (grub_efi_get_memory_map): Wrap efi calls.
28431
28432 * kern/x86_64/dl.c: New file.
28433
28434 * kern/x86_64/efi/callwrap.S: Likewise.
28435
28436 * kern/x86_64/efi/startup.S: Likewise.
28437
28438 * loader/efi/appleloader.c: Likewise.
28439
28440 * loader/efi/chainloader.c (cmdline): New variable.
28441 (grub_chainloader_unload): Wrap efi calls.
28442 (grub_chainloader_boot): Likewise.
28443 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
28444 command line.
28445
28446 * loader/efi/chainloader_normal.c (chainloader_command):
28447 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
28448 command line.
28449
28450 * loader/i386/efi/linux.c (allocate_pages): Change allocation
28451 method.
28452 (grub_e820_add_region): New function.
28453 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
28454 booting.
28455 (grub_find_video_card): New function.
28456 (grub_linux_setup_video): New function.
28457 (grub_rescue_cmd_linux): Probe for video information.
28458
28459 * normal/x86_64/setjmp.S: New file.
28460
28461 * term/efi/console.c (map_char): New function.
28462 (grub_console_putchar): Map unicode char.
28463 (grub_console_checkkey): Wrap efi calls.
28464 (grub_console_getkey): Likewise.
28465 (grub_console_getwh): Likewise.
28466 (grub_console_gotoxy): Likewise.
28467 (grub_console_cls): Likewise.
28468 (grub_console_setcolorstate): Likewise.
28469 (grub_console_setcursor): Likewise.
28470
28471 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
28472
59652a20 284732008-07-16 Pavel Roskin <proski@gnu.org>
28474
ef294055 28475 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
28476 format strings.
28477
59652a20 28478 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
28479 pointer, not an integer. This fixes a warning and prevents
28480 precision loss on 64-bit systems.
28481 (relocate_addresses): Remove unneeded cast.
28482
afc3b5d7 284832008-07-15 Pavel Roskin <proski@gnu.org>
28484
506b2b3e 28485 * kern/i386/ieee1275/init.c: Include grub/cache.h.
28486
62ead89c 28487 * term/ieee1275/ofconsole.c: Disable code unused on i386.
28488
c4cd51d7 28489 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
28490 Fix comparison between signed and unsigned.
28491
0d3d8f28 28492 * include/grub/i386/ieee1275/console.h: Declare
28493 grub_console_init() and grub_console_fini().
28494
8804b286 28495 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
28496 It's empty and unused.
28497
ee01cf35 28498 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
28499 beginning to avoid warnings with some compilers.
28500
afc3b5d7 28501 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
28502 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
28503
e4e8eaa5 285042008-07-14 Pavel Roskin <proski@gnu.org>
28505
407aceb4 28506 * kern/env.c (grub_register_variable_hook): Don't copy empty
28507 string, it leaks memory. Pass "" to grub_env_set(), it should
28508 handle constant strings.
28509
e4e8eaa5 28510 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
28511 * commands/cmp.c (grub_cmd_cmp): Likewise.
28512 * kern/dl.c (grub_dl_flush_cache): Likewise.
28513 (grub_dl_load_core): Likewise.
28514 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
28515 (grub_elf64_load_phdrs): Likewise.
28516
d4e2dad3 285172008-07-13 Pavel Roskin <proski@gnu.org>
28518
28519 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
28520 between signed and unsigned.
28521 (LzmaEnc_Finish): Fix warning about an unused parameter.
28522
aa24b516 285232008-07-13 Bean <bean123ch@gmail.com>
28524
28525 * Makefile.in (enable_lzo): New rule.
28526
28527 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
28528
28529 * configure.ac (ENABLE_LZO): New option --enable-lzo.
28530
28531 * boot/i386/pc/lnxboot.S: #include <config.h>.
28532
28533 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 28534 its value according to the compression algorithm used, lzo or lzma.
aa24b516 28535
28536 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
28537 compression algorithm according to configure macro.
28538
28539 * kern/i386/pc/startup.S (codestart): Likewise.
28540
28541 * kern/i386/pc/lzma_decode.S: New file.
28542
28543 * include/grub/lib/LzFind.h: Likewise.
28544
28545 * include/grub/lib/LzHash.h: Likewise.
28546
28547 * include/grub/lib/LzmaDec.h: Likewise.
28548
28549 * include/grub/lib/LzmaEnc.h: Likewise.
28550
28551 * include/grub/lib/LzmaTypes.h: Likewise.
28552
28553 * lib/LzFind.c: Likewise.
28554
28555 * lib/LzmaDec.c: Likewise.
28556
28557 * lib/LzmaEnc.c: Likewise.
28558
4ae821ac 285592008-07-13 Bean <bean123ch@gmail.com>
28560
28561 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
28562 (grub_ext4_extent_header): New structure.
28563 (grub_ext4_extent): Likewise.
28564 (grub_ext4_extent_idx): Likewise.
28565 (grub_ext4_find_leaf): New function.
28566 (grub_ext2_read_block): Handle extents.
28567
9a745147 285682008-07-12 Robert Millan <rmh@aybabtu.com>
28569
28570 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
28571
d49a4cf6 285722008-07-11 Robert Millan <rmh@aybabtu.com>
28573
28574 * util/grub.d/40_custom.in: New file. Example on how to add custom
28575 entries to /etc/grub.d.
28576 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
28577 40_custom (implicitly, by merging all the grub.d rules).
28578
947414b4 285792008-07-11 Pavel Roskin <proski@gnu.org>
28580
0059cf6f 28581 * commands/read.c (grub_getline): Fix invalid memory access.
28582 Don't add newline to the variable value.
28583
947414b4 28584 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
28585 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
28586 (serial_hw_get_port): Check validity of the port number.
28587 (grub_cmd_serial): Check return value of serial_hw_get_port().
28588
62a02d00 285892008-07-07 Pavel Roskin <proski@gnu.org>
28590
28591 * boot/i386/pc/diskboot.S (notification_string): Replace
28592 "Loading kernel" with just "loading". This is shorter, less
28593 confusing and saves a few bytes for possible future changes.
28594
3e5581b0 285952008-07-05 Pavel Roskin <proski@gnu.org>
28596
ea387a48 28597 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
28598 size for ATAPI devices, they are undefined. Output sector
28599 number in decimal form.
28600
3e5581b0 28601 * disk/ata.c: Use named constants for status bits.
28602
fdecb8fd 286032008-07-04 Pavel Roskin <proski@gnu.org>
28604
bcd35b90 28605 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
28606 grub_addr_t before casting it to the void pointer to fix a
28607 warning. Non-addressable regions are discarded earlier.
28608 (grub_arch_modules_addr): Cast _end to grub_addr_t.
28609 * kern/i386/linuxbios/table.c: Include grub/misc.h.
28610 (check_signature): Don't shadow table_header.
28611 (grub_linuxbios_table_iterate): Cast numeric constants to
28612 grub_linuxbios_table_header_t.
28613 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
28614 grub_stop().
28615
af58ab3d 28616 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
28617 prevent warnings.
28618
1759aa57 28619 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
28620 pointer, which can cause warnings. Support 64-bit addresses.
28621
fdecb8fd 28622 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
28623 of sizeof(long). This fixes PowerPC image generation on x86_64.
28624
8516d2a8 286252008-07-04 Robert Millan <rmh@aybabtu.com>
28626
28627 This fixes a performance issue when pc & gpt partmap iterators
28628 didn't abort iteration even after our hook found what it was
fe987087 28629 looking for (often causing expensive probes of non-existent drives).
8516d2a8 28630
28631 Some callers relied on previous buggy behaviour, since they would
34c44600 28632 raise an error when their own hooks caused early abortion of its
8516d2a8 28633 iteration.
28634
28635 * kern/device.c (grub_device_open): Improve error message.
28636 * disk/lvm.c (grub_lvm_open): Likewise.
28637 * disk/raid.c (grub_raid_open): Likewise.
28638
28639 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
28640 when hook requests it, independently of grub_errno.
28641 (pc_partition_map_probe): Do not fail when find_func() caused
28642 early abortion of pc_partition_map_iterate().
28643
28644 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
28645 when hook requests it, independently of grub_errno.
28646 (gpt_partition_map_probe): Do not fail when find_func() caused
28647 early abortion of gpt_partition_map_iterate().
28648
28649 * kern/partition.c (grub_partition_iterate): Abort parent iteration
28650 when hook requests it, independently of grub_errno. Do not fail when
28651 part_map_iterate_hook() caused early abortion of p->iterate().
28652
28653 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
28654 when grub_partition_iterate() returned with non-zero.
28655
277d0de9 286562008-07-03 Pavel Roskin <proski@gnu.org>
28657
28658 * disk/ata.c (grub_ata_pio_write): Check status before writing,
28659 like we do in grub_ata_pio_read().
28660 (grub_ata_readwrite): Always write individual sectors. Fix the
28661 sector count for the remainder.
28662 (grub_ata_write): Enable writing to ATA devices. Correctly
28663 report error for ATAPI devices.
28664
d4c9b428 286652008-07-02 Pavel Roskin <proski@gnu.org>
28666
e43fc690 28667 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
28668 warning.
28669
f707af42 28670 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
28671 for every read sector, we already increment it for the whole
28672 batch. This fixes reading more than 256 sectors at once.
28673
11e16b15 28674 * util/grub-editenv.c (cmd_info): Cast argument to long
28675 explicitly. ptrdiff_t reduces to int on i386.
28676
cbabfdd4 28677 * util/grub-editenv.c (main): Be specific which parameter is
28678 missing.
28679
b8fbce0a 28680 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
28681 (memdisk): Make memdisk_orig_addr a pointer.
28682
c9c8e606 28683 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
28684 for file offsets, use grub_off_t instead. Fix printf format
28685 warnings.
28686
ca62e598 28687 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
28688 there. Real unexpected warnings should not drown in the noise
28689 about known problems.
28690
ce8d1766 28691 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
28692 grub_disk_addr_t for memory addresses.
28693
00c7a56a 28694 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
28695 explicitly to fix a warning.
28696
08d3ef09 28697 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
28698
cb71ba20 28699 * Makefile.in (MODULE_LDFLAGS): New variable.
28700 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
28701 the linker accepts --build-id=none.
28702 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
28703 MODULE_LDFLAGS.
28704 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
28705
d4c9b428 28706 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
28707 those in Linux XFS code. Provide a way to access 64-bit parent
28708 inode.
28709 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
28710 the end of struct grub_xfs_dir_header.
28711
d4156eee 287122008-07-02 Bean <bean123ch@gmail.com>
28713
28714 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
28715 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
28716 and GRUB_IEEE1275_FLAG_NO_ANSI.
28717
28718 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
28719 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
28720 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
28721
28722 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
28723 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
28724
28725 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
28726 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
28727
28728 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
28729 esc sequence on non ANSI terminal.
28730 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
28731
28732 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
28733 beginning of file.
28734
2270f77b 287352008-07-02 Bean <bean123ch@gmail.com>
28736
28737 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
28738 (grub_editenv_SOURCES): New variable.
28739 (pkglib_MODULES): Add loadenv.mod.
28740 (loadenv_mod_SOURCES): New variable.
28741 (loadenv_mod_CFLAGS): Likewise.
28742 (loadenv_mod_LDFLAGS): Likewise.
28743
28744 * include/grub/envblk.h: New file.
28745
28746 * util/envblk.c: New file.
28747
28748 * util/grub-editenv.c: New file.
28749
28750 * commands/loadenv.c: New file.
28751
0e9e51ec 287522008-07-01 Pavel Roskin <proski@gnu.org>
28753
d89b7634 28754 * include/multiboot2.h (struct multiboot_tag_module): Use char,
28755 not unsigned char. This fixes warnings and is consistent with
28756 other tags.
28757
bf1835b1 28758 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
28759
8222a04b 28760 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
28761
6a42d99d 28762 * term/tparm.c (analyze): Always set *popcount.
28763
10b159d1 28764 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
28765 cast to fix a warning.
28766
b8789f6c 28767 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
28768 cast to suppress a warning.
28769
29d7e38a 28770 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
28771 grub_fshelp_read_file() expects.
28772
f341f669 28773 * fs/fat.c: Fix UUID calculation on big-endian systems. We
28774 write uuid as a 32-bit value in CPU byte order, so declare and
28775 use it as such.
28776
0e9e51ec 28777 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
28778 long if the format specifier expects it.
28779 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
28780 * partmap/pc.c (pc_partition_map_iterate): Likewise.
28781 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
28782 long to fix a warning.
28783 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
28784 grub_dprintf() arguments to fix warnings.
28785
3aefa857 287862008-06-30 Pavel Roskin <proski@gnu.org>
28787
56c7668b 28788 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
28789 install_bsd_part immediately before core.img is embedded or
28790 modified on disk. This fixes core.img verification if core.img
28791 cannot be embedded.
28792
3aefa857 28793 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
28794 core_path to calculate the blocklist.
28795 Patch from Javier Martín <lordhabbit@gmail.com>
28796
5444088d 287972008-06-29 Robert Millan <rmh@aybabtu.com>
28798
28799 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
28800 block to disk block.
28801 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
28802 Patch from Niels Böhm <bitbucket@arcor.de>
28803
674835c8 288042008-06-29 Robert Millan <rmh@aybabtu.com>
28805
28806 * util/update-grub_lib.in (font_path): Search for fonts in
28807 /boot/grub first, which is more likely to be readable (we aren't
28808 deciding where fonts live, just looking for them).
28809
f527dbc8 288102008-06-26 Pavel Roskin <proski@gnu.org>
28811
6c2d8df6 28812 * util/biosdisk.c (read_device_map): Don't leave dead map
28813 entries for devices failing stat() check.
28814
f527dbc8 28815 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
28816 core_path_dev for the core.img path on the target device.
28817
aebe3d13 288182008-06-26 Robert Millan <rmh@aybabtu.com>
28819
28820 * disk/fs_uuid.c: New file.
28821 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
28822 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
28823 (fs_uuid_mod_LDFLAGS): New variables.
28824 * include/grub/disk.h (grub_disk_dev_id): Add
28825 `GRUB_DISK_DEVICE_UUID_ID'.
28826 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
28827 implement iterate().
28828
37aaf354 288292008-06-26 Robert Millan <rmh@aybabtu.com>
28830
28831 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
28832 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
28833 Linux image includes no initrd.
28834
25ff262a 288352008-06-21 Javier Martín <lordhabbit@gmail.com>
28836
28837 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
28838 call to resolve the core image location that effectively appended the
28839 name twice.
28840
76a2bd44 288412008-06-21 Robert Millan <rmh@aybabtu.com>
28842
28843 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
28844 call from here ...
28845
28846 * util/grub.d/10_hurd.in: ... to here ...
28847 * util/grub.d/10_linux.in: ... and here.
28848
650e1c79 288492008-06-19 Robert Millan <rmh@aybabtu.com>
28850
fe987087 28851 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 28852 after it has been set by grub_machine_set_prefix().
28853
6ce63911 288542008-06-19 Robert Millan <rmh@aybabtu.com>
28855
28856 * commands/search.c (search_label, search_fs_uuid, search_file): Print
28857 search result when not saving to variable, not the other way around.
28858 When saving to variable, abort iteration as soon as a match is found.
28859
73940cec 288602008-06-19 Robert Millan <rmh@aybabtu.com>
28861
28862 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
28863 check for partition that provides /boot/grub. Its logic is flawed,
28864 as it prevents prepare_grub_to_access_device() from being called
28865 multiple times.
28866
3c62a39d 288672008-06-19 Robert Millan <rmh@aybabtu.com>
28868
28869 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
28870 "insmod" command directly when abstraction modules are needed,
fe987087 28871 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 28872 since it had already been processed).
28873
47395a42 288742008-06-19 Pavel Roskin <proski@gnu.org>
28875
28876 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
28877 changed. This is needed in case GRUB_LIBDIR changes.
28878 * conf/i386-ieee1275.rmk: Likewise.
28879 * conf/i386-linuxbios.rmk: Likewise.
28880 * conf/i386-pc.rmk: Likewise.
28881 * conf/powerpc-ieee1275.rmk: Likewise.
28882
a145ac2d 288832008-06-18 Pavel Roskin <proski@gnu.org>
28884
28885 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
28886 kernel_elf_symlist.c to symlist.c for consistency with other
28887 architectures. Update all users.
28888 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28889
7847c51e 288902008-06-18 Robert Millan <rmh@aybabtu.com>
28891
28892 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
28893 it in prefix.
28894
28895 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
28896 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
28897 a RAID device, run setup() for all members independently on whether
28898 LVM abstraction is being used.
28899 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
28900 If grub-mkimage has set `*install_dos_part == -2', don't override this
28901 value.
28902 Perform *install_dos_part adjustments independently on whether
28903 we're embedding or not.
28904 Clarify error message when image is too big for embedding.
28905 Remove duplicate *install_dos_part stanza.
28906
b23e5644 289072008-06-17 Robert Millan <rmh@aybabtu.com>
28908
28909 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
28910 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
28911 variables.
28912 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
28913 values in grub_ofconsole_normal_color and
28914 grub_ofconsole_highlight_color (they're not directly related to
28915 background and foreground).
28916 (grub_ofconsole_setcolorstate): Extract background and foreground
28917 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
28918
0aac2f79 289192008-06-17 Robert Millan <rmh@aybabtu.com>
28920
28921 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
28922 /boot/grub for the check in last commit, not /boot (they could be
28923 different partitions).
28924
3cca7ef3 289252008-06-16 Robert Millan <rmh@aybabtu.com>
28926
28927 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
28928 asked to setup access for the same partition that provides /boot,
28929 don't bother using UUIDs since our root already has the value we
28930 want.
28931
347396d8 289322008-06-16 Robert Millan <rmh@aybabtu.com>
28933
28934 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
28935 I2O devices.
28936 Patch from Sven Mueller <sven@debian.org>.
28937
991477f8 289382008-06-16 Robert Millan <rmh@aybabtu.com>
28939
28940 * util/update-grub.in: Check for $EUID instead of $UID.
28941 Reported by Vincent Zweije.
28942
d31a32a1 289432008-06-16 Bean <bean123ch@gmail.com>
28944
fe987087 28945 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 28946 (grub_ext2_read_block): Likewise.
28947 (grub_ext2_read_inode): Likewise.
28948 (grub_ext2_mount): Likewise.
28949 (grub_ext2_close): Likewise.
28950 (grub_ext3_get_journal): Removed.
28951
fe987087 28952 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 28953 (grub_reiserfs_read_symlink): Likewise.
28954 (grub_reiserfs_mount): Likewise.
28955 (grub_reiserfs_open): Likewise.
28956 (grub_reiserfs_read): Likewise.
28957 (grub_reiserfs_close): Likewise.
28958 (grub_reiserfs_get_journal): Removed.
28959
28960 * fs/fshelp.c (grub_fshelp_read): Removed.
28961 (grub_fshelp_map_block): Likewise.
28962
28963 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
28964 (grub_fshelp_journal): Likewise.
28965 (grub_fshelp_read): Likewise.
28966 (grub_fshelp_map_block): Likewise.
28967
3540a760 289682008-06-16 Pavel Roskin <proski@gnu.org>
28969
28970 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
28971 floating point anymore.
28972 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
28973
95614c84 289742008-06-15 Pavel Roskin <proski@gnu.org>
28975
28976 * commands/ls.c (grub_ls_list_files): Use integer calculations
28977 for human readable format, avoid floating point use.
28978 * kern/misc.c (grub_ftoa): Remove.
28979 (grub_vsprintf): Remove floating point support.
28980
50465dd6 289812008-06-15 Robert Millan <rmh@aybabtu.com>
28982
fe6b695a 28983 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 28984 devices.
28985 Reported by Max Vozeler.
28986
a9207284 289872008-06-15 Robert Millan <rmh@aybabtu.com>
28988
28989 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
28990 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
28991 skipped later.
28992 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
28993 the beginning of the prefix.
28994
28995 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
28996 It is assumed that if we have a memdisk, grub-mkimage has set
28997 grub_prefix to include the "(memdisk)" drive in it.
28998
a7cbd45a 289992008-06-15 Robert Millan <rmh@aybabtu.com>
29000
29001 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
29002 Initialize keyboard controller after registering the terminal, so that
29003 grub_printf() can be called from grub_keyboard_controller_init().
29004
21cf716a 290052008-06-15 Robert Millan <rmh@aybabtu.com>
29006
29007 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
29008 extent-btree which is written as big endian on disk.
29009 Reported by Alain Greppin <al@chilibi.org>.
29010
23a64d8e 290112008-06-14 Robert Millan <rmh@aybabtu.com>
29012
29013 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
29014 * util/i386/pc/grub-install.in (modules): Likewise.
29015
d687651c 290162008-06-13 Pavel Roskin <proski@gnu.org>
29017
29018 * commands/ls.c (grub_ls_list_files): Fix format warnings.
29019
dfe9ddd4 290202008-06-13 Bean <bean123ch@gmail.com>
29021
29022 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
29023
29024 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
29025
29026 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
29027 to indicate sparse block.
29028
16ae7781 290292008-06-12 Pavel Roskin <proski@gnu.org>
29030
e6d1a308 29031 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
29032 number, grub_fshelp_read() does it for us.
29033
16ae7781 29034 * fs/fshelp.c (grub_fshelp_read): New function. Implement
29035 linear disk read with journal translation.
29036 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
29037 * include/grub/fshelp.h: Declare grub_fshelp_read().
29038
40fd3a2b 290392008-06-09 Pavel Roskin <proski@gnu.org>
29040
29041 * fs/minix.c (grub_minix_mount): Handle error reading
29042 superblock.
29043
f5679726 290442008-06-08 Robert Millan <rmh@aybabtu.com>
29045
29046 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
29047 don't append the RAID prefix afterwards.
29048 Reported by Clint Adams.
29049
ce525529 290502008-06-08 Robert Millan <rmh@aybabtu.com>
29051
29052 Based on description from Pavel:
29053 * kern/disk.c (grub_disk_check_range): Rename to ...
29054 (grub_disk_adjust_range): ... this. Add a comment explaining the
29055 tasks performed by this function.
29056
ad4936a0 290572008-06-08 Robert Millan <rmh@aybabtu.com>
29058
29059 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
29060 `num_serial' (for consistency with other variables).
29061 (struct grub_ntfs_data): Add `uuid' member.
29062 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
29063 (grub_ntfs_uuid): New function.
29064 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
29065
dc20b0f9 290662008-06-07 Pavel Roskin <proski@gnu.org>
29067
29068 * util/biosdisk.c (open_device): Revert last change to the
29069 function, it broke installation. The sector needs to be
29070 different dependent on which device is opened.
29071
c5e3cfba 290722008-06-06 Robert Millan <rmh@aybabtu.com>
29073
29074 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
29075 rest of GRUB, and breakage doesn't happen if its value were modified.
29076
29077 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29078 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
29079 a constant (same value).
29080 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
29081 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
29082
26a1f8c4 290832008-06-06 Robert Millan <rmh@aybabtu.com>
29084
29085 * util/biosdisk.c (open_device): Do not modify sector offset when
29086 accessing a partition. kern/disk.c already handles this for us.
29087
25d6b327 290882008-06-06 Robert Millan <rmh@aybabtu.com>
29089
29090 * util/grub-emu.c (grub_machine_init): Move code in this function from
29091 here ...
29092 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
29093 segfault in case grub_printf() is called).
29094
29095 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
29096 grub_probe. Update all users not to explicitly add it again.
29097 (grub_device): New variable; contains corresponding device for grubdir.
29098 (fs_module, partmap_module, devabstraction_module): Pass
29099 `--device ${grub_device}' to grub_probe to avoid traversing /dev
29100 every time.
29101
9ece62fb 291022008-06-05 Robert Millan <rmh@aybabtu.com>
29103
29104 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
29105 is found, print it (same layout as with labels).
29106
1ad36d37 291072008-06-04 Robert Millan <rmh@aybabtu.com>
29108
29109 * util/biosdisk.c (get_drive): Rename to ...
29110 (find_grub_drive): ... this. Update all users.
29111
29112 (get_os_disk): Rename to ...
29113 (convert_system_partition_to_system_disk): ... this. Update all users.
29114
29115 (find_drive): Rename to ...
29116 (find_system_device): ... this. Update all users.
29117
e6a30859 291182008-06-04 Robert Millan <rmh@aybabtu.com>
29119
29120 * util/biosdisk.c (get_os_disk): Handle IDA devices.
29121 * util/grub-mkdevicemap.c (get_mmc_disk_name)
29122 (make_device_map): Likewise.
29123
00c108a4 291242008-06-01 Robert Millan <rmh@aybabtu.com>
29125
29126 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
29127 before dereferencing it.
29128
29129 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
29130 union with fat12/fat16-specific ones. Add some new fields, including
29131 `num_serial' for both versions.
29132 (struct grub_fat_data): Add `uuid' member.
29133 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
29134 names. Initialize `data->uuid' using `num_serial'.
29135 (grub_fat_uuid): New function.
29136 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
29137
29138 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
29139 (grub_reiserfs_uuid): New function.
29140 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
29141 member.
29142
29143 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
29144 (grub_xfs_uuid): New function.
29145 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
29146
1385c5bb 291472008-06-01 Robert Millan <rmh@aybabtu.com>
29148
29149 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
29150 code that is backward compatible with pre-uuid search command.
29151
c682dfd7 291522008-05-31 Robert Millan <rmh@aybabtu.com>
29153
29154 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
29155 floppies after everything else, to ensure floppy drive isn't accessed
29156 unnecessarily (patch from Bean).
29157
b7db5d47 291582008-05-31 Robert Millan <rmh@aybabtu.com>
29159
29160 * commands/search.c (search_label, search_fs_uuid, search_file): Do
29161 not print device names when we were asked to set a variable.
29162
6e037aa9 291632008-05-31 Robert Millan <rmh@aybabtu.com>
29164
29165 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
29166 using "cursor-on" and "cursor-off" commands (understood at least by
29167 the Open Firmware flavour on OLPC).
29168
41305bc8 291692008-05-31 Michael Gorven <michael@gorven.za.net>
29170
29171 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
29172 on and off sequences.
29173
69ba137e 291742008-05-31 Robert Millan <rmh@aybabtu.com>
29175
29176 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
29177 * util/update-grub.in: Likewise.
29178
520ae21b 291792008-05-30 Pavel Roskin <proski@gnu.org>
29180
29181 * util/biosdisk.c (linux_find_partition): Simplify logic and
29182 make the code more universal. Keep special processing for
29183 devfs, but use a simple rule for all other devices. If the
29184 device ends with a number, append 'p' and the partition number.
29185 Otherwise, append only the partition number.
29186
5786569b 291872008-05-30 Robert Millan <rmh@aybabtu.com>
29188
29189 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
29190 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
29191 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
29192 the `root' parameter to Linux.
29193
51500452 291942008-05-30 Robert Millan <rmh@aybabtu.com>
29195
29196 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
29197 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
29198 --fs_uuid with --fs-uuid.
29199 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
29200 all filesystems support them).
29201
811d3878 292022008-05-30 Robert Millan <rmh@aybabtu.com>
29203
29204 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 29205 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 29206
cab63c95 292072008-05-30 Robert Millan <rmh@aybabtu.com>
29208
29209 * util/grub.d/00_header.in: Remove obsolete comment referencing
29210 convert_system_path_to_grub_path().
29211 * util/update-grub.in: Likewise.
29212 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
29213 (convert_system_path_to_grub_path): Add a warning message explaining
29214 that this function is deprecated. Rely on is_path_readable_by_grub()
29215 for the readability checks.
29216 (font_path): Use is_path_readable_by_grub() for the readability
29217 check rather than convert_system_path_to_grub_path().
29218
972e2f7a 292192008-05-30 Robert Millan <rmh@aybabtu.com>
29220
29221 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
29222 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
29223 converting it first.
29224 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
29225 grub.cfg for access to font file, and afterwards call it again to set
29226 the root device.
29227
62191274 292282008-05-30 Robert Millan <rmh@aybabtu.com>
29229
29230 * commands/search.c (options): Add --fs_uuid option.
29231 (search_fs_uuid): New function.
29232 (grub_cmd_search): Fix --set argument passing.
29233 Use search_fs_uuid() when requested via --fs_uuid.
29234 (grub_search_init): Update help message.
29235 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
29236 and redeclare it as an array of 16-bit words.
29237 (grub_ext2_uuid): New function.
29238 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
29239 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
29240 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
29241 (GRUB_DEVICE_BOOT_UUID): New variables.
29242 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
29243 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
29244 whenever possible.
29245 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
29246 just assume `root' variable has the right value.
29247 * util/grub.d/10_linux.in: Likewise.
29248 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
29249 via PRINT_FS_UUID.
29250 (main): Recognise `-t fs_uuid' argument.
29251
01b73ec8 292522008-05-30 Robert Millan <rmh@aybabtu.com>
29253
29254 * util/biosdisk.c (map): Redefine structure to hold information
29255 about GRUB drive name.
fe6b695a 29256 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 29257 drive names.
29258 (call_hook): Remove.
29259 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
29260 member. Assume drive has partitions.
29261 (grub_util_biosdisk_open): Access device names via `.device' struct
29262 member.
29263 (open_device): Likewise.
29264 (find_drive): Likewise.
29265 (read_device_map): Adjust map[] usage to match the new struct
29266 definition. Don't check for duplicates (still possible, but not cheap
29267 anymore).
29268 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
29269 (make_device_name): Remove assumption of BIOS-like drive names.
29270
22f16596 292712008-05-30 Pavel Roskin <proski@gnu.org>
29272
29273 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
29274 compiling execute.c doesn't need grub_script.tab.h anymore.
29275 (normal/command.c_DEPENDENCIES): Likewise.
29276 (normal/function.c_DEPENDENCIES): Likewise.
29277 * conf/i386-ieee1275.rmk: Likewise.
29278 * conf/i386-linuxbios.rmk: Likewise.
29279 * conf/i386-pc.rmk: Likewise.
29280 * conf/powerpc-ieee1275.rmk: Likewise.
29281 * conf/sparc64-ieee1275.rmk: Likewise.
29282
528ad8f2 292832008-05-29 Pavel Roskin <proski@gnu.org>
29284
d1dff95d 29285 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
29286 when scanning metadata for volume group name.
29287
528ad8f2 29288 * include/grub/script.h: Don't include grub_script.tab.h. It's
29289 a generated file, which may only be included from the files with
29290 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
29291 use union YYSTYPE, as the later allows forward declaration.
29292 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
29293
47248e08 292942008-05-29 Robert Millan <rmh@aybabtu.com>
29295
29296 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
29297 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
29298 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
29299 (grub_console_checkkey): Add grub_dprintf() call to report unknown
29300 scan codes.
29301
ee632529 293022008-05-29 Robert Millan <rmh@aybabtu.com>
29303
29304 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
29305 control key combinations.
29306
eee96e08 293072008-05-29 Robert Millan <rmh@aybabtu.com>
29308
29309 * util/powerpc/ieee1275/grub-install.in: Move from here ...
29310 * util/ieee1275/grub-install.in: ... to here.
29311 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
29312 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
29313 (grub_install_SOURCES): Likewise.
29314
da9a6a94 293152008-05-29 Robert Millan <rmh@aybabtu.com>
29316
29317 * fs/affs.c: Update copyright year.
29318 * fs/ext2.c: Likewise.
29319 * fs/fshelp.c: Likewise.
29320 * fs/hfsplus.c: Likewise.
29321 * fs/ntfs.c: Likewise.
29322 * fs/xfs.c: Likewise.
29323 * include/grub/fshelp.h: Likewise.
29324 * util/grub-mkdevicemap.c: Likewise.
29325
12e65f3a 293262008-05-28 Robert Millan <rmh@aybabtu.com>
29327
29328 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
29329 might need to be fatfs to support some firmware implementations
29330 (e.g. OFW or EFI).
29331
23023641 293322008-05-28 Robert Millan <rmh@aybabtu.com>
29333
29334 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
29335 devices.
29336 * util/grub-mkdevicemap.c (get_mmc_disk_name)
29337 (make_device_map): Likewise.
29338
887d2619 293392008-05-20 Bean <bean123ch@gmail.com>
29340
29341 * fs/fshelp.c (grub_fshelp_map_block): New function.
29342 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
29343 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
29344
29345 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
29346 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
29347 (grub_fshelp_journal): New structure.
29348 (grub_fshelp_map_block): New function prototype.
29349 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
29350 (grub_fshelp_map_block): Likewise.
29351
29352 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
29353 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
29354 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
29355 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
29356 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
29357 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
29358 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
29359 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
29360 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
29361 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
29362 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
29363 (grub_ext2_sblock): New members for journal support.
29364 (grub_ext3_journal_header): New structure.
29365 (grub_ext3_journal_revoke_header): Likewise.
29366 (grub_ext3_journal_block_tag): Likewise.
29367 (grub_ext3_journal_sblock): Likewise.
29368 (grub_fshelp_node): New members logfile and journal.
29369 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
29370 grub_fshelp_map_block to get real block number.
29371 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
29372 number.
29373 (grub_ext2_read_inode): Likewise.
29374 (grub_ext3_get_journal): New function.
29375 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
29376 (grub_ext2_close): Release memory used by journal.
29377
29378 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
29379 (REISERFS_MAGIC_DESC_BLOCK): New macro.
29380 (grub_reiserfs_transaction_header): Renamed to
29381 grub_reiserfs_description_block, replace field data with real_blocks.
29382 (grub_reiserfs_commit_block): New structure.
29383 (grub_reiserfs_data): New member journal.
29384 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
29385 number.
29386 (grub_reiserfs_read_symlink): Likewise.
29387 (grub_reiserfs_iterate_dir): Likewise.
29388 (grub_reiserfs_open): Likewise.
29389 (grub_reiserfs_read): Likewise.
29390 (grub_reiserfs_get_journal): New function.
29391 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
29392 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
29393 using grub_reiserfs_get_journal.
29394 (grub_reiserfs_close): Release memory used by journal.
29395
29396 * fs/affs.c (grub_affs_read_block): Change block type to
29397 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
29398
29399 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
29400
29401 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
29402
29403 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
29404
29405 * fs/udf.c (grub_udf_read_block): Change block type to
29406 grub_disk_addr_t. Use type cast to avoid warning.
29407
29408 * fs/xfs.c (grub_xfs_read_block): Likewise.
29409
b7c6bed5 294102008-05-16 Christian Franke <franke@computer.org>
29411
29412 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
29413 to ensure that break with ESC will always work.
29414 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
29415 Remove ESC from keyboard queue.
29416
eedf167f 294172008-05-16 Christian Franke <franke@computer.org>
29418
29419 * util/biosdisk.c: [__CYGWIN__] Add includes.
29420 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
29421 (get_os_disk): Move variable declarations to OS specific
29422 parts to avoid warning.
29423 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
29424 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
29425 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
29426 Cygwin.
29427 * util/getroot.c: [__CYGWIN__] Add includes.
29428 (strip_extra_slashes): Fix "/" case.
29429 [__CYGWIN__] (get_win32_path): New function.
29430 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
29431 [__CYGWIN__] (find_root_device): Disable.
29432 [__CYGWIN__] (get_bootsec_serial): New function.
29433 [__CYGWIN__] (find_cygwin_root_device): Likewise.
29434 [__linux__] (grub_guess_root_device): Add early returns to simplify
29435 structure.
29436 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
29437 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
29438 check for Linux only.
29439
a079699e 294402008-05-15 Bean <bean123ch@gmail.com>
29441
29442 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
29443 keyboard hang problem in apple's intel mac.
29444
1cf4059a 294452008-05-09 Robert Millan <rmh@aybabtu.com>
29446
29447 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
29448 devices.
29449 * util/grub-mkdevicemap.c (get_virtio_disk_name)
29450 (make_device_map): Likewise.
29451 Reported by Aurelien Jarno <aurel32@debian.org>
29452
ed759390 294532008-05-07 Ian Campbell <ijc@hellion.org.uk>
29454
29455 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
29456 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
29457 (make_device_map): Output entries for xvd type disks.
29458
b56c4eaa 294592008-05-07 Robert Millan <rmh@aybabtu.com>
29460
29461 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
29462 devices.
29463 * util/grub-mkdevicemap.c (get_cciss_disk_name)
29464 (make_device_map): Likewise.
29465 Reported by Roland Dreier <rdreier@cisco.com>
29466
7f8866ed 294672008-05-07 Robert Millan <rmh@aybabtu.com>
29468
29469 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
29470 grub_strstr() call. Correct a few mistakes in failure path handling.
29471
b0346e0f 294722008-05-06 Robert Millan <rmh@aybabtu.com>
29473
29474 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
29475 Do not print a trailing slash (therefore, the root directory is an
29476 empty string).
29477 (convert_system_path_to_grub_path): Do not remove trailing slash
29478 from make_system_path_relative_to_its_root() output.
29479
29480 * util/i386/pc/grub-install.in: Add trailing slash to output from
29481 make_system_path_relative_to_its_root().
29482
6cf12cbd 294832008-05-06 Robert Millan <rmh@aybabtu.com>
29484
29485 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
29486 ensures that output lines aren't intermangled with those sent to
29487 stderr (via grub_util_info()).
29488 * util/grub-probe.c (grub_refresh): Likewise.
29489 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
29490
0fbb3117 294912008-05-05 Christian Franke <franke@computer.org>
29492
29493 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
29494 Add Cygwin device names.
29495 (get_ide_disk_name) [__CYGWIN__]: Likewise.
29496 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
29497 (check_device): Return error instead of success on empty name.
29498 (make_device_map): Move label inside linux specific code to
29499 prevent compiler warning.
29500
8124cdb7 295012008-04-30 Robert Millan <rmh@aybabtu.com>
29502
29503 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
29504 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
29505 first boot option.
29506 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
29507
094c01d0 295082008-04-29 Robert Millan <rmh@aybabtu.com>
29509
29510 * docs/grub.cfg: New file (example GRUB configuration).
29511
f4b1fc02 295122008-04-26 Robert Millan <rmh@aybabtu.com>
29513
329ce2a5 29514 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
29515 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
29516 and `disk/ieee1275/nand.c'.
f4b1fc02 29517
25f16ec1 295182008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 29519
25f16ec1 29520 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
29521 i386-linuxbios.
29522
29523 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
29524 change the buffer size to 4096 for cdrom device.
29525
29526 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
29527 and nand.mod.
29528 (_linux_mod_SOURCES): New variable.
29529 (_linux_mod_CFLAGS): Likewise.
29530 (_linux_mod_LDFLAGS): Likewise.
29531 (linux_mod_SOURCES): Likewise.
29532 (linux_mod_CFLAGS): Likewise.
29533 (linux_mod_LDFLAGS): Likewise.
29534 (nand_mod_SOURCES): Likewise.
29535 (nand_mod_CFLAGS): Likewise.
29536 (nand_mod_LDFLAGS): Likewise.
29537
29538 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
29539 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
29540 type property. (nand device in olpc don't have this property)
29541
29542 * include/grub/disk.h (grub_disk_dev_id): New macro
29543 GRUB_DISK_DEVICE_NAND_ID.
29544
29545 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
29546 function prototype.
29547 (grub_rescue_cmd_initrd): Likewise.
29548
29549 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
29550 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
29551 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 29552
25f16ec1 29553 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
29554 GRUB_MACHINE_IEEE1275 is defined.
29555
29556 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
29557 Use NESTED_FUNC_ATTR attribute on the hook parameter.
29558
29559 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
29560 on nested function heap_init.
29561 (grub_upper_mem): New variable for i386-ieee1275.
29562 (grub_get_extended_memory): New function for i386-ieee1275.
29563 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
29564
29565 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
29566 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
29567 property.
f19dbdb7 29568
25f16ec1 29569 * loader/i386/ieee1275/linux.c: New file.
29570
29571 * loader/i386/ieee1275/linux_normal.c: New file.
29572
29573 * disk/ieee1275/nand.c: New file.
29574
e89d61e9 295752008-04-18 Thomas Schwinge <tschwinge@gnu.org>
29576
29577 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
29578 value.
29579 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
29580
602566f6 295812008-04-18 Robert Millan <rmh@aybabtu.com>
29582
29583 Restructures early code path on ieee1275 to unify grub_main() as
29584 the first C function that is executed in every platform.
29585
29586 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
29587 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
29588 cmain().
29589 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
29590 * kern/ieee1275/cmain.c (cmain): Rename to ...
29591 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
29592 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
29593 at the beginning.
29594
57490c2b 295952008-04-18 Robert Millan <rmh@aybabtu.com>
29596
29597 * util/update-grub.in: Fix syntax error when setting
29598 `GRUB_PRELOAD_MODULES'.
29599 Reported by Stephane Chazelas <stephane@artesyncp.com>
29600
1977517d 296012008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
29602
29603 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
29604 section into account, newer toolchains generate unique build ids
29605 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 29606 we want build ids to be preserved
1977517d 29607 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
29608 far from other sections don't cause the raw binary images grow
29609 size
29610
bfb1f1a2 296112008-04-15 Robert Millan <rmh@aybabtu.com>
29612
29613 * disk/lvm.c: Update copyright year.
29614 * kern/misc.c: Likewise.
29615
01979850 296162008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
29617
29618 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 29619 there is no memory left for physical volume name.
01979850 29620
0a1150e2 296212008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
29622
29623 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
29624 volume name mapping to support bigger than 9 character names properly.
29625
82ead3fe 296262008-04-13 Robert Millan <rmh@aybabtu.com>
29627
29628 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
29629 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
29630
e54a72f5 296312008-04-13 Christian Franke <franke@computer.org>
29632
29633 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
29634 to create a floppy emulation boot CD when non emulation mode
29635 does not work.
29636 Enable Joliet CD filesystem extension.
29637
9fe86034 296382008-04-13 Robert Millan <rmh@aybabtu.com>
29639
29640 * kern/misc.c (grub_strncat): Fix off-by-one error.
29641 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
29642
29643 * kern/env.c (grub_env_context_close): Clear current context, not
29644 previous one.
29645 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
29646
29647 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
29648
7ceeee39 296492008-04-13 Robert Millan <rmh@aybabtu.com>
29650
29651 Improve robustness when handling LVM.
29652
29653 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 29654 (and leave `*p' unmodified).
7ceeee39 29655 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
29656 through it.
29657 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
29658 iterating through it.
29659 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
29660 through it.
fe6b695a 29661 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 29662 when due) on each grub_lvm_getvalue() or grub_strstr() call.
29663 Don't assume `vg->pvs != NULL' when iterating through it.
29664
58cd3d85 296652008-04-13 Robert Millan <rmh@aybabtu.com>
29666
29667 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
29668 * genmk.rb (partmap): New variable.
29669 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
29670 (#{partmap}): New target rule.
29671 * genpartmaplist.sh: New file.
29672 * Makefile.in (pkglib_DATA): Add partmap.lst.
29673 (partmap.lst): New target rule.
29674 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
29675 modules (including all partition maps), instead of preloading them.
29676
78b51059 296772007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
29678
29679 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
29680 `linux-boot-prober' (if installed) to detect other operating
29681 systems which are installed on the computer and add them to
29682 the boot menu.
29683 * conf/common.rmk: Build and install 30_os-prober.
29684
a91627b4 296852008-04-12 Robert Millan <rmh@aybabtu.com>
29686
29687 * kern/powerpc/ieee1275/init.c: Move from here ...
29688 * kern/ieee1275/init.c: ... to here. Update all users.
29689
29690 * kern/powerpc/ieee1275/cmain.c: Move from here ...
29691 * kern/ieee1275/cmain.c: ... to here. Update all users.
29692
29693 * kern/powerpc/ieee1275/openfw.c: Move from here ...
29694 * kern/ieee1275/openfw.c: ... to here. Update all users.
29695
29696 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
29697 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
29698
322562ea 296992008-04-10 Pavel Roskin <proski@gnu.org>
29700
29701 * configure.ac: Always use "_cv_" in cache variables for
29702 compatibility with Autoconf 2.62.
29703
a02a73c5 297042008-04-07 Robert Millan <rmh@aybabtu.com>
29705
29706 Revert grub/machine/init.h addition by Pavel (since it breaks on
29707 i386-ieee1275 and others):
29708 * util/i386/pc/misc.c: Remove grub/machine/init.h.
29709 * util/powerpc/ieee1275/misc.c: Likewise.
29710
25c024b1 297112008-04-07 Robert Millan <rmh@aybabtu.com>
29712
29713 * util/grub-probe.c (probe): Improve error message.
29714
3cbd2f98 297152008-04-07 Robert Millan <rmh@aybabtu.com>
29716
29717 * util/biosdisk.c (read_device_map): Skip devices that don't exist
29718 (this prevents the presence of a bogus entry from ruining the whole
29719 thing).
29720
87a297bf 297212008-04-06 Pavel Roskin <proski@gnu.org>
29722
36747a62 29723 * util/biosdisk.c: Include grub/util/biosdisk.h.
29724 * util/grub-fstest.c (execute_command): Make static.
29725 * util/grub-mkdevicemap.c (check_device): Likewise.
29726 * util/i386/pc/misc.c: Include grub/machine/init.h.
29727 * util/powerpc/ieee1275/misc.c: Likewise.
29728 * util/lvm.c: Include grub/util/lvm.h.
29729 * util/misc.c: Include grub/kernel.h, grub/misc.h and
29730 grub/cache.h.
29731 * util/raid.c: Include grub/util/raid.h.
29732 (grub_util_getdiskname): Make static.
29733
87a297bf 29734 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
29735 grub_hostfs_fini(), as they are called from grub_init_all() and
29736 grub_fini_all() respectively. This fixes an infinite loop in
29737 grub-fstest due to double registration of hostfs.
29738 Reported by Christian Franke <Christian.Franke@t-online.de>
29739
f6ce7629 297402008-04-05 Pavel Roskin <proski@gnu.org>
29741
29742 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
29743 all 8 functions. Otherwise, probe function 0 only.
29744
070e49e4 297452008-04-04 Pavel Roskin <proski@gnu.org>
29746
8b088a4c 29747 * commands/lspci.c (grub_lspci_iter): Print the bus number
29748 correctly.
29749
4f657021 29750 * commands/lspci.c (grub_pci_classes): Fix typos.
29751 (grub_lspci_iter): Don't print func twice. Print vendor ID
29752 before device ID, as it's normally done.
29753
070e49e4 29754 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
29755 Fix signedness warnings.
29756 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
29757 Likewise.
29758 * util/ieee1275/get_disk_name.c: Include config.h so that
29759 _GNU_SOURCE is defined and getline() is declared. Mark an
29760 unused argument as such. Fix a signedness warning.
29761
ba7328dc 297622008-04-02 Pavel Roskin <proski@gnu.org>
29763
26887f22 29764 * genkernsyms.sh.in: Use more robust assignments for CC and
29765 srcdir. Quote srcdir.
29766 * gensymlist.sh.in: Likewise. Assert at the compile time that
29767 the symbol table is not empty.
29768
ba7328dc 29769 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
29770 * fs/cpio.c (grub_cpio_read): Likewise.
29771
0f582c6b 297722008-04-01 Pavel Roskin <proski@gnu.org>
29773
4b6e1995 29774 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
29775 * disk/host.c (grub_host_open): Likewise.
29776 * disk/loopback.c (grub_loopback_open): Likewise.
29777 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
29778 disk->id as in disk/host.c, not a multi-character constant.
29779
828a2768 29780 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
29781 later is obsolete, potentially dangerous and sets a bad example.
29782 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
29783 * util/misc.c (grub_util_get_image_size): Likewise.
29784
2bb4fb47 29785 * disk/loopback.c (options): Improve help for "--partitions".
29786
0f582c6b 29787 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
29788 options to align them with the short options, e.g. "echo -e".
29789
a33224e0 297902008-03-31 Bean <bean123ch@gmail.com>
29791
29792 * video/reader/png.c (grub_png_data): New member is_16bit and
29793 image_data.
29794 (grub_png_decode_image_header): Detect 16 bit png image.
29795 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
29796 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
29797 (grub_video_reader_png): Release memory occupied by image_data.
29798
29799 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
29800 4096 bytes.
29801 (grub_nfs_mount): Skip the test for sector per cluster.
29802
29803 * include/grub/ntfs.h (MAX_SPC): Removed.
29804
86cb4f54 298052008-03-31 Bean <bean123ch@gmail.com>
29806
29807 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
29808 (grub_probe_SOURCES): Add fs/afs.c.
29809 (grub_fstest_SOURCES): Likewise.
29810 (afs_mod_SOURCES): New variable.
29811 (afs_mod_CFLAGS): Likewise.
29812 (afs_mod_LDFLAGS): Likewise.
29813
29814 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
29815 (grub_emu_SOURCES): Likewise.
29816
29817 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29818
29819 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29820
29821 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29822
29823 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29824
29825 * fs/afs.c: New file.
29826
17c74c21 298272008-03-30 Pavel Roskin <proski@gnu.org>
29828
4cb68e89 29829 * disk/host.c: Include grub/misc.h to fix a warning.
29830 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
29831 warnings about implicit declarations.
29832
8790bb04 29833 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
29834 variable.
29835 * include/grub/i386/loader.h: Change declaration of
29836 grub_linux_boot() to match what grub_loader_set() expects.
29837 * util/getroot.c (grub_guess_root_device): Return const char* to
29838 fix a warning.
29839 * util/grub-probe.c (probe): Fix a warning about uninitialized
29840 abstraction_name variable.
29841 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
29842 second argument as unused to fix a warning.
29843
9a3f3296 29844 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
29845 missing grub_error() call.
29846
0ecef90d 29847 * util/update-grub_lib.in: Define datarootdir, since Autoconf
29848 2.60 and newer uses it to define datadir.
29849
0bf6d401 29850 * commands/sleep.c: Fix warning about implicit declaration.
29851 * disk/memdisk.c: Likewise.
29852 * loader/aout.c: Likewise.
29853 * loader/i386/bsd_normal.c: Likewise.
29854 * util/grub-probe.c: Likewise.
29855
7cdacf97 29856 * commands/i386/cpuid.c (has_longmode): Make static.
29857 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
29858 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
29859
17c74c21 29860 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
29861 GDT. This is more robust, as %ds can change.
29862 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
29863 calling real_to_prot().
29864 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
29865
80a3e68b 298662008-03-28 Pavel Roskin <proski@gnu.org>
29867
29868 * kern/i386/pc/startup.S: Assert that uncompressed functions
29869 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
29870 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
29871 code, as they push parts of the code (error handlers) beyond
29872 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
29873 code as correctness and size.
29874
77bcd272 298752008-03-28 Pavel Roskin <proski@gnu.org>
29876
29877 * kern/i386/pc/startup.S
29878 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
29879 data block address to the real mode, keep offset minimal. This
29880 works around a bug in AWARD BIOS on old Athlon systems, which
29881 makes CD detection hang.
29882
c5dfd43b 298832008-03-26 Pavel Roskin <proski@gnu.org>
29884
29885 * normal/color.c (grub_parse_color_name_pair): Make `name' a
29886 const.
29887 * include/grub/normal.h: Add grub_parse_color_name_pair()
29888 declaration.
29889
bf962df2 298902008-03-24 Bean <bean123ch@gmail.com>
29891
29892 * disk/i386/pc/biosdisk.c (cd_start): Removed.
29893 (cd_count): Removed.
29894 (cd_drive): New variable.
29895 (grub_biosdisk_get_drive): Don't check for (cdN) device.
29896 (grub_biosdisk_call_hook): Likewise.
29897 (grub_biosdisk_iterate): Change cdrom detection method.
29898 (grub_biosdisk_open): Replace cd_start with cd_drive.
29899 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
29900 detect cdrom device.
29901
29902 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
29903 Removed.
29904 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
29905 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
29906 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
29907 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
29908 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
29909 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
29910 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
29911 (grub_biosdisk_cdrp): New structure.
29912 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
29913
29914 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
29915
29916 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
29917 device.
29918
29919 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
29920 New function.
29921
68e7fc7a 299222008-03-20 Robert Millan <rmh@aybabtu.com>
29923
29924 Remove 2 TiB limit in ata.mod.
29925 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
29926 (grub_ata_dumpinfo): Print sector count with 0x%llx.
29927 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
29928 grub_uint64_t instead of grub_uint32_t.
29929
38ad2cf5 299302008-03-05 Bean <bean123ch@gmail.com>
29931
29932 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
29933 (grub_multiboot): Set boot device.
29934
29935 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
29936
2b89344e 299372008-03-02 Bean <bean123ch@gmail.com>
29938
29939 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
29940 symlink_buffer.
29941
87a95d1f 299422008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
29943
29944 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
29945 texinfo.tex.
29946
29947 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
29948 modified.
29949
29950 * docs/fdl.texi: New file.
f19dbdb7 29951
87a95d1f 29952 * docs/mdate-sh: New file. Copied from gnulib.
29953 * docs/texinfo.tex: Likewise.
29954
29955 * config.guess: Updated from gnulib.
29956 * install-sh: Likewise.
29957
7dc15d8e 299582008-02-28 Robert Millan <rmh@aybabtu.com>
29959
29960 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
29961 (aout_mod_SOURCES): New variable.
29962 (aout_mod_CFLAGS): Likewise.
29963 (aout_mod_LDFLAGS): Likewise.
29964
29965 * conf/i386-ieee1275.rmk: Likewise.
29966
b00ab696 299672008-02-28 Robert Millan <rmh@aybabtu.com>
29968
29969 * util/update-grub.in: Reorganise terminal validity check. Accept
29970 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
29971 Based on suggestion by Franklin PIAT.
29972
79ca2d78 299732008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
29974
29975 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
29976 function.
29977 * util/getroot.c (grub_util_check_block_device): New function that
29978 returns the given argument if it is a block device and returns NULL else.
29979 * util/grub-probe.c (argument_is_device): New variable.
29980 (probe): Promote device_name from a variable to an argument. Receive
29981 device_name from grub_util_check_block_device() if path is NULL and from
29982 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 29983 (options): Introduce new parameter '-d, --device'.
79ca2d78 29984 (main): Add description of the new parameter to the help screen.
29985 Rename path variable to argument. Set argument_is_device if the '-d'
29986 option is given. Pass argument to probe() depending on
29987 argument_is_device.
29988
0d16e571 299892008-02-24 Bean <bean123ch@gmail.com>
29990
29991 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
29992 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
29993 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
29994 (GRUB_ISO9660_VOLDESC_PART): Likewise.
29995 (GRUB_ISO9660_VOLDESC_END): Likewise.
29996 (grub_iso9660_primary_voldesc): New member escape.
29997 (grub_iso9660_data): New member joliet.
29998 (grub_iso9660_convert_string): New function.
29999 (grub_iso9660_mount): Detect joliet extension.
30000 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
30001 (grub_iso9660_iso9660_label): Likewise.
30002
30003 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
30004 (grub_setup_SOURCES): Add fs/udf.c.
30005 (grub_fstest_SOURCES): Likewise.
30006 (udf_mod_SOURCES): New variable.
30007 (udf_mod_CFLAGS): Likewise.
30008 (udf_mod_LDFLAGS): Likewise.
30009
30010 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
30011 (grub_emu_SOURCES): Likewise.
30012
30013 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30014
30015 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30016
30017 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30018
30019 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30020
30021 * fs/udf.c: New file.
30022
8a594a17 300232008-02-24 Robert Millan <rmh@aybabtu.com>
30024
30025 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
30026 (normal/lexer.c_DEPENDENCIES): New variables.
30027 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30028 (normal/lexer.c_DEPENDENCIES): Likewise.
30029 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
30030 (normal/lexer.c_DEPENDENCIES): Likewise.
30031 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
30032 (normal/lexer.c_DEPENDENCIES): Likewise.
30033 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30034 (normal/lexer.c_DEPENDENCIES): Likewise.
30035 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30036 (normal/lexer.c_DEPENDENCIES): Likewise.
30037
2dc33c03 300382008-02-23 Robert Millan <rmh@aybabtu.com>
30039
30040 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
30041 since they were intended to be in hex. This didn't break previously
30042 because of a bug in gpt_partition_map_iterate() (see below).
30043
30044 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
30045 when checking the validity of GPT header.
30046 Remove `partno', since it always provides the same information as `i'.
30047
f6f4cfb0 300482008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
30049
30050 * include/grub/efi/time.h: Fix a wrong comment.
30051
79ff665f 300522008-02-19 Pavel Roskin <proski@gnu.org>
30053
30054 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
30055 message.
30056
d38e24c2 300572008-02-19 Bean <bean123ch@gmail.com>
30058
30059 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
30060 (aout_mod_SOURCES): New variable.
30061 (aout_mod_CFLAGS): Likewise.
30062 (aout_mod_LDFLAGS): Likewise.
30063 (_bsd_mod_SOURCES): New variable.
30064 (_bsd_mod_CFLAGS): Likewise.
30065 (_bsd_mod_LDFLAGS): Likewise.
30066 (bsd_mod_SOURCES): New variable.
30067 (bsd_mod_CFLAGS): Likewise.
30068 (bsd_mod_LDFLAGS): Likewise.
30069
30070 * include/grub/aout.h: New file.
30071
30072 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
30073
30074 * include/grub/i386/bsd.h: New file.
30075
30076 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
30077 to make it public.
30078
30079 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
30080 function is called, so that it's possible to change it inside the hook.
30081 (grub_elf64_load): Likewise.
30082 (grub_elf_file): Don't close the file if elf header is not found.
30083 (grub_elf_close): Close the file if grub_elf_file fails (The new
30084 grub_elf_file won't close it).
30085 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
30086 (grub_elf64_size): Likewise.
30087
30088 * kern/i386/loader.S (grub_unix_real_boot): New function.
30089
30090 * loader/aout.c: New file.
30091
30092 * loader/i386/bsd.c: New file.
30093
30094 * loader/i386/bsd_normal.c: New file.
30095
30096 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
30097
30098 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 30099 can test other formats.
d38e24c2 30100
b93bdb0f 301012008-02-19 Robert Millan <rmh@aybabtu.com>
30102
30103 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
30104 (grub_gpt_partition_type_empty): Redefine with macro from
30105 `<grub/gpt_partition.h>'.
30106 (gpt_partition_map_iterate): Adjust partition type comparison.
30107
30108 Export `entry' as partmap-specific `part.data' struct.
30109 (grub_gpt_header, grub_gpt_partentry): Move from here ...
30110
30111 * include/grub/gpt_partition.h (grub_gpt_header)
30112 (grub_gpt_partentry): ... to here (new file).
30113
30114 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
30115
30116 (grub_gpt_partition_type_bios_boot): New const variable, defined
30117 with macro from `<grub/gpt_partition.h>'.
30118
30119 (setup): Replace `first_start' with `embed_region', which keeps
30120 track of the embed region (and is partmap-agnostic).
30121
30122 Replace find_first_partition_start() with find_usable_region(),
30123 which finds a usable region for embedding using partmap-specific
30124 knowledge (supports PC/MSDOS and GPT).
30125
30126 Fix all assumptions that the embed region start at sector 1, using
30127 `embed_region.start' from now on. Similarly, use `embed_region.end'
30128 rather than `first_start' to calculate available size.
30129
30130 In grub_util_info() message, replace "into after the MBR" with an
30131 indication of the specific sector our embed region starts at.
30132
66cb40f6 301332008-02-19 Robert Millan <rmh@aybabtu.com>
30134
30135 * DISTLIST: Replace `commands/ieee1275/halt.c' and
30136 `commands/ieee1275/reboot.c' with `commands/halt.c' and
30137 `commands/reboot.c'.
30138 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
30139 (halt_mod_SOURCES): Likewise.
30140 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
30141 (halt_mod_SOURCES): Likewise.
30142
b7202015 301432008-02-17 Christian Franke <franke@computer.org>
30144
30145 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
30146
32b0fc49 301472008-02-17 Robert Millan <rmh@aybabtu.com>
30148
30149 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
30150 set `first_start' to 0 for non-PC/MSDOS partition maps.
30151
aca63502 301522008-02-16 Robert Millan <rmh@aybabtu.com>
30153
30154 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
30155 do not assume partition map is PC/MSDOS before performing checks that
30156 are specific to that layout.
30157
0de8be86 301582008-02-13 Robert Millan <rmh@aybabtu.com>
30159
30160 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
30161 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
30162 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
30163
c3db8364 301642008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
30165
30166 * configure.ac: Only a cosmetic change on the handling of
30167 -fno-stack-protector.
30168
f714229e 301692008-02-12 Alexandre Boeglin <alex@boeglin.org>
30170
c3db8364 30171 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
30172 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
30173 reboot.c.
f714229e 30174 (grub_install_SOURCES): Add halt.mod and reboot.mod.
30175 (halt_mod_SOURCES): New variable.
30176 (halt_mod_CFLAGS): Likewise.
30177 (halt_mod_LDFLAGS): Likewise.
30178 (reboot_mod_SOURCES): Likewise.
30179 (reboot_mod_CFLAGS): Likewise.
30180 (reboot_mod_LDFLAGS): Likewise.
30181
c3db8364 30182 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
30183 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
30184 reboot.c.
f714229e 30185 (halt_mod_SOURCES): Likewise.
30186 (reboot_mod_SOURCES): Likewise.
30187
c3db8364 30188 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
30189 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 30190 (reboot_mod_SOURCES): Likewise.
30191
30192 * commands/i386/pc/reboot.c: merge this file ...
30193
30194 * commands/ieee1275/reboot.c: ... and this file ...
30195
30196 * commands/reboot.c: ... to this file.
c3db8364 30197 Add some precompiler directive to include the correct header for
30198 each machine.
f714229e 30199
30200 * commands/ieee1275/halt.c: move this file ...
30201
30202 * commands/halt.c: ... to here.
c3db8364 30203 Add some precompiler directive to include the correct header for
30204 each machine.
f714229e 30205
30206 * include/grub/efi/efi.h (grub_reboot): New function declaration.
30207 (grub_halt): Likewise.
30208
30209 * kern/efi/efi.c (grub_reboot): New function.
30210 (grub_halt): Likewise.
30211
c74493e0 302122008-02-12 Robert Millan <rmh@aybabtu.com>
30213
30214 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
30215 /dev (like it is done for /dev/mapper). This doesn't provide support
30216 for EVMS, but at least it is now easy to identify the problem when it
30217 arises.
30218
d0db4b04 302192008-02-11 Robert Millan <rmh@aybabtu.com>
30220
30221 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
30222 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
30223 comparing it with -1, not 0.
30224
bf748642 302252008-02-10 Robert Millan <rmh@aybabtu.com>
30226
30227 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
30228 `disk/lvm.c'.
30229 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30230 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
30231
30232 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
30233 `disk/lvm.c' to the end of the list.
30234 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30235 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30236
b5db202a 302372008-02-10 Robert Millan <rmh@aybabtu.com>
30238
30239 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
30240 grub_print_error() instead. This will let user know why we're entering
30241 rescue mode.
30242 Based on suggestions from Sam Morris.
30243
83abee31 302442008-02-10 Alexandre Boeglin <alex@boeglin.org>
30245
30246 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
30247 on remaining N args, instead of "--" arg N times.
30248
78d5a08b 302492008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
30250
30251 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
30252 (fill_with_default_glyph): Changed to use unknown_glyph for fill
30253 pattern for unknown glyphs.
30254
68807e5f 302552008-02-09 Robert Millan <rmh@aybabtu.com>
30256
30257 * configure.ac: Probe for `help2man'.
30258 * Makefile.in (builddir): New variable.
30259 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
30260 or otherwise add a few flags/options to it.
30261 (install-local): For every executable utility or script that is
30262 installed, invoke $(HELP2MAN) to install a manpage based on --help
30263 output.
30264
30265 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
30266 that it doesn't prevent --help from working in build tree.
30267
30268 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
30269 with `bug-grub@gnu.org'.
30270 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
30271 * util/update-grub.in (usage): New function.
30272 Implement proper argument check, with support for --help and --version
30273 (as well as existing -y).
30274
302752008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 30276
30277 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
30278 avoid overwriting previous output.
30279 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
30280
c1962162 302812008-02-09 Robert Millan <rmh@aybabtu.com>
30282
30283 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
30284 drawing the menu.
30285
3dac2e3f 302862008-02-09 Robert Millan <rmh@aybabtu.com>
30287
30288 * commands/sleep.c: New file.
30289 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
30290 (sleep_mod_SOURCES): New variable.
30291 (sleep_mod_CFLAGS): Likewise.
30292 (sleep_mod_LDFLAGS): Likewise.
30293
7a634e08 302942008-02-09 Robert Millan <rmh@aybabtu.com>
30295
30296 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
30297 situations in which we can deduce the RAID size and the superblock
30298 doesn't match it.
30299
b92f0c18 303002008-02-09 Robert Millan <rmh@aybabtu.com>
30301
30302 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
30303 and return a grub_diskmemberlist_t composed of LVM physical volumes.
30304 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
30305
30306 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
30307 and return a grub_diskmemberlist_t composed of physical array members.
30308 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
30309
30310 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
30311 prototype.
30312 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
30313 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
30314 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
30315
30316 * util/grub-probe.c (probe): Move partmap probing code from here ...
30317 (probe_partmap): ... to here.
30318 (probe): Use probe_partmap() once for the disk we're probing, and
30319 additionally, when such disk contains a memberlist() struct member,
30320 once for each disk that is contained in the structure returned by
30321 memberlist().
30322
91a4bf68 303232008-02-09 Robert Millan <rmh@aybabtu.com>
30324
30325 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
30326 environment variable to 'all' in order to obtain debug output from
30327 non-util/ code.
30328 * util/i386/pc/grub-setup.c (main): Likewise.
30329
a96f9caa 303302008-02-08 Robert Millan <rmh@aybabtu.com>
30331
30332 * disk/raid.c (grub_raid_scan_device): Check for
30333 `array->device[sb.this_disk.number]' rather than for
30334 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 30335 guaranteed to be accessible.
a96f9caa 30336
b37a9222 303372008-02-08 Robert Millan <rmh@aybabtu.com>
30338
30339 * disk/raid.c: Update copyright.
30340 * fs/cpio.c: Likewise.
30341 * include/grub/raid.h: Likewise.
30342 * loader/i386/pc/multiboot.c: Likewise.
30343 * util/hostfs.c: Likewise.
30344
5626aee1 303452008-02-08 Robert Millan <rmh@aybabtu.com>
30346
30347 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
30348 to a grub_disk_t array.
30349 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
30350 `device[x]'.
30351 (grub_raid_scan_device): Replace `device[x].name' accesses with
30352 `device[x]->name'. Simplify initialization of `array->device[x]'.
30353
554f0187 303542008-02-08 Robert Millan <rmh@aybabtu.com>
30355
30356 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
30357 grub_dprintf() calls.
30358 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
30359 error message.
30360
1ec8425d 303612008-02-07 Christian Franke <franke@computer.org>
30362
30363 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
30364 instead of fseek and ftell to support large files.
30365 (grub_hostfs_read): Likewise.
30366
f2156fda 303672008-02-07 Robert Millan <rmh@aybabtu.com>
30368
30369 Patch from Jeroen Dekkers.
30370 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 30371 failure, since successfully reading all array members might not be
f2156fda 30372 required.
30373
9216e0e7 303742008-02-06 Robert Millan <rmh@aybabtu.com>
30375
30376 * util/grub-probe.c (probe): Simplify partmap probing (with the
30377 assumption that the first word up to the underscore equals to
30378 the module name).
30379
b0dfd29a 303802008-02-06 Christian Franke <franke@computer.org>
30381
30382 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
30383 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
30384 last block of a cpio or tar stream.
30385 Check for "TRAILER!!!" instead of any empty data
30386 block to detect last block of a cpio stream.
30387 (grub_cpio_dir): Fix constness of variable np.
30388 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
30389 cpio or tar trailer is detected. This fixes a crash
30390 on open of a non existing file.
30391
c32865bf 303922008-02-05 Bean <bean123ch@gmail.com>
30393
30394 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
30395 address of entry.
30396 (grub_multiboot_load_elf64): Likewise.
30397 (grub_multiboot): Initialize mbi structure.
30398
30399 * util/grub-fstest.c: Don't include unused header file script.h.
30400
fe6b695a 30401 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 30402 of file.
30403 (grub_fstest_SOURCES): Likewise.
30404
409480b7 304052008-02-05 Robert Millan <rmh@aybabtu.com>
30406
30407 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
30408 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
30409 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
30410 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
30411
30412 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
30413 (translation_table): Replace hardcoded values with macros
30414 provided by `<grub/term.h>'.
30415
30416 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
30417 (keyboard_map): Correct/add a few values, with macros provided
30418 by `<grub/term.h>'.
30419 (keyboard_map_shift): Zero values that don't differ from their
30420 `keyboard_map' equivalents.
30421 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
30422 Discard the second scan code that is always sent by Caps lock.
30423 Only use `keyboard_map_shift' when it provides a non-zero value,
30424 otherwise fallback to `keyboard_map'.
30425
99fadbaa 304262008-02-04 Bean <bean123ch@gmail.com>
30427
30428 * Makefile.in (enable_grub_fstest): New variable.
30429
30430 * conf/common.rmk (grub_fstest_init.lst): New rule.
30431 (grub_fstest_init.h): Likewise.
30432 (grub_fstest_init.c): Likewise.
30433 (util/grub-fstest.c_DEPENDENCIES): New variable.
30434 (grub_fstest_SOURCES): Likewise.
30435
30436 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
30437
30438 * util/grub-fstest.c: New file.
30439
bf567c50 304402008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
30441
30442 Make grub-setup handle a separate root device.
f19dbdb7 30443
bf567c50 30444 * util/i386/pc/grub-setup.c (setup): Always open the root device,
30445 so that the root device can be compared with the destination
30446 device.
30447 When embedding the core image, if the root and destination devices
30448 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
30449 0xFF.
30450 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 30451
9be6b98b 304522008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
30453
30454 Add support for having a grub directory in a different drive. This
30455 is still only the data handling part.
f19dbdb7 30456
9be6b98b 30457 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
30458 (codestart): Save %dh in GRUB_ROOT_DRIVE.
30459 (grub_root_drive): New variable.
30460
30461 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
30462 instead of GRUB_BOOT_DRIVE to construct a device name. Set
30463 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
30464 as it was.
30465
30466 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
30467
30468 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
30469 macro.
30470 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
30471
30472 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
30473 is bogus, because PXE booting does not specify any drive
30474 correctly.
30475
30476 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
30477 am not sure if this is really correct.
30478
30479 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
30480 is always identical to the boot drive when booting from a CD.
30481
30482 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
30483 longer.
30484 (root_drive): New variable.
30485 (real_start): Unconditionally set %dh to ROOT_DRIVE.
30486 (setup_sectors): Push %dx right after popping it, because %dh will
30487 be modified later.
30488 (copy_buffer): Restore %dx.
30489
e0ca0677 304902008-02-03 Robert Millan <rmh@aybabtu.com>
30491
30492 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
30493 use `cdboot.img' for cdrom images.
30494
3b3f6629 304952008-02-03 Robert Millan <rmh@aybabtu.com>
30496
30497 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
30498 only setup gfxterm when `font' command has succeeded.
30499
d42b3672 305002008-02-03 Robert Millan <rmh@aybabtu.com>
30501
30502 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
30503 (grub_rescue_cmd_multiboot_loader)
30504 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
30505
fa370ea6 305062008-02-03 Pavel Roskin <proski@gnu.org>
30507
e0c5dacb 30508 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 30509 %edx and %esi from stack only after grub_gate_a20() is called.
30510 grub_gate_a20() clobbers %edx.
30511
f2a76e1d 305122008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
30513
30514 * configure.ac (AC_INIT): Bumped to 1.96.
30515
30516 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
30517 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
30518 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
30519 video/readers/png.c.
30520
90fd32d1 305212008-02-03 Bean <bean123ch@gmail.com>
9be665dd 30522
30523 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
30524 (cdboot_img_SOURCES): New variable.
30525 (cdboot_img_ASFLAGS): New variable.
30526 (cdboot_img_LDFLAGS): New variable.
30527
30528 * boot/i386/pc/cdboot.S: New file.
30529
30530 * disk/i386/pc/biosdisk.c (cd_start): New variable.
30531 (cd_count): Likewise.
30532 (grub_biosdisk_get_drive): Add support for cd device.
30533 (grub_biosdisk_call_hook): Likewise.
30534 (grub_biosdisk_iterate): Likewise.
30535 (grub_biosdisk_open): Likewise.
30536 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
30537 (grub_biosdisk_rw): Support reading from cd device.
30538 (GRUB_MOD_INIT): Iterate cd devices.
30539
30540 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
30541 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
30542 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
30543
30544 * kern/i386/pc/init.c (make_install_device): Check for cd device.
30545
4020aa53 305462008-02-02 Robert Millan <rmh@aybabtu.com>
30547
30548 * commands/read.c: New file.
30549 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
30550 (read_mod_SOURCES): New variable.
30551 (read_mod_CFLAGS): Likewise.
30552 (read_mod_LDFLAGS): Likewise.
30553
e03a1132 305542008-02-02 Robert Millan <rmh@aybabtu.com>
30555
30556 * normal/main.c (grub_normal_execute): Check for `menu->size' when
30557 determining whether menu has to be displayed.
30558
58c69220 305592008-02-02 Marco Gerards <marco@gnu.org>
30560
30561 * bus/pci.c: New file.
30562
30563 * include/grub/pci.h: Likewise.
30564
30565 * include/grub/i386/pc/pci.h: Likewise.
30566
30567 * commands/lspci.c: Likewise.
30568
30569 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
30570 `lspci.mod'.
30571 (pci_mod_SOURCES): New variable.
30572 (pci_mod_CFLAGS): Likewise.
30573 (pci_mod_LDFLAGS): Likewise.
30574 (lspci_mod_SOURCES): Likewise.
30575 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 30576 (lspci_mod_LDFLAGS): Likewise.
58c69220 30577
c004e1b4 305782008-02-02 Bean <bean123ch@gmail.com>
30579
30580 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
30581 (grub_ufs_get_file_block): Fix indirect block calculation problem.
30582
30583 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
30584 (grub_xfs_btree_node): New structure.
30585 (grub_xfs_btree_root): New structure.
30586 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
30587 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
30588 (GRUB_XFS_EXTENT_BLOCK): Likewise.
30589 (GRUB_XFS_EXTENT_SIZE): Likewise.
30590 (grub_xfs_read_block): Support btree format type.
30591 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
30592 Use directory block as basic unit.
30593
30594 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
30595
30596 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
30597 __attribute__ ((__regparm__ (1))).
30598
f95562bf 305992008-02-01 Robert Millan <rmh@aybabtu.com>
30600
30601 Correct a mistake in previous commit.
30602
30603 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
30604 top.
30605 (normal/command.c_DEPENDENCIES): New variable.
30606
7d31f41f 306072008-02-01 Robert Millan <rmh@aybabtu.com>
30608
30609 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
30610 top.
30611 (normal/command.c_DEPENDENCIES): New variable.
30612 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
30613 * conf/i386-ieee1275.rmk: Likewise.
30614 * conf/i386-linuxbios.rmk: Likewise.
30615 * conf/i386-pc.rmk: Likewise.
30616 * conf/sparc64-ieee1275.rmk: Likewise.
30617 * conf/powerpc-ieee1275.rmk: Likewise.
30618 (grub_emu_SOURCES): Add `fs/fshelp.c'.
30619
30620 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
30621
60b6be74 306222008-02-01 Robert Millan <rmh@aybabtu.com>
30623
30624 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
30625 call at beginning of function.
30626
078522ab 306272008-01-31 Pavel Roskin <proski@gnu.org>
30628
30629 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 30630 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
30631 (grub_mkrescue_SOURCES): Likewise.
078522ab 30632 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
30633
ccaa8a5f 306342008-01-30 Robert Millan <rmh@aybabtu.com>
30635
30636 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
30637 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
30638 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
30639 (grub_probe_SOURCES): ... to here.
30640
30641 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
30642 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
30643 * conf/i386-ieee1275.rmk: Likewise.
30644 * conf/i386-linuxbios.rmk: Likewise.
30645 * conf/powerpc-ieee1275.rmk: Likewise.
30646
ae5a9cd7 306472008-01-30 Tristan Gingold <gingold@free.fr>
30648
30649 * kern/rescue.c: Silently accept empty lines.
30650
70bc2ef2 306512008-01-29 Bean <bean123ch@gmail.com>
30652
30653 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
30654 (real_code_2): Code cleanup and change comment style.
30655 (move_memory): Avoid using 32-bit address mode.
30656
6a4d50ea 306572008-01-29 Bean <bean123ch@gmail.com>
30658
30659 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
30660 (png_mod_SOURCES): New variable.
30661 (png_mod_CFLAGS): Likewise.
30662 (png_mod_LDFLAGS): Likewise.
30663
30664 * video/readers/png.c: New file.
30665
11cc30ac 306662008-01-28 Robert Millan <rmh@aybabtu.com>
30667
30668 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
30669 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
30670 `ifndef GRUB_MOD_GAP' hack.
30671 * util/elf/grub-mkimage.c (add_segments): Likewise.
30672
3abc589f 306732008-01-27 Robert Millan <rmh@aybabtu.com>
30674
30675 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
30676 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 30677 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 30678
e1907778 306792008-01-27 Robert Millan <rmh@aybabtu.com>
30680
30681 Get grub-emu to build again (including parallel builds).
30682
30683 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
30684 Split into ...
30685 (util/grub-emu.c_DEPENDENCIES): ... this, ...
30686 (normal/execute.c_DEPENDENCIES): ... this, ...
30687 (grub-emu_DEPENDENCIES): ... and this.
30688
30689 * conf/i386-efi.rmk: Likewise.
30690 * conf/i386-linuxbios.rmk: Likewise.
30691 * conf/i386-ieee1275.rmk: Likewise.
30692 * conf/powerpc-ieee1275.rmk: Likewise.
30693 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
30694
2216b101 306952008-01-27 Robert Millan <rmh@aybabtu.com>
30696
30697 * NEWS: Add a few items.
30698
f75172d9 306992008-01-27 Robert Millan <rmh@aybabtu.com>
30700
30701 Fix parallel builds with grub-emu. Based on earlier commit for
30702 grub-probe and grub-setup.
30703
30704 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
30705 (util/grub-emu.c_DEPENDENCIES): ... this.
30706 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
30707 (util/grub-emu.c_DEPENDENCIES): ... this.
30708 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
30709 (util/grub-emu.c_DEPENDENCIES): ... this.
30710 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
30711 (util/grub-emu.c_DEPENDENCIES): ... this.
30712 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
30713 (util/grub-emu.c_DEPENDENCIES): ... this.
30714
3f51de77 307152008-01-27 Pavel Roskin <proski@gnu.org>
30716
30717 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
30718 to create a gap between _end and the modules added to the image
30719 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
30720 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
30721 * util/elf/grub-mkimage.c (add_segments): Likewise.
30722
2033f53e 307232008-01-26 Pavel Roskin <proski@gnu.org>
30724
30725 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
30726 just return an error.
30727
22da1f6f 307282008-01-26 Bean <bean123ch@gmail.com>
30729
30730 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
30731 (grub_reiserfs_get_item): Save offset of the next item.
30732 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
30733
2a9525e6 307342008-01-25 Robert Millan <rmh@aybabtu.com>
30735
30736 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
30737 make all filesystem sources appear together (possibly fixing omissions
30738 while at it).
30739 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30740 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30741 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30742 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30743
30744 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
30745 add `kern/file.c'.
30746 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
30747 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
30748 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
30749 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
30750
30751 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
30752 (probe): Add a sanity check to make sure of our ability to read
30753 requested files when probing for filesystem type.
30754
30755 * genmk.rb: Update copyright year (2007).
30756
30757 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
30758 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
30759 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
30760 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
30761 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
30762 : Remove function prototypes.
30763
b95f71b5 307642008-01-25 Robert Millan <rmh@aybabtu.com>
30765
30766 Revert my previous commits (based on wrong assumption of how grub_errno
30767 works).
30768
fe6b695a 30769 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 30770 * kern/file.c (grub_file_open): Likewise.
30771
d08bbb49 307722008-01-24 Pavel Roskin <proski@gnu.org>
30773
30774 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
30775 that hang if GRUB tries to setup colors.
30776 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
30777 colors for firmwares that don't support it.
30778 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
30779 Recognize Open Hack'Ware, set flags to work around its
30780 limitations.
30781
605e36ed 307822008-01-24 Robert Millan <rmh@aybabtu.com>
30783
30784 * kern/file.c (grub_file_open): Do not account previous failures of
30785 unrelated functions when grub_errno is checked for.
30786 Reported by Oleg Strikov.
30787
bac332a1 307882008-01-24 Bean <bean123ch@gmail.com>
30789
30790 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
30791 (grub_ufs_sblock): New member volume name.
30792 (grub_ufs_find_file): Fix string copy bug.
30793 (grub_ufs_label): Implement this function properly.
30794
30795 * fs/hfs.c (grub_hfs_cnid_type): New enum.
30796 (grub_hfs_iterate_records): Use the correct file number for extents
30797 and catalog file. Fix problem in next index calculation.
30798 (grub_hfs_find_node): Replace recursive function call with loop.
30799 (grub_hfs_iterate_dir): Replace recursive function call with loop.
30800
15c80c09 308012008-01-23 Robert Millan <rmh@aybabtu.com>
30802
30803 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
30804 `<grub/symbol.h>' and `<grub/multiboot.h>'.
30805 (grub_multiboot2_real_boot): New function prototype.
30806
30807 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
30808 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
30809
30810 * kern/i386/ieee1275/init.c (grub_os_area_addr)
30811 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
30812
305338fd 308132008-01-23 Robert Millan <rmh@aybabtu.com>
30814
30815 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
30816 #ifdef'ed out grub_printf().
30817
3ea52685 308182008-01-23 Robert Millan <rmh@aybabtu.com>
30819
30820 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
30821 grub_dprintf calls, since they make "debug=all" mode unusable.
30822 (grub_console_checkkey): Likewise.
30823
5882ae4b 308242008-01-23 Robert Millan <rmh@aybabtu.com>
30825
30826 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
30827 `term/i386/pc/at_keyboard.c'.
30828 (pkglib_MODULES): Add `serial.mod'.
30829 (serial_mod_SOURCES): New variable.
30830 (serial_mod_CFLAGS): Likewise.
30831 (serial_mod_LDFLAGS): Likewise.
30832
30833 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
30834 `<grub/powerpc/ieee1275/console.h>'.
30835 (grub_keyboard_controller_init): New function prototype.
30836 (grub_console_checkkey): Likewise.
30837 (grub_console_getkey): Likewise.
30838
30839 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
30840 keyboard on i386.
30841
30842 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
30843 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
30844
06ab5303 308452008-01-23 Robert Millan <rmh@aybabtu.com>
30846
30847 * kern/i386/pc/init.c (make_install_device): When memdisk image is
30848 present, "(memdisk)/boot/grub" becomes the default prefix.
30849
30850 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
30851 a memdisk tarball with all the modules. Add --overlay=DIR option that
30852 allows users to overlay additional files into the image.
30853
dbb475a4 308542008-01-23 Robert Millan <rmh@aybabtu.com>
30855
30856 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
30857 and `machine/memory.h'.
30858 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
30859 (_multiboot_mod_SOURCES): New variable.
30860 (_multiboot_mod_CFLAGS): Likewise.
30861 (_multiboot_mod_LDFLAGS): Likewise.
30862 (multiboot_mod_SOURCES): Likewise.
30863 (multiboot_mod_CFLAGS): Likewise.
30864 (multiboot_mod_LDFLAGS): Likewise.
30865
30866 * include/grub/i386/ieee1275/loader.h: New file.
30867
30868 * include/grub/i386/ieee1275/machine.h: Likewise.
30869
30870 * include/grub/i386/ieee1275/memory.h: Likewise.
30871
30872 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
30873 variable declaration.
30874 (grub_os_area_size): Likewise.
30875
30876 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
30877 (grub_lower_mem, grub_upper_mem): New variables.
30878 (grub_stop_floppy): New function (just to make
30879 grub_multiboot2_real_boot() happy).
30880
30881 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
30882 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
30883 (grub_stop): New function.
30884 Include `"../realmode.S"' and `"../loader.S"'.
30885
30886 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
30887 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
30888
30889 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
30890 rely on grub_multiboot2_real_boot() for final boot.
30891
25638629 308922008-01-22 Robert Millan <rmh@aybabtu.com>
30893
30894 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
30895 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
30896 device that doesn't look like an SD card.
30897 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
30898 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
30899 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
30900 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
30901 found.
30902
9dad816d 309032008-01-22 Robert Millan <rmh@aybabtu.com>
30904
30905 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
30906 avoid claiming over our own code.
30907
34842f2d 309082008-01-22 Bean <bean123ch@gmail.com>
30909
30910 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
30911 (jpeg_mod_SOURCES): New variable.
30912 (jpeg_mod_CFLAGS): Likewise.
30913 (jpeg_mod_LDFLAGS): Likewise.
30914
30915 * video/readers/jpeg.c : New file.
30916
44023a28 309172008-01-22 Bean <bean123ch@gmail.com>
30918
30919 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
30920 there are no more items.
30921
bc2d8ac6 309222008-01-21 Robert Millan <rmh@aybabtu.com>
30923
30924 * kern/mm.c (grub_mm_init_region): Improve debug message.
30925
261bd4bc 309262008-01-21 Robert Millan <rmh@aybabtu.com>
30927
30928 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
30929 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
30930 address.
30931 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
30932 a C macro.
30933 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
30934 Indicates start of upper memory.
30935 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
30936 (generate_image): Abort when image size is big enough to corrupt
30937 upper memory.
30938
30939 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
30940 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
30941 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
30942 instead of hardcoding 0xA0000.
30943 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
30944 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
30945 instead of hardcoding 0xA0000.
30946
f970b55e 309472008-01-21 Robert Millan <rmh@aybabtu.com>
30948
30949 * disk/memdisk.c (memdisk_size): New variable.
30950 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
30951 `memdisk_size'.
30952 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
30953 image to dynamic memory.
30954 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
30955 `memdisk_size'. Free memdisk block.
30956
1a8b0526 309572008-01-21 Robert Millan <rmh@aybabtu.com>
30958
30959 Fix detection of very small filesystems (like tar).
30960
30961 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
30962 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
30963 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
30964 a problem with this disk).
30965
6e9b4aab 309662008-01-21 Robert Millan <rmh@aybabtu.com>
30967
30968 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
30969 on grub_biosdisk_rw_standard() error.
30970
0d8837b2 309712008-01-21 Robert Millan <rmh@aybabtu.com>
30972
30973 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
30974 recent changes.
30975 * kern/elf.c: Likewise.
30976 * kern/ieee1275/ieee1275.c: Likewise.
30977 * kern/powerpc/ieee1275/openfw.c: Likewise.
30978 * term/ieee1275/ofconsole.c: Likewise.
30979
ffd36e34 309802008-01-21 Robert Millan <rmh@aybabtu.com>
30981
30982 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
30983
3f0093d0 30984 * include/grub/kernel.h (grub_arch_memdisk_addr)
30985 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 30986
3f0093d0 30987 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
30988 (grub_arch_memdisk_size): ... to here.
ffd36e34 30989
6c391b21 309902008-01-21 Robert Millan <rmh@aybabtu.com>
30991
30992 Mostly based on bugfix from Bean.
30993
30994 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
30995 attribute with hook() parameter.
30996 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
30997 declaration.
30998 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
30999 attribute with hook() parameter.
31000 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
31001 declaration.
31002
55a581dc 310032008-01-21 Robert Millan <rmh@aybabtu.com>
31004
31005 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
31006 (pkglib_MODULES): Add `memdisk.mod'.
31007 (memdisk_mod_SOURCES): New variable.
31008 (memdisk_mod_CFLAGS): Likewise.
31009 (memdisk_mod_LDFLAGS): Likewise.
31010
31011 * disk/memdisk.c: New file.
31012
31013 * include/grub/disk.h (grub_disk_dev_id): Add
31014 `GRUB_DISK_DEVICE_MEMDISK_ID'.
31015
31016 * include/grub/i386/pc/kernel.h
31017 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
31018 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
31019 (grub_kernel_image_size): New variable declaration.
31020 (grub_total_module_size): Likewise.
31021 (grub_memdisk_image_size): Likewise.
31022
31023 * include/grub/i386/pc/memory.h
31024 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
31025
31026 * include/grub/kernel.h: Include `<grub/symbol.h>'.
31027 (grub_arch_memdisk_addr): New variable declaration.
31028 (grub_arch_memdisk_size): Likewise.
31029
31030 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
31031 (grub_arch_memdisk_size): Likewise.
31032
31033 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
31034 (codestart): Replace hardcoded `0x100000' with
31035 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
31036
31037 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
31038 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
31039 not NULL, append the contents of the file it refers to, at the end of
31040 the compressed kernel image. Initialize `grub_memdisk_image_size'
31041 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
31042 (options): Add "memdisk"|'m' option.
31043 (main): Parse --memdisk|-m option, and pass user-provided path as
31044 parameter to generate_image().
31045
3d7f54c9 310462008-01-20 Robert Millan <rmh@aybabtu.com>
31047
31048 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
31049 grub_dprintf() calls from here ...
31050 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
31051
0bf74728 310522008-01-20 Robert Millan <rmh@aybabtu.com>
31053
31054 Fix detection of "real mode" when /options/real-mode? doesn't exist.
31055
31056 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
31057 declaration.
31058 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
31059 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
31060 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 31061 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 31062 property).
31063 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
31064 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
31065
33bf70a7 310662008-01-19 Robert Millan <rmh@aybabtu.com>
31067
fe6b695a 31068 Get rid of confusing function (superseded by
33bf70a7 31069 `grub_ieee1275_get_integer_property')
31070 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
31071 prototype.
31072 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
31073 function.
31074 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
31075 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 31076 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 31077
e2da7d26 310782008-01-19 Robert Millan <rmh@aybabtu.com>
31079
31080 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
31081 command after "shut-down", since implementations differ on which
31082 the command for halt is.
31083
59f1fd8d 310842008-01-19 Robert Millan <rmh@aybabtu.com>
31085
31086 * include/grub/i386/linuxbios/console.h: Add header protection.
31087 (grub_keyboard_controller_init): New function prototype.
31088 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
31089 (KEYBOARD_COMMAND_READ): Likewise.
31090 (KEYBOARD_COMMAND_WRITE): Likewise.
31091 (KEYBOARD_SCANCODE_SET1): Likewise.
31092 (grub_keyboard_controller_write): New function.
31093 (grub_keyboard_controller_read): Likewise.
31094 (grub_keyboard_controller_init): Likewise.
31095
31096 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
31097 (grub_console_init): On coreboot/LinuxBIOS, call
31098 grub_keyboard_controller_init().
31099
5f5a7c15 311002008-01-19 Robert Millan <rmh@aybabtu.com>
31101
31102 PowerPC changes provided by Pavel Roskin.
31103
31104 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
31105 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
31106 don't rely on cmain() doing it.
31107 * kern/i386/ieee1275/startup.S (_start): Store %eax in
31108 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
31109
1210e168 311102008-01-16 Robert Millan <rmh@aybabtu.com>
31111
31112 * include/grub/i386/linuxbios/memory.h
31113 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
31114 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
31115 receive `table_header' as argument. Instead, probe for it in the
31116 known memory ranges where it can be present.
31117 (grub_available_iterate): Do not pass a fixed `table_header' address
31118 to grub_linuxbios_table_iterate().
31119
3d04eab8 311202008-01-15 Robert Millan <rmh@aybabtu.com>
31121
31122 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
31123 * conf/i386-ieee1275.rmk: New file.
31124 * include/grub/i386/ieee1275/console.h: Likewise.
31125 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
31126 * include/grub/i386/ieee1275/kernel.h: Likewise.
31127 * include/grub/i386/ieee1275/time.h: Likewise.
31128 * kern/i386/ieee1275/init.c: Likewise.
31129 * kern/i386/ieee1275/startup.S: Likewise.
31130
d1bc1b73 311312008-01-15 Robert Millan <rmh@aybabtu.com>
31132
31133 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
31134 when pointers are 32-bit (but still do set it to one when they are
31135 64-bit).
31136
66a65807 311372008-01-15 Robert Millan <rmh@aybabtu.com>
31138
31139 * include/grub/ieee1275/ieee1275.h
31140 (grub_ieee1275_get_integer_property): New function prototype.
31141
31142 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
31143 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 31144 grub_ieee1275_get_property() to handle endianness.
66a65807 31145
31146 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
31147 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 31148 where appropriate.
66a65807 31149 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
31150 (grub_map): Likewise.
31151 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
31152
a83ccafd 311532008-01-15 Bean <bean123ch@gmail.com>
31154
31155 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
31156 (grub_script_execute_cmdline): Reset grub_errno.
31157
31158 * normal/main.c (read_config_file): Reset grub_errno.
31159
31160 * normal/parse.y (script_init): New.
31161 (script): Move function and menuentry here.
31162 (delimiter): New.
31163 (command): Add delimiter at the end of command.
31164 (commands): Adjust to match the new command.
31165 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 31166 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 31167 (if): Use the new commands.
31168
31169 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
31170
df6ecfc6 311712008-01-15 Robert Millan <rmh@aybabtu.com>
31172
31173 * normal/menu.c (run_menu): Move timeout message from here ...
31174 (print_timeout): ... to here.
31175 (run_menu): Use print_timeout() once during initial draw to print
31176 the whole message, and again in every clock tick to update only
31177 the number of seconds.
31178
87ae25eb 311792008-01-15 Robert Millan <rmh@aybabtu.com>
31180
31181 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
31182 actual size of `available' from grub_ieee1275_get_property(), and
31183 restrict parsing to that bound.
31184
47bf09a4 311852008-01-15 Christian Franke <franke@computer.org>
31186
31187 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
31188 (argp_program_version): Remove variable.
31189 (argp_program_bug_address): Likewise.
31190 (options): Convert from struct argp_option to struct option.
31191 (struct arguments): Remove.
31192 (parse_opt): Remove.
31193 (usage): New function.
31194 (main): Replace struct args members by simple variables.
31195 Replace argp_parse() by getopt_long().
31196 Add switch to evaluate options.
31197 Add missing "(...)" around root_dev in prefix string.
31198
c86f1469 311992008-01-14 Robert Millan <rmh@aybabtu.com>
31200
31201 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
31202 for grub_ieee1275_exit(), in order to improve portability.
31203
e622c559 312042008-01-14 Robert Millan <rmh@aybabtu.com>
31205
31206 * util/grub.d/10_linux.in (prefix): Define.
31207 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
31208
44cb1ec8 312092008-01-13 Pavel Roskin <proski@gnu.org>
31210
31211 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
31212 grub_errno if no errors have been detected.
31213
1eb8c802 312142008-01-12 Robert Millan <rmh@aybabtu.com>
31215
31216 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
31217 (grub_util_get_dev_abstraction): New function prototype.
31218
31219 * util/getroot.c: Include `<grub/util/getroot.h>'
31220 (grub_util_get_grub_dev): Move detection of abstraction type to ...
31221 (grub_util_get_dev_abstraction): ... here (new function).
31222
31223 * util/grub-probe.c: Convert PRINT_* to an enum. Add
31224 `PRINT_ABSTRACTION'.
31225 (probe): Probe for abstraction type when requested.
31226 (main): Understand `--target=abstraction'.
31227
31228 * util/i386/efi/grub-install.in: Add abstraction module to core
31229 image when it is found to be necessary.
31230 * util/i386/pc/grub-install.in: Likewise.
31231 * util/powerpc/ieee1275/grub-install.in: Likewise.
31232
31233 * util/update-grub_lib.in (font_path): Return system path without
31234 converting to GRUB path.
31235 * util/update-grub.in: Convert system path returned by font_path()
31236 to a GRUB path. Use `grub-probe -t abstraction' to determine what
31237 abstraction module is needed for loading fonts (if any). Export
31238 that as `GRUB_PRELOAD_MODULES'.
31239 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
31240 insmod commands).
31241
52bd3de9 312422008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
31243
31244 Remove some unused code from reiserfs.
f19dbdb7 31245
52bd3de9 31246 * fs/reiserfs.c (struct grub_reiserfs_key)
31247 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
31248 (struct grub_reiserfs_node_body): Removed.
31249 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
31250 Likewise.
31251 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31252 Likewise.
31253 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31254 Likewise.
31255 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31256 Likewise.
31257 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
31258 Likewise.
31259 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
31260 Likewise.
31261 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
31262 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
31263 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
31264
2f80039d 312652008-01-10 Robert Millan <rmh@aybabtu.com>
31266
31267 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
31268 Determines if a file is garbage left by packaging systems, etc.
31269 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
31270 for processing /etc/grub.d scripts.
31271 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
31272 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
31273 as a condition for processing Linux images.
31274
87888032 312752008-01-10 Pavel Roskin <proski@gnu.org>
31276
31277 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
31278 to compile reiserfs.c on PowerPC.
31279
7e54fced 312802008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 31281
31282 * kern/device.c (grub_device_iterate): Do not abort device iteration
31283 when one of the devices cannot be opened.
31284 * kern/disk.c (grub_disk_open): Do not account previous failures of
31285 unrelated functions when grub_errno is checked for.
31286
5aa541e6 312872008-01-08 Robert Millan <rmh@aybabtu.com>
31288
31289 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
31290 `! grub_linux_is_bzimage', change order of address comparison to make
31291 it more intuitive, and improve "too big zImage" error message.
31292
7076340d 312932008-01-08 Robert Millan <rmh@aybabtu.com>
31294
31295 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
31296 `$(update-grub_DATA)'.
31297 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
31298 targets.
31299
9ca70333 313002008-01-07 Robert Millan <rmh@aybabtu.com>
31301
31302 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
31303 which instruction is modified by grub-setup during installation
31304 (since it wasn't obvious by only looking at this file).
31305
38ccf575 313062008-01-07 Robert Millan <rmh@aybabtu.com>
31307
31308 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
31309 listing actual TODO items.
31310
f5db4291 313112008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
31312
868967cf 31313 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
31314 correctly.
31315 (grub_reiserfs_get_key_offset): Likewise.
31316 (grub_reiserfs_set_key_offset): Likewise.
31317 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 31318 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 31319
31320 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
31321 better to remove the bitfield version completely.
f19dbdb7 31322
868967cf 313232008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 31324
f5db4291 31325 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
31326 allocated from the heap, due to the fshelp implementation.
31327 (grub_reiserfs_dir): Free NODE, due to the same reason.
31328
492e6d9d 313292008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
31330
31331 Mostly from Vincent Pelletier:
f19dbdb7 31332
492e6d9d 31333 * fs/reiserfs.c: New file.
f19dbdb7 31334
492e6d9d 31335 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
31336 (reiserfs_mod_SOURCES): New variable.
31337 (reiserfs_mod_CFLAGS): Likewise.
31338 (reiserfs_mod_LDFLAGS): Likewise.
31339
31340 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
31341 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
31342 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
31343 normal/color.c.
31344
9ce3e7c1 313452008-01-06 Robert Millan <rmh@aybabtu.com>
31346
31347 * normal/color.c: Remove `<grub/env.h>'.
31348
f3b58148 313492008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
31350
31351 * include/grub/normal.h: Include <grub/env.h>.
31352
7ac3bcfa 313532008-01-05 Robert Millan <rmh@aybabtu.com>
31354
31355 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
31356 usage example with `(hd0,1)'.
fb358190 31357 Reported by Samuel Thibault.
7ac3bcfa 31358
c8ee99d7 313592008-01-05 Robert Millan <rmh@aybabtu.com>
31360
31361 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
31362 (grub_linux_boot_zimage): Rename to ...
31363 (grub_linux_boot): ... this.
31364 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
31365 (grub_linux_boot_zimage): Conditionalize zImage copy.
31366
31367 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
31368 (grub_linux_boot_bzimage): Remove prototype.
31369 (grub_linux_boot_zimage): Rename to ...
31370 (grub_linux_boot): ... this.
31371
31372 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
31373 (grub_linux_boot): Remove function.
31374
0ece25b1 313752008-01-05 Robert Millan <rmh@aybabtu.com>
31376
31377 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
31378 (grub_env_write_color_highlight): Likewise.
31379 (grub_wait_after_message): Likewise.
31380
31381 * normal/color.c: New file.
31382
31383 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
31384 (normal_mod_DEPENDENCIES): Likewise.
31385
31386 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
31387 (normal_mod_DEPENDENCIES): Likewise.
31388
31389 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
31390 (normal_mod_DEPENDENCIES): Likewise.
31391
31392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
31393 (normal_mod_DEPENDENCIES): Likewise.
31394
31395 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
31396 for waiting after a message is printed.
31397 * normal/main.c (read_config_file): Likewise.
31398 (grub_normal_init): Register grub_env_write_color_normal() and
31399 grub_env_write_color_highlight() hooks. Mark `color_normal' and
31400 `color_highlight' variables as global.
31401
31402 * normal/menu.c (grub_wait_after_message): New function.
31403 (grub_color_menu_normal): New variable. Replaces ...
31404 (GRUB_COLOR_MENU_NORMAL): ... this macro.
31405 (grub_color_menu_highlight): New variable. Replaces ...
31406 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
31407 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
31408 `GRUB_TERM_COLOR_STANDARD'.
31409 (print_message): Use `grub_setcolorstate' to reload colors. Rename
31410 `normal_code' and `highlight_code' to `old_color_normal' and
31411 `old_color_highlight', respectively.
31412 (grub_menu_init_page): Update colors when drawing the menu, based on
31413 `menu_color_normal' and `menu_color_highlight' variables.
31414 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
31415 a message is printed.
31416
182dd4e5 314172008-01-05 Robert Millan <rmh@aybabtu.com>
31418
31419 * kern/env.c (grub_env_context_open): Propagate hooks for global
31420 variables to new context.
31421
31422 * kern/main.c (grub_set_root_dev): Export `root' variable.
31423
ddf8f6ad 314242008-01-05 Robert Millan <rmh@aybabtu.com>
31425
31426 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 31427 discs unconditionally, since udev and others have options to provide
ddf8f6ad 31428 them.
31429
d8b43d9b 314302008-01-05 Robert Millan <rmh@aybabtu.com>
31431
31432 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
31433
2bff2de3 314342008-01-04 Christian Franke <franke@computer.org>
31435
31436 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
31437 of eisa_mmap.
31438
97eab917 314392008-01-03 Pavel Roskin <proski@gnu.org>
31440
31441 * kern/i386/linuxbios/init.c: Put "void" to all function
31442 declarations with no arguments.
31443 * kern/powerpc/ieee1275/init.c: Likewise.
31444 * term/i386/pc/at_keyboard.c: Likewise.
31445 * term/i386/pc/vga_text.c: Likewise.
31446 * util/grub-mkdevicemap.c: Likewise.
31447
b9416d00 314482008-01-02 Robert Millan <rmh@aybabtu.com>
31449
31450 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
31451 message when loaded image is out of bounds.
31452 (grub_multiboot_load_elf64): Likewise.
31453
92695df9 314542008-01-02 Pavel Roskin <proski@gnu.org>
31455
31456 * util/grub.d/10_linux.in: Try version without ".old" when
31457 looking for initrd. It's better to use initrd from the newer
31458 kernel of the same version than no initrd at all.
31459
d98d9cad 314602008-01-01 Robert Millan <rmh@aybabtu.com>
31461
31462 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
31463
dbfdce36 314642008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
31465
f19dbdb7 31466 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 31467 grub_video_get_active_render_target.
31468 (grub_video_adapter): Added unmap_color and get_active_render_target.
31469
f19dbdb7 31470 * video/video.c: Added grub_video_unmap_color and
dbfdce36 31471 grub_video_get_active_render_target.
31472 (grub_video_get_info): Changed method to accept NULL pointer as an
31473 argument to allow detection of active video adapter.
31474
31475 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
31476 grub_video_vbe_unmap_color_int.
31477 Added grub_video_vbe_unmap_color and
31478 grub_video_vbe_get_active_render_target.
31479 (grub_video_vbe_adapter): Added unmap_color and
31480 get_active_render_target.
31481
f19dbdb7 31482 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 31483 with grub_video_vbe_unmap_color_int.
31484
31485 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
31486 (DEFAULT_NORMAL_COLOR): Likewise.
31487 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
31488 (DEFAULT_FG_COLOR): Removed.
31489 (DEFAULT_BG_COLOR): Likewise.
31490 (DEFAULT_CURSOR_COLOR): Changed value.
31491 (grub_virtual_screen): Added standard_color_setting,
31492 normal_color_setting, highlight_color_setting and term_color.
31493 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
31494 (bitmap_width): Added.
31495 (bitmap_height): Likewise.
31496 (bitmap): Likewise.
31497 (set_term_color): Likewise.
31498 (grub_virtual_screen_setup): Changed to use new terminal coloring
31499 settings.
31500 (grub_gfxterm_init): Added init for bitmap.
31501 (grub_gfxterm_fini): Added destroy for bitmap.
31502 (redraw_screen_rect): Updated to use background bitmap and new
31503 terminal coloring.
31504 (scroll_up): Added optimization for case when there is no bitmap.
31505 (grub_gfxterm_cls): Fixed to use correct background color.
31506 (grub_virtual_screen_setcolorstate): Changed to use new terminal
31507 coloring.
31508 (grub_virtual_screen_setcolor): Likewise.
31509 (grub_virtual_screen_getcolor): Added.
31510 (grub_gfxterm_background_image_cmd): Likewise.
31511 (grub_video_term): Added setcolor and getcolor.
31512 (MOD_INIT): Added registration of background_image command.
31513 (MOD_TERM): Added unregistration for background_image command.
31514
c3c20931 315152007-12-30 Pavel Roskin <proski@gnu.org>
31516
31517 * loader/multiboot_loader.c: Fix multiboot command
31518 unregistration. Fix all typos in the word "multiboot".
31519
df266716 315202007-12-29 Pavel Roskin <proski@gnu.org>
94239199 31521
31522 * util/grub.d/10_linux.in: Refactor search for initrd. Add
31523 support for initrd names used in Fedora.
31524
fc6e896c 315252007-12-26 Bean <bean123ch@gmail.com>
31526
31527 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
31528 (cpio_mod_SOURCES): New variable.
31529 (cpio_mod_CFLAGS): Likewise.
31530 (cpio_mod_LDFLAGS): Likewise.
31531
31532 * fs/cpio.c: New file.
31533
31534 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
31535
31536 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31537
31538 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31539
31540 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31541
533110ad 315422007-12-25 Robert Millan <rmh@aybabtu.com>
31543
31544 * include/grub/term.h (struct grub_term): Add `getcolor' function.
31545 (grub_getcolor): New function.
31546
31547 * kern/term.c (grub_getcolor): New function.
31548 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
31549 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
31550 (print_entry): Set normal and highlight colors to
31551 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
31552 respectively, before printing and restore them to old
31553 values afterwards.
31554 (grub_menu_init_page): Likewise. Fill an additional colored space
31555 that would otherwise be left blank.
31556
31557 * term/efi/console.c (grub_console_getcolor): New function.
31558 (struct grub_console_term.getcolor): New variable.
31559 * term/i386/pc/console.c (grub_console_getcolor): New function.
31560 (struct grub_console_term.getcolor): New variable.
31561 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
31562 (struct grub_console_term.getcolor): New variable.
31563
31564 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
31565 (struct grub_console_term.setcolor): Remove variable.
31566 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
31567 (struct grub_console_term.setcolor): Remove variable.
31568 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
31569 (struct grub_console_term.setcolor): Remove variable.
31570 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
31571 (struct grub_console_term.setcolor): Remove variable.
31572
4931827f 315732007-12-25 Robert Millan <rmh@aybabtu.com>
31574
31575 * configure.ac: Search for possible unifont.hex locations, and
31576 define UNIFONT_HEX if found.
31577
31578 * Makefile.in (UNIFONT_HEX): Define variable.
31579 (DATA): Rename to ...
31580 (PKGLIB): ... this. Update all users.
31581 (PKGDATA): New variable.
31582 (pkgdata_IMAGES): Rename to ...
31583 (pkglib_IMAGES): ... this. Update all users.
31584 (pkgdata_MODULES): Rename to ...
31585 (pkglib_MODULES): ... this. Update all users.
31586 (pkgdata_PROGRAMS): Rename to ...
31587 (pkglib_PROGRAMS): ... this. Update all users.
31588 (pkgdata_DATA): Rename to ...
31589 (pkglib_DATA): ... this. Update all users.
31590 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
31591 (unicode.pff, ascii.pff): New rules.
31592 (all-local): Add `$(PKGDATA)' dependency.
31593 (install-local): Process `$(PKGDATA)'.
31594
31595 * util/update-grub_lib.in (font_path): Search for *.pff files in
31596 a few more locations, including `${pkgdata}'.
31597
57e57e31 315982007-12-23 Robert Millan <rmh@aybabtu.com>
31599
31600 Patch from Bean <bean123ch@gmail.com>:
31601 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
31602 `size'.
31603
4bc72aa9 316042007-12-21 Bean <bean123ch@gmail.com>
31605
31606 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
31607 (ntfscomp_mod_SOURCES): New variable.
31608 (ntfscomp_mod_CFLAGS): Likewise.
31609 (ntfscomp_mod_LDFLAGS): Likewise.
31610
31611 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
31612 (grub_probe_SOURCES): Likewise.
31613 (grub_emu_SOURCES): Likewise.
31614
31615 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
31616 (grub_emu_SOURCES): Likewise.
31617
31618 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
31619 (grub_emu_SOURCES): Likewise.
31620
31621 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
31622 (grub_emu_SOURCES): Likewise.
31623
31624 * fs/ntfs.c (grub_ntfscomp_func): New variable.
31625 (read_run_list): Renamed to grub_ntfs_read_run_list.
31626 (decomp_nextvcn): Moved to ntfscomp.c.
31627 (decomp_getch): Likewise.
31628 (decomp_get16): Likewise.
31629 (decomp_block): Likewise.
31630 (read_block): Likewise.
31631 (read_data): Partially moved to ntfscomp.c.
31632 (fixup): Change unsigned to grub_uint16_t.
31633 (read_mft): Change unsigned long to grub_uint32_t.
31634 (read_attr): Likewise.
31635 (read_data): Likewise.
31636 (read_run_data): Likewise.
31637 (read_run_list): Likewise.
31638 (read_mft): Likewise.
31639
31640 * fs/ntfscomp.c: New file.
31641
31642 * include/grub/ntfs.h: New file.
31643
af680a87 316442007-12-16 Robert Millan <rmh@aybabtu.com>
31645
31646 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
31647 IDE disk check, since Linux is known to support 20 IDE disks.
31648 Reported by Colin Watson.
31649
84be7599 316502007-12-15 Bean <bean123ch@gmail.com>
31651
31652 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
31653 (lnxboot_img_SOURCES): New variable.
31654 (lnxboot_img_ASFLAGS): Likewise.
31655 (lnxboot_img_LDFLAGS): Likewise.
31656
31657 * boot/i386/pc/lnxboot.S: New file.
31658
6af9db01 316592007-11-24 Pavel Roskin <proski@gnu.org>
31660
31661 * configure.ac: Test if '--build-id=none' is supported by the
31662 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
31663 objcopy to generate incorrect binary files (binutils
31664 2.17.50.0.18-1 as shipped by Fedora 8).
31665 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
31666 linking, so that build ID doesn't break the test.
31667
7361cfe6 316682007-11-24 Pavel Roskin <proski@gnu.org>
31669
31670 * include/grub/i386/time.h: use "void" in the argument list
31671 of grub_cpu_idle().
31672 * include/grub/powerpc/time.h: Likewise.
31673 * include/grub/sparc64/time.h: Likewise.
31674
1593e10c 316752007-11-18 Christian Franke <franke@computer.org>
31676
31677 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
31678 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
31679 This fixes the problem that function keys did not work in grub-emu.
31680
3b8db1a8 316812007-11-18 Christian Franke <franke@computer.org>
31682
31683 * disk/host.c (grub_host_open): Remove attribute unused from
31684 name parameter. Add check for "host". This fixes the problem
31685 that grub-emu does not find partitions.
31686
2e29408d 316872007-11-18 Christian Franke <franke@computer.org>
31688
31689 * util/hostfs.c (is_dir): New function.
31690 (grub_hostfs_dir): Handle missing dirent.d_type case.
31691 (grub_hostfs_read): Add missing fseek().
31692 (grub_hostfs_label): Clear label pointer. This fixes a crash
31693 of grub-emu on "ls (host)".
31694
398cd047 316952007-11-18 Christian Franke <franke@computer.org>
31696
31697 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
31698 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
31699 to 64 bit boundary by default.
31700
c405c391 317012007-11-18 Bean <bean123ch@gmail.com>
31702
31703 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
31704 (hexdump_mod_SOURCES): New variable.
31705 (hexdump_mod_CFLAGS): Likewise.
31706 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 31707
c405c391 31708 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
31709
31710 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
31711
31712 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
31713
31714 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
31715
31716 * include/grub/hexdump.h: New file.
31717
31718 * commands/hexdump.c: New file.
31719
5cced7fd 317202007-11-10 Robert Millan <rmh@aybabtu.com>
31721
31722 * commands/i386/pc/play.c (beep_off): Switch order of arguments
31723 in grub_outb() calls.
31724 (beep_on): Likewise.
31725
8b714eb0 317262007-11-10 Christian Franke <franke@computer.org>
31727
31728 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
31729 (grub_menu_run): Likewise.
31730
ce0f1839 317312007-11-10 Robert Millan <rmh@aybabtu.com>
31732
31733 * include/grub/i386/efi/machine.h: New file.
31734 * include/grub/i386/linuxbios/machine.h: Likewise.
31735 * include/grub/i386/pc/machine.h: Likewise.
31736 * include/grub/powerpc/ieee1275/machine.h: Likewise.
31737 * include/grub/sparc64/ieee1275/machine.h: Likewise.
31738
31739 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
31740 (serial_hw_io_addr): New variable.
31741 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
31742 instead of `(unsigned short *) 0x400'.
31743
270c237d 317442007-11-10 Bean <bean123ch@gmail.com>
31745
31746 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
31747
a87783bf 317482007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
31749
31750 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
31751 (vga_mod_SOURCES): Added.
31752 (vga_mod_CFLAGS): Likewise.
31753 (vga_mod_LDFLAGS): Likewise.
31754
31755 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
31756 grub_outb() calls.
31757 (set_map_mask): Likewise.
31758 (set_read_map): Likewise.
31759 (set_read_address): Likewise.
31760 (vga_font): Removed variable.
31761 (get_vga_glyph): Removed function.
31762 (invalidate_char): Likewise.
31763 (write_char): Changed to use grub_font_get_glyph() for font
31764 information.
31765 (grub_vga_putchar): Likewise.
31766 (grub_vga_getcharwidth): Likewise.
31767
6433b448 317682007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
31769
31770 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
31771 flags.
31772 (pxeboot_img_LDFLAGS): Likewise.
31773 (diskboot_img_LDFLAGS): Likewise.
31774 (kernel_img_LDFLAGS): Likewise.
31775
49178511 317762007-11-06 Robert Millan <rmh@aybabtu.com>
31777
31778 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
31779 in grub_outb() calls.
31780 (serial_hw_init): Likewise.
31781
53b052de 317822007-11-05 Robert Millan <rmh@aybabtu.com>
31783
31784 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
31785 spaces. Skip non-regular files.
31786
5ab33bba 317872007-11-05 Robert Millan <rmh@aybabtu.com>
31788
31789 * kern/disk.c (grub_disk_firmware_fini)
31790 (grub_disk_firmware_is_tainted): New variables.
31791
31792 * include/grub/disk.h (grub_disk_firmware_fini)
31793 (grub_disk_firmware_is_tainted): Likewise.
31794
31795 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
31796 (grub_disk_biosdisk_fini): ... to here.
31797 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
31798 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
31799 is set. Register grub_disk_biosdisk_fini() in
31800 `grub_disk_firmware_fini'.
31801
31802 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
31803 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
31804 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
31805 to finish existing firmware disk interface.
31806
31807 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
31808 (ata_mod_SOURCES): New variable.
31809 (ata_mod_CFLAGS): Likewise.
31810 (ata_mod_LDFLAGS): Likewise.
31811
0149ab7c 318122007-11-05 Robert Millan <rmh@aybabtu.com>
31813
31814 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
31815 (grub_ata_wait): Reimplement using grub_millisleep().
31816
31817 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
31818 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
31819
be7ac41e 318202007-11-03 Marco Gerards <marco@gnu.org>
31821
31822 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
31823 (CRTC_ADDR_PORT): New macro.
31824 (CRTC_DATA_PORT): Likewise.
31825 (CRTC_CURSOR): Likewise.
31826 (CRTC_CURSOR_ADDR_HIGH): Likewise.
31827 (CRTC_CURSOR_ADDR_LOW): Likewise.
31828 (update_cursor): New function.
31829 (grub_console_real_putchar): Call `update_cursor'.
31830 (grub_console_gotoxy): Likewise.
31831 (grub_console_cls): Set the default color when clearing the
31832 screen.
31833 (grub_console_setcursor): Implemented.
31834
bb06ab2e 318352007-11-03 Marco Gerards <marco@gnu.org>
31836
31837 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
31838 become activate.
31839 (grub_ata_pio_write): Likewise.
31840
31841 (grub_atapi_identify): Wait after issuing an ATA command.
31842 (grub_atapi_packet): Likewise.
31843 (grub_ata_identify): Likewise.
31844 (grub_ata_readwrite): Likewise.
31845
cf8f780b 318462007-11-03 Marco Gerards <marco@gnu.org>
31847
31848 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
31849 (grub_ata_pio_write): Likewise.
31850 (grub_ata_readwrite): Use `grub_error', instead of
31851 returning `grub_errno'.
31852
ed649e54 318532007-11-03 Marco Gerards <marco@gnu.org>
31854
31855 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
31856 grub_ata_pio_write once for every single sector, instead of for
31857 multiple sectors.
31858
ca25d8f0 318592007-10-31 Robert Millan <rmh@aybabtu.com>
31860
31861 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
31862
31863 * conf/i386-linuxbios.rmk: New file.
31864
31865 * kern/i386/pc/hardware.c: Likewise.
31866 * term/i386/pc/at_keyboard.c: Likewise.
31867 * term/i386/pc/vga_text.c: Likewise.
31868
31869 * include/grub/i386/linuxbios/boot.h: Likewise.
31870 * include/grub/i386/linuxbios/console.h: Likewise.
31871 * include/grub/i386/linuxbios/init.h: Likewise.
31872 * include/grub/i386/linuxbios/kernel.h: Likewise.
31873 * include/grub/i386/linuxbios/loader.h: Likewise.
31874 * include/grub/i386/linuxbios/memory.h: Likewise.
31875 * include/grub/i386/linuxbios/serial.h: Likewise.
31876 * include/grub/i386/linuxbios/time.h: Likewise.
31877
31878 * kern/i386/linuxbios/init.c: Likewise.
31879 * kern/i386/linuxbios/startup.S: Likewise.
31880 * kern/i386/linuxbios/table.c: Likewise.
31881
e911ecc1 318822007-10-31 Marco Gerards <marco@gnu.org>
31883
31884 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
31885 (ata_mod_SOURCES): New variable.
31886 (ata_mod_CFLAGS): Likewise.
31887 (ata_mod_LDFLAGS): Likewise.
31888
31889 * disk/ata.c: New file.
31890
31891 * include/grub/disk.h (grub_disk_dev_id): Add
31892 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 31893
7f66d0e0 318942007-10-31 Robert Millan <rmh@aybabtu.com>
31895
31896 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
31897 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
31898
31899 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
31900 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
31901
31902 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
31903 `<grub/types.h>'.
31904
31905 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
31906
5cd7dd46 319072007-10-27 Robert Millan <rmh@aybabtu.com>
31908
3236ca65 31909 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 31910
2ebfc90f 319112007-10-22 Robert Millan <rmh@aybabtu.com>
31912
31913 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
31914 `"../realmode.S"'.
31915 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
31916
73fcb0f3 319172007-10-22 Robert Millan <rmh@aybabtu.com>
31918
31919 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
31920 (pkgdata_MODULES): Add `biosdisk.mod'.
31921 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
31922 variables.
31923
31924 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
31925 (grub_biosdisk_init): Replace with ...
31926 (GRUB_MOD_INIT(biosdisk)): ... this.
31927 (grub_biosdisk_fini): Replace with ...
31928 (GRUB_MOD_FINI(biosdisk)): ... this.
31929
31930 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
31931 (grub_machine_init): Remove call to grub_biosdisk_init().
31932 (grub_machine_fini): Remove call to grub_machine_fini().
31933
31934 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
31935
3381d274 319362007-10-22 Robert Millan <rmh@aybabtu.com>
31937
31938 * include/grub/time.h: New file.
31939 * include/grub/i386/time.h: Likewise.
31940 * include/grub/powerpc/time.h: Likewise.
31941 * include/grub/sparc64/time.h: Likewise.
31942
31943 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
31944 instances to ...
31945 (KERNEL_MACHINE_TIME_HEADER): ... this.
31946 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
31947 instances to ...
31948 (KERNEL_MACHINE_TIME_HEADER): ... this.
31949 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
31950 instances to ...
31951 (KERNEL_MACHINE_TIME_HEADER): ... this.
31952
31953 * kern/i386/efi/init.c: Include `<grub/time.h>'.
31954 (grub_millisleep): New function.
31955 * kern/i386/pc/init.c: Include `<grub/time.h>'.
31956 (grub_millisleep): New function.
31957 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
31958 Remove `grub/machine/time.h' include.
31959 (grub_millisleep): New function.
31960 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
31961 Remove `grub/machine/time.h' include.
31962 (grub_millisleep): New function.
31963
31964 * include/grub/misc.h (grub_div_roundup): New function.
31965
31966 * kern/misc.c: Include `<grub/time.h>'.
31967 (grub_millisleep_generic): New function.
31968
31969 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
31970 Add `time.h'.
31971 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
31972 Add `time.h'.
31973 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
31974 `machine/time.h'. Add `time.h'.
31975 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
31976
a39a0312 319772007-10-21 Robert Millan <rmh@aybabtu.com>
31978
31979 * include/grub/misc.h (grub_max): New function.
31980
2aad70e2 319812007-10-21 Robert Millan <rmh@aybabtu.com>
31982
31983 * util/misc.c (grub_util_info): Call fflush() before returning.
31984
54b71c4b 319852007-10-20 Robert Millan <rmh@aybabtu.com>
31986
31987 * genmk.rb (Image): Copy `extra_flags' from here ...
31988 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
31989
31990 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
31991 to `argc' and `args' arguments.
31992
a979f513 319932007-10-17 Robert Millan <rmh@aybabtu.com>
31994
31995 * kern/i386/loader.S: New file.
31996
31997 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
31998 * kern/i386/loader.S (grub_linux_prot_size)... to here.
31999 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
32000 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
32001 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
32002 * kern/i386/loader.S (grub_linux_real_addr)... to here.
32003 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
32004 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
32005 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
32006 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
32007 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
32008 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
32009 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
32010 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
32011
32012 * kern/i386/realmode.S: New file.
32013
32014 * kern/i386/pc/startup.S (protstack): Moved from here ...
32015 * kern/i386/realmode.S (protstack)... to here.
32016 * kern/i386/pc/startup.S (gdt): Moved from here ...
32017 * kern/i386/realmode.S (gdt)... to here.
32018 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
32019 * kern/i386/realmode.S (prot_to_real)... to here.
32020
32021 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
32022 `kern/i386/realmode.S'.
32023
825fc8fd 320242007-10-17 Robert Millan <rmh@aybabtu.com>
32025
32026 * include/grub/i386/loader.h: New file.
32027
32028 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
32029 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
32030 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
32031 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
32032 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
32033 * include/grub/i386/loader.h (grub_linux_prot_size)
32034 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
32035 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
32036 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
32037 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
32038
32039 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
32040
e179b2f4 320412007-10-15 Robert Millan <rmh@aybabtu.com>
32042
32043 * normal/misc.c (grub_normal_print_device_info): Do not probe for
32044 filesystem when dev->disk is unset.
32045 Do probe for filesystem even when dev->disk->has_partitions is set.
32046 In case a filesystem is found, always report it.
32047 In case it isn't, if dev->disk->has_partitions is set, report that
32048 a partition table was found instead of reporting that no filesystem
32049 could be identified.
32050
5db82af6 320512007-10-12 Robert Millan <rmh@aybabtu.com>
32052
32053 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
32054 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
32055
68f6ac74 32056 * include/grub/types.h (grub_host_to_target16): New macro.
32057 (grub_host_to_target32): Likewise.
32058 (grub_host_to_target64): Likewise.
32059 (grub_target_to_host16): Likewise.
32060 (grub_target_to_host32): Likewise.
32061 (grub_target_to_host64): Likewise.
5db82af6 32062
32063 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
32064 Renamed from to ...
32065 (GRUB_MOD_ALIGN): ...this. Update all users.
32066
68f6ac74 32067 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
32068 grub_host_to_target32.
32069 Replace grub_be_to_cpu32 with grub_target_to_host32.
32070 (load_modules): Likewise.
32071 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
32072 Replace grub_be_to_cpu32 with grub_target_to_host32.
32073 Replace grub_cpu_to_be16 with grub_host_to_target16.
32074 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 32075
3cf497cc 320762007-10-12 Robert Millan <rmh@aybabtu.com>
32077
32078 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
32079 * util/elf/grub-mkimage.c: ... here.
32080
32081 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
32082 `util/powerpc/ieee1275/grub-mkimage.c'.
32083
c8cc3692 320842007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 32085
c8cc3692 32086 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
32087 and make it easier to figure out.
32088 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
32089 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
32090 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
32091 leave us with less than HEAP_MIN_SIZE total heap.
32092 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 32093
5c58b791 320942007-10-03 Robert Millan <rmh@aybabtu.com>
32095
32096 * include/grub/i386/io.h: New file.
32097 * commands/i386/pc/play.c (inb): Removed.
32098 (outb): Removed.
32099 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32100 with grub_outb().
afcd2ef8 32101 * term/i386/pc/serial.c (inb): Removed.
32102 (outb): Removed.
32103 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32104 with grub_outb().
32105 * term/i386/pc/vga.c (inb): Removed.
32106 (outb): Removed.
32107 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32108 with grub_outb().
5c58b791 32109
1a477ed6 321102007-10-02 Robert Millan <rmh@aybabtu.com>
32111
32112 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
32113 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32114 Reported by Marcin Kurek.
32115
6b5d80fa 321162007-09-07 Robert Millan <rmh@aybabtu.com>
32117
32118 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
32119 SmartFirmware version updates (as released by Sven Luther), and avoid
32120 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
32121 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
32122 known broken.
32123
5618afbf 321242007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32125
32126 From Hitoshi Ozeki:
32127 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
32128 when merging two regions.
32129
6139dcd9 321302007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32131
508e39ee 32132 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
32133 * normal/completion.c (grub_normal_do_completion): Likewise.
32134 Reported by Hitoshi Ozeki.
32135
321362007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 32137
6139dcd9 32138 Do not use devices at boot in chainloading.
f19dbdb7 32139
6139dcd9 32140 * loader/i386/pc/chainloader.c (boot_drive): New variable.
32141 (boot_part_addr): Likewise.
32142 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
32143 with BOOT_DRIVE and BOOT_PART_ADDR.
32144 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
32145 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
32146
38da6516 321472007-08-29 Robert Millan <rmh@aybabtu.com>
32148
32149 Patch from Simon Peter <dn.tlp@gmx.net>:
32150 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
32151 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
32152 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
32153 util/i386/pc/grub-setup.c_DEPENDENCIES.
32154 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
32155 util/grub-probe.c_DEPENDENCIES.
32156 * conf/powerpc-ieee1275.rmk: Likewise.
32157
29d0928c 321582007-08-28 Robert Millan <rmh@aybabtu.com>
32159
32160 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
32161 to tell grub-mkdevicemap how to name devices.
32162 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
32163 feature).
32164
32165 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
32166 util/i386/get_disk_name.c.
32167 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
32168 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
32169 util/ieee1275/get_disk_name.c.
32170
32171 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
32172
32173 * DISTLIST: Add util/i386/get_disk_name.c and
32174 util/ieee1275/get_disk_name.c.
32175
32176 * util/grub-mkdevicemap.c: Replace device naming logic with
32177 grub_util_get_disk_name() calls.
32178
5a0d3cca 321792007-08-20 Robert Millan <rmh@aybabtu.com>
32180
32181 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
32182 (so that it works for both plural and singular quantities).
32183
8b72db2f 321842007-08-05 Robert Millan <rmh@aybabtu.com>
32185
32186 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
32187 so that [xz] isn't taken into account when determining order.
32188
352466bf 321892007-08-02 Marco Gerards <marco@gnu.org>
32190
32191 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
32192 `include/multiboot2.h', `include/grub/elfload.h',
32193 `include/multiboot.h', `include/grub/multiboot.h',
32194 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
32195 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
32196 `kern/elf.c', `loader/multiboot_loader.c',
32197 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
32198 `loader/i386/pc/multiboot2.c',
32199 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
32200 `util/i386/pc/grub-mkrescue.in'. Remove
32201 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
32202 `include/grub/i386/pc/util/biosdisk.h' and
32203 `include/grub/powerpc/ieee1275/multiboot.h'.
32204
8f096014 322052007-08-02 Bean <bean123ch@gmail.com>
32206
32207 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
32208 (ntfs_mod_SOURCES): New variable.
32209 (ntfs_mod_CFLAGS): Likewise.
32210 (ntfs_mod_LDFLAGS): Likewise.
32211
32212 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
32213 (grub_probe_SOURCES): Likewise.
32214 (grub_emu_SOURCES): Likewise.
32215
32216 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
32217 (grub_emu_SOURCES): Likewise.
32218
32219 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
32220 (grub_emu_SOURCES): Likewise.
f19dbdb7 32221
8f096014 32222 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
32223
32224 * fs/ntfs.c: New file.
32225
9959f7db 322262007-08-02 Bean <bean123ch@gmail.com>
32227
32228 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
32229
32230 * file.h (grub_file): Likewise.
32231
32232 * fshelp.h (grub_fshelp_read_file): Likewise.
32233
32234 * util/i386/pc/grub-setup.c (setup): Likewise.
32235 (save_first_sector): Likewise.
32236 (save_blocklists): Likewise.
f19dbdb7 32237
9959f7db 32238 * fs/affs.c (grub_affs_read_file): Likewise.
32239
32240 * fs/ext2.c (grub_ext2_read_file): Likewise.
32241
32242 * fs/fat.c (grub_fat_read_data): Likewise.
32243
32244 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
32245
32246 * fs/hfs.c (grub_hfs_read_file): Likewise.
32247
32248 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
32249
32250 * fs/jfs.c (grub_jfs_read_file): Likewise.
32251
32252 * fs/minix.c (grub_minix_read_file): Likewise.
32253
32254 * fs/sfs.c (grub_sfs_read_file): Likewise.
32255
32256 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 32257
9959f7db 32258 * fs/xfs.c (grub_xfs_read_file): Likewise.
32259
32260 * command/blocklist.c (read_blocklist): Likewise.
32261 (print_blocklist): Likewise.
32262
0a203f83 322632007-08-02 Marco Gerards <marco@gnu.org>
32264
32265 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
32266 `util/hostfs.c'.
32267
32268 * disk/host.c: New file.
32269
32270 * util/hostfs.c: Likewise.
32271
32272 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
32273 return `GRUB_ERR_BAD_FS'.
32274 * fs/sfs.c (grub_sfs_mount): Likewise.
32275 * fs/xfs.c (grub_xfs_mount): Likewise.
32276
32277 * include/grub/disk.h (enum grub_disk_dev_id): Add
32278 `GRUB_DISK_DEVICE_HOST_ID'.
32279
32280 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
32281
e5dfe777 322822007-07-24 Jerone Young <jerone@gmail.com>
32283
f19dbdb7 32284 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 32285 modules for compilation.
32286 * conf/powerpc-ieee1275.rmk: Likewise.
32287
32288 * include/multiboot.h: Move multiboot definitions to one file. Rename
32289 many definitions to not get grub specific.
32290 * include/multiboot2.h: Create header with multiboot 2 definitions.
32291 * include/grub/multiboot.h: Header for grub specific function
32292 prototypes and definitions.
32293 * include/grub/multiboot2.h: Likewise.
32294 * include/grub/multiboot_loader.h: Likewise.
32295 * include/grub/i386/pc/multiboot.h: Removed.
32296 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
32297
32298 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
32299 and 2 to allow for one multiboot and module commands.
32300 * loader/multiboot2.c: Add multiboot2 functionality.
32301 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
32302 and definition names.
32303 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
32304 2 functions.
32305 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
32306 ieee1275 specific multiboot2 code.
32307
32308 * kern/i386/pc/startup.S: Change headers and definition names for
32309 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
32310
daf0f0ba 323112007-07-22 Robert Millan <rmh@aybabtu.com>
32312
32313 * geninitheader.sh: Process file specified in first parameter rather
32314 than hardcoding grub_modules_init.lst.
fe6b695a 32315 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 32316 than hardcoding grub_modules_init.h.
32317
32318 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
32319 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
32320 grub_probe_init.[ch] and grub_setup_init.[ch].
32321
32322 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
32323 grub_modules_init.h with grub_emu_init.h.
32324 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
32325 grub_probe_init.[ch] files.
32326 * conf/i386-efi.rmk: Likewise.
32327 * conf/i386-pc.rmk: Likewise.
32328 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
32329 grub_setup_init.[ch] files.
32330
32331 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
32332 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
32333 to initialize modules rather than a list of hardcoded functions.
32334 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
32335 grub_init_all() to initialize modules rather than a list of hardcoded
32336 functions.
32337
54cdc1cc 323382007-07-22 Robert Millan <rmh@aybabtu.com>
32339
32340 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
32341 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
32342
ad0686cc 323432007-07-22 Robert Millan <rmh@aybabtu.com>
32344
32345 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
32346 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
32347 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
32348 flag when running on SmartFirmware.
32349 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
32350 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
32351 was set.
32352
32353 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
32354 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
32355 rather than decreasing it.
32356
32357 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
32358 there's not enough space to do it, fail in the same way as when it
32359 can't be done because there are no partitions.
32360
32361 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
32362 when nvsetenv failed.
32363
969c02ec 323642007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
32365
32366 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
32367 because this rule is automatically generated.
32368 (grub-mkrescue): Removed for the same reason as above.
32369
5a79f472 323702007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
32371
32372 Migrate to GNU General Public License Version 3.
f19dbdb7 32373
5a79f472 32374 * COPYING: Replaced with the plain text version of GPLv3.
32375
32376 * config.guess: Updated from gnulib.
32377 * config.sub: Likewise.
32378
32379 * geninit.sh: Output a GPLv3 copyright notice.
32380 * geninitheader.sh: Likewise.
32381 * genmodsrc.sh: Likewise.
32382 * gensymlist.sh.in: Likewise.
32383
32384 * boot/i386/pc/boot.S: Upgraded to GPLv3.
32385 * boot/i386/pc/diskboot.S: Likewise.
32386 * boot/i386/pc/pxeboot.S: Likewise.
32387 * commands/blocklist.c: Likewise.
32388 * commands/boot.c: Likewise.
32389 * commands/cat.c: Likewise.
32390 * commands/cmp.c: Likewise.
32391 * commands/configfile.c: Likewise.
32392 * commands/echo.c: Likewise.
32393 * commands/help.c: Likewise.
32394 * commands/ls.c: Likewise.
32395 * commands/search.c: Likewise.
32396 * commands/terminal.c: Likewise.
32397 * commands/test.c: Likewise.
32398 * commands/videotest.c: Likewise.
32399 * commands/i386/cpuid.c: Likewise.
32400 * commands/i386/pc/halt.c: Likewise.
32401 * commands/i386/pc/play.c: Likewise.
32402 * commands/i386/pc/reboot.c: Likewise.
32403 * commands/i386/pc/vbeinfo.c: Likewise.
32404 * commands/i386/pc/vbetest.c: Likewise.
32405 * commands/ieee1275/halt.c: Likewise.
32406 * commands/ieee1275/reboot.c: Likewise.
32407 * commands/ieee1275/suspend.c: Likewise.
32408 * disk/loopback.c: Likewise.
32409 * disk/lvm.c: Likewise.
32410 * disk/raid.c: Likewise.
32411 * disk/efi/efidisk.c: Likewise.
32412 * disk/i386/pc/biosdisk.c: Likewise.
32413 * disk/ieee1275/ofdisk.c: Likewise.
32414 * font/manager.c: Likewise.
32415 * fs/affs.c: Likewise.
32416 * fs/ext2.c: Likewise.
32417 * fs/fat.c: Likewise.
32418 * fs/fshelp.c: Likewise.
32419 * fs/hfs.c: Likewise.
32420 * fs/hfsplus.c: Likewise.
32421 * fs/iso9660.c: Likewise.
32422 * fs/jfs.c: Likewise.
32423 * fs/minix.c: Likewise.
32424 * fs/sfs.c: Likewise.
32425 * fs/ufs.c: Likewise.
32426 * fs/xfs.c: Likewise.
32427 * hello/hello.c: Likewise.
32428 * include/grub/acorn_filecore.h: Likewise.
32429 * include/grub/arg.h: Likewise.
32430 * include/grub/bitmap.h: Likewise.
32431 * include/grub/boot.h: Likewise.
32432 * include/grub/cache.h: Likewise.
32433 * include/grub/device.h: Likewise.
32434 * include/grub/disk.h: Likewise.
32435 * include/grub/dl.h: Likewise.
32436 * include/grub/elfload.h: Likewise.
32437 * include/grub/env.h: Likewise.
32438 * include/grub/err.h: Likewise.
32439 * include/grub/file.h: Likewise.
32440 * include/grub/font.h: Likewise.
32441 * include/grub/fs.h: Likewise.
32442 * include/grub/fshelp.h: Likewise.
32443 * include/grub/gzio.h: Likewise.
32444 * include/grub/hfs.h: Likewise.
32445 * include/grub/kernel.h: Likewise.
32446 * include/grub/loader.h: Likewise.
32447 * include/grub/lvm.h: Likewise.
32448 * include/grub/misc.h: Likewise.
32449 * include/grub/mm.h: Likewise.
32450 * include/grub/net.h: Likewise.
32451 * include/grub/normal.h: Likewise.
32452 * include/grub/parser.h: Likewise.
32453 * include/grub/partition.h: Likewise.
32454 * include/grub/pc_partition.h: Likewise.
32455 * include/grub/raid.h: Likewise.
32456 * include/grub/rescue.h: Likewise.
32457 * include/grub/script.h: Likewise.
32458 * include/grub/setjmp.h: Likewise.
32459 * include/grub/symbol.h: Likewise.
32460 * include/grub/term.h: Likewise.
32461 * include/grub/terminfo.h: Likewise.
32462 * include/grub/tparm.h: Likewise.
32463 * include/grub/types.h: Likewise.
32464 * include/grub/video.h: Likewise.
32465 * include/grub/efi/api.h: Likewise.
32466 * include/grub/efi/chainloader.h: Likewise.
32467 * include/grub/efi/console.h: Likewise.
32468 * include/grub/efi/console_control.h: Likewise.
32469 * include/grub/efi/disk.h: Likewise.
32470 * include/grub/efi/efi.h: Likewise.
32471 * include/grub/efi/pe32.h: Likewise.
32472 * include/grub/efi/time.h: Likewise.
32473 * include/grub/i386/linux.h: Likewise.
32474 * include/grub/i386/setjmp.h: Likewise.
32475 * include/grub/i386/types.h: Likewise.
32476 * include/grub/i386/efi/kernel.h: Likewise.
32477 * include/grub/i386/efi/loader.h: Likewise.
32478 * include/grub/i386/efi/time.h: Likewise.
32479 * include/grub/i386/pc/biosdisk.h: Likewise.
32480 * include/grub/i386/pc/boot.h: Likewise.
32481 * include/grub/i386/pc/chainloader.h: Likewise.
32482 * include/grub/i386/pc/console.h: Likewise.
32483 * include/grub/i386/pc/init.h: Likewise.
32484 * include/grub/i386/pc/kernel.h: Likewise.
32485 * include/grub/i386/pc/loader.h: Likewise.
32486 * include/grub/i386/pc/memory.h: Likewise.
32487 * include/grub/i386/pc/multiboot.h: Likewise.
32488 * include/grub/i386/pc/serial.h: Likewise.
32489 * include/grub/i386/pc/time.h: Likewise.
32490 * include/grub/i386/pc/vbe.h: Likewise.
32491 * include/grub/i386/pc/vbeblit.h: Likewise.
32492 * include/grub/i386/pc/vbefill.h: Likewise.
32493 * include/grub/i386/pc/vbeutil.h: Likewise.
32494 * include/grub/i386/pc/vga.h: Likewise.
32495 * include/grub/ieee1275/ieee1275.h: Likewise.
32496 * include/grub/ieee1275/ofdisk.h: Likewise.
32497 * include/grub/powerpc/libgcc.h: Likewise.
32498 * include/grub/powerpc/setjmp.h: Likewise.
32499 * include/grub/powerpc/types.h: Likewise.
32500 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
32501 * include/grub/powerpc/ieee1275/console.h: Likewise.
32502 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
32503 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
32504 * include/grub/powerpc/ieee1275/loader.h: Likewise.
32505 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
32506 * include/grub/powerpc/ieee1275/time.h: Likewise.
32507 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
32508 * include/grub/sparc64/libgcc.h: Likewise.
32509 * include/grub/sparc64/setjmp.h: Likewise.
32510 * include/grub/sparc64/types.h: Likewise.
32511 * include/grub/sparc64/ieee1275/console.h: Likewise.
32512 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
32513 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
32514 * include/grub/sparc64/ieee1275/time.h: Likewise.
32515 * include/grub/util/biosdisk.h: Likewise.
32516 * include/grub/util/getroot.h: Likewise.
32517 * include/grub/util/lvm.h: Likewise.
32518 * include/grub/util/misc.h: Likewise.
32519 * include/grub/util/raid.h: Likewise.
32520 * include/grub/util/resolve.h: Likewise.
32521 * io/gzio.c: Likewise.
32522 * kern/device.c: Likewise.
32523 * kern/disk.c: Likewise.
32524 * kern/dl.c: Likewise.
32525 * kern/elf.c: Likewise.
32526 * kern/env.c: Likewise.
32527 * kern/err.c: Likewise.
32528 * kern/file.c: Likewise.
32529 * kern/fs.c: Likewise.
32530 * kern/loader.c: Likewise.
32531 * kern/main.c: Likewise.
32532 * kern/misc.c: Likewise.
32533 * kern/mm.c: Likewise.
32534 * kern/parser.c: Likewise.
32535 * kern/partition.c: Likewise.
32536 * kern/rescue.c: Likewise.
32537 * kern/term.c: Likewise.
32538 * kern/efi/efi.c: Likewise.
32539 * kern/efi/init.c: Likewise.
32540 * kern/efi/mm.c: Likewise.
32541 * kern/i386/dl.c: Likewise.
32542 * kern/i386/efi/init.c: Likewise.
32543 * kern/i386/efi/startup.S: Likewise.
32544 * kern/i386/pc/init.c: Likewise.
32545 * kern/i386/pc/lzo1x.S: Likewise.
32546 * kern/i386/pc/startup.S: Likewise.
32547 * kern/ieee1275/ieee1275.c: Likewise.
32548 * kern/powerpc/cache.S: Likewise.
32549 * kern/powerpc/dl.c: Likewise.
32550 * kern/powerpc/ieee1275/cmain.c: Likewise.
32551 * kern/powerpc/ieee1275/crt0.S: Likewise.
32552 * kern/powerpc/ieee1275/init.c: Likewise.
32553 * kern/powerpc/ieee1275/openfw.c: Likewise.
32554 * kern/sparc64/cache.S: Likewise.
32555 * kern/sparc64/dl.c: Likewise.
32556 * kern/sparc64/ieee1275/init.c: Likewise.
32557 * kern/sparc64/ieee1275/openfw.c: Likewise.
32558 * loader/efi/chainloader.c: Likewise.
32559 * loader/efi/chainloader_normal.c: Likewise.
32560 * loader/i386/efi/linux.c: Likewise.
32561 * loader/i386/efi/linux_normal.c: Likewise.
32562 * loader/i386/pc/chainloader.c: Likewise.
32563 * loader/i386/pc/chainloader_normal.c: Likewise.
32564 * loader/i386/pc/linux.c: Likewise.
32565 * loader/i386/pc/linux_normal.c: Likewise.
32566 * loader/i386/pc/multiboot.c: Likewise.
32567 * loader/i386/pc/multiboot_normal.c: Likewise.
32568 * loader/powerpc/ieee1275/linux.c: Likewise.
32569 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
32570 * normal/arg.c: Likewise.
32571 * normal/cmdline.c: Likewise.
32572 * normal/command.c: Likewise.
32573 * normal/completion.c: Likewise.
32574 * normal/execute.c: Likewise.
32575 * normal/function.c: Likewise.
32576 * normal/lexer.c: Likewise.
32577 * normal/main.c: Likewise.
32578 * normal/menu.c: Likewise.
32579 * normal/menu_entry.c: Likewise.
32580 * normal/misc.c: Likewise.
32581 * normal/parser.y: Likewise.
32582 * normal/script.c: Likewise.
32583 * normal/i386/setjmp.S: Likewise.
32584 * normal/powerpc/setjmp.S: Likewise.
32585 * normal/sparc64/setjmp.S: Likewise.
32586 * partmap/acorn.c: Likewise.
32587 * partmap/amiga.c: Likewise.
32588 * partmap/apple.c: Likewise.
32589 * partmap/gpt.c: Likewise.
32590 * partmap/pc.c: Likewise.
32591 * partmap/sun.c: Likewise.
32592 * term/gfxterm.c: Likewise.
32593 * term/terminfo.c: Likewise.
32594 * term/efi/console.c: Likewise.
32595 * term/i386/pc/console.c: Likewise.
32596 * term/i386/pc/serial.c: Likewise.
32597 * term/i386/pc/vesafb.c: Likewise.
32598 * term/i386/pc/vga.c: Likewise.
32599 * term/ieee1275/ofconsole.c: Likewise.
32600 * util/biosdisk.c: Likewise.
32601 * util/console.c: Likewise.
32602 * util/genmoddep.c: Likewise.
32603 * util/getroot.c: Likewise.
32604 * util/grub-emu.c: Likewise.
32605 * util/grub-mkdevicemap.c: Likewise.
32606 * util/grub-probe.c: Likewise.
32607 * util/lvm.c: Likewise.
32608 * util/misc.c: Likewise.
32609 * util/raid.c: Likewise.
32610 * util/resolve.c: Likewise.
32611 * util/update-grub.in: Likewise.
32612 * util/update-grub_lib.in: Likewise.
32613 * util/grub.d/00_header.in: Likewise.
32614 * util/grub.d/10_hurd.in: Likewise.
32615 * util/grub.d/10_linux.in: Likewise.
32616 * util/i386/efi/grub-install.in: Likewise.
32617 * util/i386/efi/grub-mkimage.c: Likewise.
32618 * util/i386/pc/grub-install.in: Likewise.
32619 * util/i386/pc/grub-mkimage.c: Likewise.
32620 * util/i386/pc/grub-mkrescue.in: Likewise.
32621 * util/i386/pc/grub-setup.c: Likewise.
32622 * util/i386/pc/misc.c: Likewise.
32623 * util/powerpc/ieee1275/grub-install.in: Likewise.
32624 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
32625 * util/powerpc/ieee1275/misc.c: Likewise.
32626 * video/bitmap.c: Likewise.
32627 * video/video.c: Likewise.
32628 * video/i386/pc/vbe.c: Likewise.
32629 * video/i386/pc/vbeblit.c: Likewise.
32630 * video/i386/pc/vbefill.c: Likewise.
32631 * video/i386/pc/vbeutil.c: Likewise.
32632 * video/readers/tga.c: Likewise.
32633
3572d015 326342007-07-02 Robert Millan <rmh@aybabtu.com>
32635
32636 * conf/i386-efi.rmk: Replace obsolete reference to
32637 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
32638 with util/getroot.c.
32639 * conf/powerpc-ieee1275.rmk: Likewise.
32640 * conf/sparc64-ieee1275.rmk: Likewise.
32641
32642 * util/grub-emu.c (main): Fix unchecked pointer handling.
32643
2c2a681b 326442007-07-02 Robert Millan <rmh@aybabtu.com>
32645
32646 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
32647 invocation to fail, in order to support partition-less media.
32648
32649 * util/i386/pc/grub-install.in: Likewise.
32650
32651 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
32652 which fs or partmap modules are needed (akin to its sister scripts).
32653
32654 Also use grub-probe to get rid of unportable /proc/mounts check.
32655
32656 Print the same informational message that the other scripts do, before
fe6b695a 32657 exiting.
2c2a681b 32658
6193defe 326592007-06-23 Robert Millan <rmh@aybabtu.com>
32660
fe6b695a 32661 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 32662 a font file can be found and, if so, echo the GRUB path to it.
32663
32664 * util/update-grub.in: Handle multiple terminals depending on user
32665 input, platform availability and font file presence. Propagate
32666 variables of our findings to /etc/grub.d/ children.
32667
32668 * util/grub.d/00_header.in: Handle multiple terminals, based on
32669 environment setup by update-grub.
32670
eface1dc 326712007-06-23 Robert Millan <rmh@aybabtu.com>
32672
ba50d28f 32673 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 32674
bf697e28 326752007-06-21 Robert Millan <rmh@aybabtu.com>
32676
32677 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
32678 indicate end of data section in kernel image.
32679 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
32680 GRUB_KERNEL_MACHINE_DATA_END.
32681
32682 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
32683 space for it.
32684 * kern/i386/efi/startup.S: Likewise.
32685
32686 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
32687 during image generation. Implement --prefix option to override this
32688 patch.
32689 * util/i386/efi/grub-mkimage.c: Likewise.
32690
32691 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
32692 code to make path relative to its root into a separate function.
32693
32694 * util/i386/pc/grub-install.in: Use newly provided
32695 make_system_path_relative_to_its_root() to convert ${grubdir}, then
32696 pass the result to grub-install --prefix.
32697
baa574b4 326982007-06-13 Robert Millan <rmh@aybabtu.com>
32699
32700 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
32701 DEFAULT_DEVICE_MAP.
32702 * util/grub-emu.c: Use above definitions from misc.h instead of
32703 defining them.
32704 * util/grub-mkdevicemap.c: Likewise.
32705 * util/i386/pc/grub-setup.c: Likewise.
32706 * util/grub-probe.c: Likewise.
32707 (probe): Abort with grub_util_error() when either
32708 grub_guess_root_device or grub_util_get_grub_dev fails.
32709
0215dcbf 327102007-06-12 Robert Millan <rmh@aybabtu.com>
32711
32712 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
32713 "pager" assignment.
32714 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
32715 "pcdata".
32716 * util/grub-probe.c (probe): Likewise for "drive_name".
32717
8af2ab7b 327182007-06-11 Robert Millan <rmh@aybabtu.com>
32719
32720 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
32721 not just the cdrom one.
32722
59d31694 327232007-06-11 Robert Millan <rmh@aybabtu.com>
32724
32725 * util/i386/pc/grub-mkrescue.in: Add "set -e".
32726 Add --pkglibdir=DIR option to override pkglibdir.
32727 Mention --image-type=TYPE in help output.
32728 Fix --grub-mkimage (it was a no-op).
fe6b695a 32729 Abort gracefully when no parameter is given.
59d31694 32730
7ee367e4 327312007-06-11 Robert Millan <rmh@aybabtu.com>
32732
32733 * util/i386/pc/grub-mkrescue.in: New file.
32734 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
32735 * Makefile.in: Handle bin_SCRIPTS.
32736
29b0ed46 327372007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
32738
32739 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
32740 list of video modes.
32741
c0f90770 327422007-06-06 Robert Millan <rmh@aybabtu.com>
32743
32744 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
32745 file doesn't exist, or if it is in a filesystem grub can't read.
32746
32747 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
32748 not abort if GRUB_DRIVE could not be defined. Rearrange generated
32749 header comment to fit in 80 columns when the variables are resolved.
32750
32751 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
32752 could be identified by update-grub. Remove redundant check for
fe6b695a 32753 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 32754 handles that).
32755
fb36dc26 327562007-06-04 Robert Millan <rmh@aybabtu.com>
32757
32758 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
32759
32760 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
32761
32762 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
32763
0c68c93e 327642007-06-04 Robert Millan <rmh@aybabtu.com>
32765
32766 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
32767
32768 * include/grub/partition.h: Declare grub_apple_partition_map_init and
32769 grub_apple_partition_map_fini.
32770
32771 * util/biosdisk.c
32772 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
32773 to access >2 TiB disks).
32774
32775 Print disk->total_sectors with %llu instead of %lu, since this
32776 variable is always 64-bit (prevents wrong disk size from being displayed
32777 on either >2 TiB disk or big-endian CPU).
32778
32779 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
32780 into a generic case that supports all (sane) partition maps.
32781
32782 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
32783 breaks big-endian.
32784
32785 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
32786 and grub_apple_partition_map_fini() after that.
32787
0f23eb74 327882007-06-01 Robert Millan <rmh@aybabtu.com>
32789
32790 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
32791
32792 * util/grub.d/00_header.in: Only enable gfxterm when
32793 convert_system_path_to_grub_path() succeeds.
32794
42c71976 327952007-05-20 Robert Millan <rmh@aybabtu.com>
32796
32797 * util/update-grub_lib.in: New file.
32798 * DISTLIST: Add update-grub_lib.in.
32799 * conf/common.rmk: Generate update-grub_lib and install it in
32800 $(lib_DATA).
32801 * Makefile.in: Add install routine for $(lib_DATA).
32802
32803 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
32804 function provided by update-grub_lib to support arbitrary paths of
32805 unifont.pff.
32806 * util/update-grub.in: Use convert_system_path_to_grub_path() to
32807 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
32808
5beb2291 328092007-05-19 Robert Millan <rmh@aybabtu.com>
32810
32811 * commands/i386/cpuid.c: New module.
32812 * DISTLIST: Add it.
32813 * conf/i386-efi.rmk: Enable cpuid.mod.
32814 * conf/i386-pc.rmk: Likewise.
32815
7262eca1 328162007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
32817
32818 * kern/disk.c (grub_disk_read): Check return value of
32819 grub_realloc().
32820
260ba823 328212007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
32822
32823 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
32824 arrays.
32825 * disk/raid.c (grub_raid_open): Likewise.
32826
1ecb6cf2 328272007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
32828
32829 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
32830 stack instead of on the heap.
32831
32832 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
32833 before doing a read on it.
32834
32835 * configure.ac: Only use -fno-stack-protector for the target
32836 environment.
f19dbdb7 32837
21c8cbb1 328382007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
32839
32840 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
32841 __attribute_ ((unused)) to mode_type argument.
32842
32843 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 32844
21c8cbb1 32845 * kern/misc.c (memcmp): Fix prototype.
32846
32847 * include/grub/partition.h [GRUB_UTIL]
32848 (grub_gpt_partition_map_init): Add prototype.
32849 (grub_gpt_partition_map_fini): Likewise.
32850
32851 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
32852 at the right place.
32853
32854 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
32855 (grub_fat_read_data): Likewise.
32856 (grub_fat_find_dir): Likewise.
32857
32858 * font/manager.c (find_glyph): Make table a const.
32859 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 32860
849d55d3 328612007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
32862
32863 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
32864 code, first search for device in /dev/mapper, then in /dev.
32865 (grub_util_get_grub_dev): New function.
32866 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
32867 prototype.
32868 * util/grub-probe.c (probe): Remove check for RAID, call
32869 grub_util_get_grub_dev() instead of
32870 grub_util_biosdisk_get_grub_dev().
32871 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
32872 grub_util_biosdisk_get_grub_dev().
32873 * util/i386/pc/grub-setup.c (main): Likewise.
32874
8fff7c2f 328752007-05-16 Robert Millan <rmh@aybabtu.com>
32876
32877 * DISTLIST: Update for the latest changes.
32878 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
32879 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
32880 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
32881 grub/util/biosdisk.h.
32882 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
32883 grub/util/biosdisk.h.
32884
48e12b52 328852007-05-16 Robert Millan <rmh@aybabtu.com>
32886
32887 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
32888
46b9d128 328892007-05-16 Robert Millan <rmh@aybabtu.com>
32890
32891 * util/i386/efi/grub-install.in: New.
32892 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
32893 newly added grub-install.
32894 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
32895 include.
32896 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
32897 grub/util/biosdisk.h.
32898 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
32899 grub/util/biosdisk.h.
32900
2d1a40a9 329012007-05-16 Robert Millan <rmh@aybabtu.com>
32902
32903 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
32904 * include/grub/util/biosdisk.h: ... here.
32905 * util/i386/pc/biosdisk.c: Moved to ...
32906 * util/biosdisk.c: ... here.
32907 * util/i386/pc/getroot.c: Moved to ...
32908 * util/getroot.c: ... here.
32909 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
32910 * util/grub-mkdevicemap.c: ... here.
32911 * util/i386/pc/grub-probe.c: Moved to ...
32912 * util/grub-probe.c: ... here.
32913
9e26e3bc 329142007-05-15 Robert Millan <rmh@aybabtu.com>
32915
32916 * util/update-grub.in: Remove duplicated line in grub.cfg header
32917 message.
32918
57f96397 329192007-05-13 Robert Millan <rmh@aybabtu.com>
32920
32921 * util/update-grub.in: Fix a few assumptions about the devices holding
32922 /, /boot and /boot/grub being the same.
32923 * util/grub.d/00_header.in: Likewise.
32924 * util/grub.d/10_hurd.in: Likewise.
32925 * util/grub.d/10_linux.in: Likewise.
32926
32927 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
32928 patterns. Use that to define the `.old' suffix as older than `'.
32929
32930 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
32931
32932 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
32933 the grub.cfg header message.
32934
2e610d62 329352007-05-11 Robert Millan <rmh@aybabtu.com>
32936
32937 * util/update-grub.in: Create device.map if it doesn't already exist,
32938 before attempting to run grub-probe.
32939 Check for grub-probe and grub-mkdevicemap with the same code
32940 grub-install is using.
32941 Remove test mode.
32942
3f6a10ef 329432007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
32944
32945 * Makefile.in: Add the datarootdir autoconf variable.
32946
02e7b75e 329472007-05-09 Robert Millan <rmh@aybabtu.com>
32948
32949 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 32950 fail gracefully if dev->disk->partition == NULL.
02e7b75e 32951
75f396cc 329522007-05-07 Robert Millan <rmh@aybabtu.com>
32953
32954 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
32955 determine partition map module.
32956 * util/i386/pc/grub-install.in: Use this feature to decide which
32957 partition module to load, instead of hardcoding pc and gpt.
32958
da65cb36 329592007-05-07 Robert Millan <rmh@aybabtu.com>
32960
32961 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
32962 source directory differs from build directory.
32963
b57d6a91 329642007-05-05 Robert Millan <rmh@aybabtu.com>
32965
32966 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
32967 initialisation.
32968
509d00f1 329692007-05-05 Robert Millan <rmh@aybabtu.com>
32970
32971 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
32972
c48f23ef 329732007-05-05 Robert Millan <rmh@aybabtu.com>
32974
32975 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
32976 command-line arguments via ${GRUB_CMDLINE_LINUX}.
32977
20b97658 329782007-05-05 Robert Millan <rmh@aybabtu.com>
32979
32980 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
32981 (grub_probe_SOURCES): Likewise.
32982 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
32983 GPT and initialize dos_part and bsd_part accordingly.
32984 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
32985 install_bsd_part.
32986 (main): Activate gpt module for use during partition identification,
32987 and deactivate it afterwards.
32988 * util/i386/pc/grub-install.in: Add gpt module to core.img.
32989 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
32990 partition identification, and deactivate it afterwards.
32991
99123174 329922007-05-05 Robert Millan <rmh@aybabtu.com>
32993
32994 * term/i386/pc/console.c (grub_console_fini): Call
32995 grub_term_set_current() before grub_term_unregister().
32996
ebd97f6e 329972007-05-04 Robert Millan <rmh@aybabtu.com>
32998
32999 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
33000 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
33001 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
33002 and update-grub_DATA.
33003 * conf/common.rmk: Build and install update-grub components.
33004 * conf/common.mk: Regenerate.
33005 * util/update-grub.in: New. Core of update-grub.
33006 * util/grub.d/00_header.in: New. Generates grub.cfg header.
33007 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
33008 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
33009 * util/grub.d/README: New. Document grub.d directory layout.
33010
b06a264d 330112007-05-01 Robert Millan <rmh@aybabtu.com>
33012
33013 * util/grub-emu.c: Move initialization functions
33014 grub_util_biosdisk_init() and grub_init_all() before
33015 grub_util_biosdisk_get_grub_dev(), which relies on them.
33016
41f0050e 330172007-04-19 Robert Millan <rmh@aybabtu.com>
33018
33019 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
33020 it is used later.
33021
04582bb3 330222007-04-18 Jerone Young <jerone@gmail.com>
33023
f19dbdb7 33024 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 33025 stanza.
33026
08db4632 330272007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 33028
08db4632 33029 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
33030 continue on and look for device node with real device name.
33031
801b76be 330322007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 33033
fe6b695a 33034 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 33035 ability.
33036 * Makefile.in: Add autoconf package transformation code.
33037 * util/i386/pc/grub-install.in: Likewise.
33038 * util/powerpc/ieee1275/grub-install.in: Likewise.
33039
6795c4e1 330402007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
33041
33042 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
33043 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
33044 (EXT2_REVISION): Likewise.
33045 (EXT2_INODE_SIZE): Likewise.
33046 (struct grub_ext2_block_group): Added a missing member
33047 "used_dirs".
33048 (grub_ext2_read_inode): Divide by the inode size in a superblock
33049 instead of 128 to obtain INODES_PER_BLOCK.
33050 Use the macro EXT2_INODE_SIZE instead of directly using
33051 SBLOCK->INODE_SIZE.
33052
d70af616 330532007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
33054
33055 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
33056 superblock instead of the structure size to compute an
33057 offset. This fixes the problem that GRUB could not read a
33058 filesystem when inode size is different from 128-byte.
33059
3b801603 330602007-03-05 Marco Gerards <marco@gnu.org>
33061
33062 * normal/main.c (read_config_file): When "menu" is not set, create
33063 an initial context.
33064
4785bfe4 330652007-02-21 Hollis Blanchard <hollis@penguinppc.org>
33066
33067 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
33068 (HEAP_LIMIT): New macro.
33069 (grub_claim_heap): Claim memory up to `heaplimit'.
33070
a0cbb023 330712007-02-21 Hollis Blanchard <hollis@penguinppc.org>
33072
33073 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
33074 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
33075 (_start): Likewise.
33076 (grub_arch_modules_addr): Return address after `_end'.
33077 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
33078 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
33079 (add_segments): Calculate `_end' from phdr size and location.
33080 (ALIGN_UP): Moved to ...
33081 * include/grub/misc.h: here.
33082 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
33083 New macro.
33084 (GRUB_IEEE1275_MODULE_BASE): Removed.
33085
fd7d8eba 330862007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33087
33088 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
33089 loop boundary.
33090
9b09e6fc 330912007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33092
33093 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
33094 All users updated.
33095 (grub_elf64_load_hook_t): Likewise.
33096 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
33097 debug output.
33098
3ce27299 330992007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33100
33101 * kern/mm.c: Update copyright.
33102 (grub_mm_debug): Correct syntax error.
33103 (grub_mm_dump_free): New function.
33104 (grub_debug_free): Call `grub_free'.
33105 * include/grub/mm.h: Update copyright.
33106 (grub_mm_dump_free): Add declaration.
33107
077d5fee 331082007-02-12 Hollis Blanchard <hollis@penguinppc.org>
33109
33110 * include/grub/ieee1275/ieee1275.h: Update copyright.
33111 * kern/powerpc/ieee1275/init.c: Likewise.
33112 * kern/powerpc/ieee1275/openfw.c: Likewise.
33113
33114 * loader/powerpc/ieee1275/linux.c: Likewise.
33115 * include/grub/elfload.h: Likewise.
33116 * kern/elf.c: Likewise.
33117 (grub_elf32_load): Pass `base' and `size' parameters. Update all
33118 callers.
33119 (grub_elf64_load): Likewise.
33120 (grub_elf32_load_segment): Move to a nested function.
33121 (grub_elf64_load_segment): Likewise.
33122
dc946850 331232007-02-12 Hollis Blanchard <hollis@penguinppc.org>
33124
33125 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
33126 prototype.
33127 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
33128 (grub_heap_len): Likewise.
33129 (HEAP_SIZE): New macro.
33130 (grub_claim_heap): New function.
33131 (grub_machine_init): Don't claim heap directly. Call
33132 `grub_claim_heap'.
33133 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
33134 (grub_available_iterate): New function.
33135
baa2a121 331362007-02-03 Thomas Schwinge <tschwinge@gnu.org>
33137
33138 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
33139 * configure.ac: Use it for testing the HOST and TARGET compilers.
33140
4fe9862e 331412006-12-13 Thomas Schwinge <tschwinge@gnu.org>
33142
33143 * Makefile.in (enable_grub_emu): New variable.
33144 * configure.ac (--enable-grub-emu): New option.
33145 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
33146 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
33147 * conf/i386-pc.rmk: Likewise.
33148 * conf/powerpc-ieee1275.rmk: Likewise.
33149 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
33150
a8aa5762 331512006-12-12 Marco Gerards <marco@gnu.org>
33152
33153 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
33154
33155 * kern/env.c (grub_env_unset): Don't free the member `value' when
33156 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
33157 pointer.
33158
33159 * normal/main.c (current_menu): Removed.
33160 (free_menu): Unset the `menu' environment variable.
33161 (grub_normal_menu_addentry): Make use of the environment variable
33162 `menu', instead of using the global `current_menu'. Allocate
33163 memory for the sourcecode of this entry.
33164 (read_config_file): New argument `nested', changed all callers.
33165 Only in the case of a new context, initialize a new menu. Set the
33166 `menu' environment variable.
33167 (grub_normal_execute): Don't set and unset the environment
33168 variable `menu' here anymore. Only free the menu when leaving the
33169 context.
33170
33171 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
33172 leak.
33173
957b3a3e 331742006-12-11 Marco Gerards <marco@gnu.org>
33175
33176 * normal/menu_entry.c (run): Fix off by one bug so the last line
33177 is executed. Move the loader check to outside the loop.
33178
ef875714 331792006-12-08 Hollis Blanchard <hollis@penguinppc.org>
33180
33181 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
33182
4e739985 331832006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
33184
33185 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
33186 the number of sectors. Reported by Andrey Shuvikov
33187 <mr_hyro@yahoo.com>.
f19dbdb7 33188
790707f2 331892006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
33190
33191 * kern/disk.c (grub_disk_read): When there is a read error, always
33192 try to read only the necessary data.
f19dbdb7 33193
790707f2 33194 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
33195 disk/raid.c.
33196 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
33197 prototype.
33198 [GRUB_UTIL] (grub_raid_fini): Likewise.
33199 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 33200 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 33201 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
33202 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
33203 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
33204 and grub_raid_fini().
f19dbdb7 33205
03e58196 332062006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
33207
33208 * include/grub/types.h (__unused): Rename to UNUSED.
33209 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
33210 (grub_elf64_size): Likewise.
f19dbdb7 33211
ae4f23bf 332122006-11-03 Hollis Blanchard <hollis@penguinppc.org>
33213
33214 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
33215 grub_error_push and grub_error_pop in the error-handling path.
33216 (grub_elf32_load_segment): Only call grub_file_read with non-zero
33217 length.
33218
2166cc83 332192006-11-03 Hollis Blanchard <hollis@penguinppc.org>
33220
33221 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
33222 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33223 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33224 (kernel_elf_SOURCES): Likewise.
33225 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
33226 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
33227 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33228 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33229 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
33230 (elf_mod_SOURCES): New variable.
33231 (elf_mod_CFLAGS): Likewise.
33232 (elf_mod_LDFLAGS): Likewise.
33233 * include/grub/types.h (__unused): New macro.
33234 * include/grub/elfload.h: New file.
33235 * kern/elf.c: Likewise.
33236 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
33237 (ELF32_LOADMASK): New macro.
33238 (ELF64_LOADMASK): Likewise.
33239 (vmlinux): Removed.
33240 (grub_linux_load32): New function.
33241 (grub_linux_load64): Likewise.
33242 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
33243 Use grub_elf_t instead of grub_file_t.
33244
a09d5aa5 332452006-11-02 Hollis Blanchard <hollis@penguinppc.org>
33246
33247 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
33248 `catch_result' to struct set_color_args.
33249
d976fc51 332502006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
33251
33252 * normal/menu.c: Include grub/script.h.
33253 * normal/menu_entry.c: Likewise.
33254 * include/grub/normal.h: Do not include grub/script.h.
33255
67507549 332562006-10-27 Hollis Blanchard <hollis@penguinppc.org>
33257
33258 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
33259
69203a99 332602006-10-27 Hollis Blanchard <hollis@penguinppc.org>
33261
33262 * kern/disk.c (grub_disk_open): Print debug messages when opening a
33263 disk.
33264 (grub_disk_close): Print debug messages when closing a disk.
33265 (grub_disk_read): Print debug messages when disk read fails.
33266 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
33267 filesystem type.
33268 * kern/partition.c: Include misc.h.
33269 (grub_partition_iterate): Print debug messages when detecting
33270 partition type.
33271
e2b8278c 332722006-10-27 Hollis Blanchard <hollis@penguinppc.org>
33273
33274 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
33275 is negative.
33276 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
33277
97b2f2ff 332782006-10-26 Hollis Blanchard <hollis@penguinppc.org>
33279
33280 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
33281 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
33282
6555d655 332832006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
33284
33285 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
33286 instead of sizeof(lv). Patch by Michael Guntsche.
33287
4d42b77f 332882006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
33289
33290 * disk/lvm.c: Rename VGS to VG_LIST.
33291 (grub_lvm_iterate): Change VGS->LV to VG-LV.
33292 (grub_lvm_open): Likewise.
33293 Thanks to Michael Guntsche for finding this bug.
33294
5d74d927 332952006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
33296
33297 * configure.ac (AC_INIT): Bumped to 1.95.
33298
a1bb27e4 332992006-10-14 Robert Millan <rmh@aybabtu.com>
33300
33301 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
33302 with "/dev/.static/dev/md".
33303
e0994b8b 333042006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
33305
33306 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
33307 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
33308 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
33309 DRIVE_NAME are always freed.
33310
33311 * util/i386/pc/biosdisk.c (make_device_name): Add one into
33312 DOS_PART, as a DOS partition is counted from one instead of zero
33313 now. Reported by Robert Millan.
33314
ddd5cee9 333152006-10-14 Robert Millan <rmh@aybabtu.com>
33316
33317 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
33318 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
33319 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
33320 string returned by grub_guess_root_device.
33321 * util/i386/pc/grub-setup.c: Likewise.
33322 * util/i386/pc/grub-probefs.c: Likewise.
33323
33324 * util/i386/pc/grub-probefs.c: Rename to ...
33325 * util/i386/pc/grub-probe.c: ... this.
33326 * DISTLIST: Remove grub-probefs, add grub-probe.
33327 * conf/i386-efi.rmk: Likewise.
33328 * conf/i386-pc.rmk: Likewise.
33329 * util/i386/pc/grub-install.in: Likewise.
33330
33331 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
33332 choose which information we want to print.
33333
2b002173 333342006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
33335
33336 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
33337 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
33338 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
33339 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
33340 video/readers/tga.c and video/i386/pc/vbeutil.c.
33341
333422006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
33343
33344 Added support for RAID and LVM.
f19dbdb7 33345
2b002173 33346 * disk/lvm.c: New file.
33347 * disk/raid.c: Likewise.
33348 * include/grub/lvm.h: Likewise.
f19dbdb7 33349 * include/grub/raid.h: Likewise.
2b002173 33350 * include/grub/util/lvm.h: Likewise.
33351 * include/grub/util/raid.h: Likewise.
33352 * util/lvm.c: Likewise.
33353 * util/raid.c: Likewise.
33354
33355 * include/grub/disk.h (grub_disk_dev_id): Add
33356 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
33357 (grub_disk_get_size): New prototype.
33358 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
33359 returns a partition.
33360 (grub_disk_get_size): New function.
f19dbdb7 33361
2b002173 33362 * kern/i386/pc/init.c (make_install_device): Copy the prefix
33363 verbatim if grub_install_dos_part is -2.
33364
33365 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
33366 and LVM devices.
33367
33368 * util/i386/pc/grub-setup.c (setup): New argument
33369 MUST_EMBED. Force embedding of GRUB when the argument is
33370 true. Close FILE before returning.
33371 (main): Add support for RAID and LVM.
f19dbdb7 33372
2b002173 33373 * conf/common.rmk: Add RAID and LVM modules.
33374 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
33375 util/lvm.c.
33376 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
33377
33378 * kern/misc.c (grub_strstr): New function.
33379 * include/grub/misc.h (grub_strstr): New prototype.
33380
050548d0 333812006-10-10 Tristan Gingold <tristan.gingold@bull.net>
33382
33383 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
33384
da849d2d 333852006-10-05 Tristan Gingold <tristan.gingold@bull.net>
33386
33387 * kern/misc.c (grub_strtoull): Guess the base only if not
33388 specified.
33389
97b2f2ff 333902006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 33391
33392 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
33393 PowerMac support.
33394
97b2f2ff 333952006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 33396
33397 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
33398
33399 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
33400 Remove `flags' argument. All callers changed.
33401 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
33402 (IEEE1275_IHANDLE_INVALID): New variable.
33403 (IEEE1275_CELL_INVALID): New variable.
33404 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
33405 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
33406 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
33407 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
33408 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
33409 codes from Open Firmware. All callers updated.
33410 (grub_ieee1275_next_property): Directly return Open Firmware return
33411 code.
33412 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
33413 Standardize error checking from `grub_ieee1275_get_property'.
33414 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
33415 `devalias' to `aliases'. Correct comments. Consolidate error paths.
33416
97b2f2ff 334172006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 33418
33419 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
33420 `instance_to_package_args' to `instance_to_path_args'.
33421
33422 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
33423 `grub_ieee1275_chosen'.
33424
33425 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
33426 `grub_ieee1275_interpret'.
33427
97b2f2ff 334282006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 33429
33430 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
33431
97b2f2ff 334322006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 33433
33434 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
33435 (__cmpdi): Likewise.
33436
33437 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
33438 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
33439 `grub_ssize_t'.
33440
02bb8acc 33441 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 33442
33443 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
33444 to type `grub_ssize_t'.
33445 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
33446
7f9a8531 334472006-09-22 Marco Gerards <marco@gnu.org>
33448
33449 * normal/script.c (grub_script_create_cmdmenu): Skip leading
33450 newlines.
33451
b5ef1102 334522006-09-22 Marco Gerards <marco@gnu.org>
33453
33454 * commands/echo.c: New file.
33455
33456 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
33457
33458 * conf/common.rmk (echo_mod_SOURCES): New variable.
33459 (echo_mod_CFLAGS): Likewise.
33460 (echo_mod_LDFLAGS): Likewise.
33461
2cff3677 334622006-09-22 Marco Gerards <marco@gnu.org>
33463
33464 * normal/main.c (get_line): Malloc memory instead of using
33465 preallocated memory. Removed the arguments `cmdline' and
33466 `max_len'. Updated all callers.
33467
6ba4688b 334682006-09-22 Marco Gerards <marco@gnu.org>
33469
33470 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
33471 (normal_mod_DEPENDENCIES): Likewise.
33472
33473 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
33474 (normal_mod_DEPENDENCIES): Likewise.
33475
33476 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
33477
e02ac02c 334782006-09-22 Johan Rydberg <jrydberg@gnu.org>
33479
33480 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
33481 programs.
33482 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
33483 (normal_mod_DEPENDENCIES): Likewise.
33484 * conf/i386-pc.mk: Regenerate.
33485 * conf/i386-efi.mk: Likewise
33486 * conf/common.mk: Likewise.
33487 * conf/powerpc-ieee1275.mk: Likewise.
33488 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 33489
8d252e44 334902006-09-22 Robert Millan <rmh@aybabtu.com>
33491
33492 Sync with i386 version.
33493 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
33494 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
33495
209bf7ac 334962006-09-21 Robert Millan <rmh@aybabtu.com>
33497
33498 Import from GRUB Legacy (lib/device.c):
33499 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
33500 (init_device_map) [__linux__]: Add support for I2O devices.
33501
6b146090 335022006-09-14 Marco Gerards <marco@gnu.org>
33503
33504 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
33505 `-melf_i386'.
33506
e38600a8 335072006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 33508
33509 * util/i386/pc/grub-install.in: Skip menu.lst when removing
33510 /boot/grub/*.lst.
78fa1790 33511
2952da5d 33512 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 33513
2952da5d 33514 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
33515 before adding it to device.map.
33516
01b82a64 335172006-08-15 Johan Rydberg <jrydberg@gnu.org>
33518
fe6b695a 33519 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 33520 compiles a file; using the -MD option.
33521 * conf/common.mk: Regenerate.
33522 * conf/i386-pc.mk: Likewise.
33523 * conf/i386-efi.mk: Likewise.
33524 * conf/powerpc-ieee1275.mk: Likewise.
33525 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 33526
1064790d 335272006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
33528
33529 Move the prototypes of grub_setjmp and grub_longjmp to
33530 cpu/setjmp.h, so that each architecture may specify different
33531 attributes.
f19dbdb7 33532
1064790d 33533 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
33534 (grub_longjmp): Likewise.
33535 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
33536 (grub_longjmp): Likewise.
33537 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
33538 (grub_longjmp): Likewise.
33539
33540 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
33541 [!GRUB_UTIL] (grub_longjmp): Removed.
33542
29dda3ed 335432006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
33544
33545 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
33546 "color!" method does not return any value.
33547
ad2a06ed 335482006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
33549
33550 * include/grub/bitmap.h: New file.
33551
33552 * include/grub/i386/pc/vbeutil.h: Likewise.
33553
33554 * video/bitmap.c: Likewise.
33555
33556 * video/readers/tga.c: Likewise.
33557
33558 * video/i386/pc/vbeutil.c: Likewise.
33559
33560 * commands/videotest.c: Code cleanup and updated to reflect to new
33561 video API.
33562
33563 * term/gfxterm.c: Likewise.
33564
33565 * video/video.c: Likewise.
33566
33567 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
33568 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
33569 (bitmap_mod_SOURCES): New entry.
33570 (bitmap_mod_CFLAGS): Likewise.
33571 (bitmap_mod_LDFLAGS): Likewise.
33572 (tga_mod_SOURCES): Likewise.
33573 (tga_mod_CFLAGS): Likewise.
33574 (tga_mod_LDFLAGS): Likewise.
33575
33576 * include/grub/video.h (grub_video_blit_operators): New enum type.
33577 (grub_video_render_target): Changed as forward declaration and moved
33578 actual definition to be video driver specific.
33579 (grub_video_adapter.blit_bitmap): Added blitting operator.
33580 (grub_video_adapter.blit_render_target): Likewise.
33581 (grub_video_blit_bitmap): Likewise.
33582 (grub_video_blit_render_target): Likewise.
33583
33584 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
33585 driver specific render target definition.
33586 (grub_video_vbe_map_rgba): Added driver internal helper.
33587 (grub_video_vbe_unmap_color): Updated to use
33588 grub_video_i386_vbeblit_info.
33589 (grub_video_vbe_get_video_ptr): Likewise.
33590
33591 * include/grub/i386/pc/vbeblit.h
33592 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
33593 grub_video_i386_vbeblit_info.
33594 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33595 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33596 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33597 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33598 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33599 (grub_video_i386_vbeblit_index_index): Likewise.
33600 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
33601 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33602 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33603 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
33604 operator.
33605 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
33606 operator.
33607
33608 * video/i386/pc/vbeblit.c: Updated to reflect changes on
33609 include/grub/i386/pc/vbeblit.h.
33610
33611 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
33612 Updated to use grub_video_i386_vbeblit_info.
33613 (grub_video_i386_vbefill_R8G8B8): Likewise.
33614 (grub_video_i386_vbefill_index): Likewise.
33615 (grub_video_i386_vbefill): Added generic filler.
33616
33617 * video/i386/pc/vbefill.c: Updated to reflect changes on
33618 include/grub/i386/pc/vbefill.h.
33619
33620 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
33621 grub_video_i386_vbeblit_info.
33622 (grub_video_vbe_unmap_color): Likewise.
33623 (grub_video_vbe_blit_glyph): Likewise.
33624 (grub_video_vbe_scroll): Likewise.
33625 (grub_video_vbe_draw_pixel): Removed function.
33626 (grub_video_vbe_get_pixel): Likewise.
33627 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
33628 updated code to use it.
33629 (common_blitter): Added common blitter for render target and bitmap.
33630 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
33631 (grub_video_vbe_blit_render_target): Likewise.
33632
bc8c036d 336332006-07-30 Johan Rydberg <jrydberg@gnu.org>
33634
33635 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
33636 is in text mode if there is no console control protocol instance
33637 available.
33638
684a8eff 336392006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
33640
33641 * include/grub/video.h: Code cleanup.
33642
33643 * include/grub/i386/pc/vbe.h: Likewise.
33644
33645 * video/i386/pc/vbe.c: Likewise.
33646
33647 * video/i386/pc/vbeblit.c: Likewise.
33648
33649 * video/i386/pc/vbefill.c: Likewise.
33650
33651 * video/video.c: Likewise. Also added more comments.
33652
5915059b 336532006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
33654
33655 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
33656 (struct grub_biosdisk_dap): Likewise.
33657
33658 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
33659 linkage settings for all functions.
33660
90ce5d56 336612006-07-12 Marco Gerards <marco@gnu.org>
33662
33663 * configure.ac (--enable-mm-debug): Fix typo.
33664
33665 * genkernsyms.sh.in: Use proper quoting for `CC'.
33666
43e7f879 336672006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
33668
33669 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
33670 (normal_mod_ASFLAGS): Remove "-m32".
33671
4889bdec 336722006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
33673
33674 * util/misc.c: Include config.h.
33675 [!HAVE_MEMALIGN]: Do not include malloc.h.
33676 (grub_memalign): Use posix_memalign, if present. Then, use
33677 memalign, if present. Otherwise, emit an error.
33678
33679 * util/grub-emu.c: Do not include malloc.h.
33680
33681 * include/grub/util/misc.h: Include unistd.h. This is required for
33682 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
33683 D. Eades III <hde@foobar-qux.org>.
33684
33685 * configure.ac (AC_GNU_SOURCE): Added.
33686 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
33687 type.
33688
fd39d4da 336892006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
33690
33691 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
33692 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
33693
b786f3b5 336942006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
33695
33696 * include/grub/types.h (grub_host_addr_t): Rename to
33697 grub_target_addr_t.
33698 (grub_host_off_t): Rename to grub_target_off_t.
33699 (grub_host_size_t): Rename to grub_target_size_t.
33700 (grub_host_ssize_t): Rename to grub_target_ssize_t.
33701 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
33702
33703 * include/grub/kernel.h (struct grub_module_header): Change type
33704 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
33705 (grub_module_info): Likewise.
f19dbdb7 33706
051988bb 337072006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
33708
33709 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
33710 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
33711 Velazquez <jesus.velazquez@gmail.com>.
33712
deae281b 337132006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
33714
33715 Count partitions from 1 instead of 0 in the string representation
33716 of partitions. Still use 0-based internally.
f19dbdb7 33717
deae281b 33718 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
33719 (sun_partition_map_iterate): Use grub_partition_t instead of
33720 struct grub_partition *. Cast DESC->START_CYLINDER to
33721 grub_uint64_t after converting the endian.
33722 (sun_partition_map_probe): Subtract 1 for PARTNUM.
33723 (sun_partition_map_get_name): Add 1 to P->INDEX.
33724
33725 * partmap/pc.c (grub_partition_parse): Subtract 1 for
33726 PCDATA->DOS_PART.
33727 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
33728
33729 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
33730 zero instead of one.
33731 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
33732 (gpt_partition_map_get_name): Add 1 into P->INDEX.
33733
33734 * partmap/apple.c (apple_partition_map_iterate): Change the type
33735 of POS to unsigned.
33736 (apple_partition_map_probe): Subtract 1 for PARTNUM.
33737 (apple_partition_map_get_name): Add 1 into P->INDEX.
33738
33739 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
33740 of POS to unsigned.
33741 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
33742 calculate the offset of a partition.
33743 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
33744 (amiga_partition_map_get_name): Add 1 into P->INDEX.
33745
33746 * partmap/acorn.c (acorn_partition_map_find): Change the type of
33747 SECTOR to grub_disk_addr_t.
33748 (acorn_partition_map_iterate): Likewise.
33749 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
33750 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
33751 top.
33752 (acorn_partition_map_get_name): Add 1 into P->INDEX.
33753
33754 * kern/i386/pc/init.c (make_install_device): Add 1 into
33755 GRUB_INSTALL_DOS_PART.
33756
33757 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
33758 conditional.
33759
524a1e6a 337602006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
33761
33762 Clean up the code to support 64-bit addressing in disks and
33763 files. This change is not enough for filesystems yet.
f19dbdb7 33764
524a1e6a 33765 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
33766 type of "start" to grub_uint64_t.
33767 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
33768 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
33769 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
33770 convert addresses.
33771
33772 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
33773 to grub_disk_addr_t.
33774
33775 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
33776 string.
33777
33778 * partmap/pc.c (pc_partition_map_iterate): Likewise.
33779
33780 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
33781 to char *.
33782
33783 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
33784
33785 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
33786
33787 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
33788
33789 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
33790 to grub_off_t, to detect an error from grub_file_seek.
33791 (grub_multiboot_load_elf32): Likewise.
33792
33793 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
33794 maximum unsigned long value when an overflow is detected.
33795 (grub_strtoull): New function.
33796 (grub_divmod64): Likewise.
33797 (grub_lltoa): use grub_divmod64.
33798
33799 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
33800 grub_disk_addr_t.
33801 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
33802 the pointer to next character. Use grub_strtoull instead of
33803 grub_strtoul.
33804 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
33805 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
33806 respectively.
33807
fe6b695a 33808 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 33809 return value is signed.
33810 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
33811 test if OFFSET is less than zero, as OFFSET is unsigned now.
33812
33813 * kern/disk.c (struct grub_disk_cache): Change the type of
33814 "sector" to grub_disk_addr_t.
33815 (grub_disk_cache_get_index): Change the type of SECTOR to
33816 grub_disk_addr_t. Calculate the hash with SECTOR casted to
33817 unsigned after shifting.
33818 (grub_disk_cache_invalidate): Change the type of SECTOR to
33819 grub_disk_addr_t.
33820 (grub_disk_cache_unlock): Likewise.
33821 (grub_disk_cache_store): Likewise.
33822 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
33823 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
33824 grub_disk_addr_t and grub_uint64_t, respectively.
33825 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
33826 body, as the value of OFFSET is tweaked by
33827 grub_disk_check_range. Change the types of START_SECTOR, LEN and
33828 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
33829 respectively.
33830 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
33831 body, as the value of OFFSET is tweaked by
33832 grub_disk_check_range. Change the types of LEN and N to
33833 grub_size_t.
33834
33835 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
33836 and "saved_offset" to grub_off_t.
33837 (test_header): Cast BUF to char *.
33838 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
33839 to char *.
33840 (grub_gzio_read): Change the types of OFFSET and SIZE to
33841 grub_off_t and grub_size_t, respectively.
33842
33843 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
33844 Removed.
33845 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
33846 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
33847 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
33848 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
33849 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
33850
33851 * include/grub/types.h (grub_off_t): Unconditionally set to
33852 grub_uint64_t.
33853 (grub_disk_addr_t): Changed to grub_uint64_t.
33854
33855 * include/grub/partition.h (struct grub_partition): Change the
33856 types of "start", "len" and "offset" to grub_disk_addr_t,
33857 grub_uint64_t and grub_disk_addr_t, respectively.
33858 (grub_partition_get_start): Return grub_disk_addr_t.
33859 (grub_partition_get_len): Return grub_uint64_t.
33860
33861 * include/grub/misc.h (grub_strtoull): New prototype.
33862 (grub_divmod64): Likewise.
33863
33864 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
33865 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
33866 grub_off_t, respectively.
33867 All callers and references changed.
33868
33869 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
33870 grub_size_t in "read".
33871 All callers and references changed.
33872
33873 * include/grub/file.h (struct grub_file): Change the types of
33874 "offset" and "size" to grub_off_t and grub_off_t,
33875 respectively. Change the type of SECTOR to grub_disk_addr_t in
33876 "read_hook".
33877 (grub_file_read): Change the type of LEN to grub_size_t.
33878 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
33879 grub_off_t.
33880 (grub_file_size): Return grub_off_t.
33881 (grub_file_tell): Likewise.
33882 All callers and references changed.
33883
33884 * include/grub/disk.h (struct grub_disk_dev): Change the types of
33885 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
33886 "write".
33887 (struct grub_disk): Change the type of "total_sectors" to
33888 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 33889 "read_hook".
524a1e6a 33890 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
33891 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
33892 (grub_disk_write): Likewise.
33893 All callers and references changed.
33894
33895 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
33896 char * for grub_strncmp to silence gcc.
33897 (grub_iso9660_mount): Likewise.
33898 (grub_iso9660_mount): Likewise.
33899 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
33900 return statement.
33901 (grub_iso9660_iterate_dir): Likewise.
33902 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
33903
33904 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
33905 LEN to grub_disk_addr_t and grub_size_t, respectively.
33906
33907 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
33908
33909 * fs/jfs.c (grub_jfs_read_file): Likewise.
33910
33911 * fs/minix.c (grub_jfs_read_file): Likewise.
33912
33913 * fs/sfs.c (grub_jfs_read_file): Likewise.
33914
33915 * fs/ufs.c (grub_jfs_read_file): Likewise.
33916
33917 * fs/xfs.c (grub_jfs_read_file): Likewise.
33918
33919 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
33920 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
33921 respectively.
33922
33923 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
33924 BLKNR to -1 instead of returning GRUB_ERRNO.
33925 (grub_ext2_read_file): Change the types of SECTOR and
33926 LEN to grub_disk_addr_t and grub_size_t, respectively.
33927
33928 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
33929 LEN to grub_disk_addr_t and grub_size_t, respectively.
33930
33931 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
33932 grub_file_read.
33933
33934 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
33935 string. Do not cast SECTOR explicitly.
33936
33937 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
33938 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
33939 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
33940 grub_disk_addr_t and grub_size_t, respectively. If the sector is
33941 over 2TB and LBA mode is not supported, raise an error.
33942 (get_safe_sectors): New function.
33943 (grub_biosdisk_read): Use get_safe_sectors.
33944 (grub_biosdisk_write): Likewise.
33945
33946 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
33947 (grub_efidisk_write): Likewise.
33948
33949 * disk/loopback.c (delete_loopback): Cosmetic changes.
33950 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
33951 correctly.
33952 (grub_loopback_open): Likewise.
33953 (grub_loopback_read): Likewise. Also, change the type of POS to
33954 grub_off_t, and fix the usage of grub_memset.
33955
33956 * commands/i386/pc/play.c: Include grub/machine/time.h.
33957
33958 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
33959 print FILE->SIZE.
33960
33961 * commands/configfile.c: Include grub/env.h.
33962
33963 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
33964 GRUB_ERRNO directly instead. Change the type of POS to
33965 grub_off_t. Follow the coding standard.
33966
33967 * commands/blocklist.c: Include grub/partition.h.
33968 (grub_cmd_blocklist): Return an error if the underlying device is
33969 not a disk. Take the starting sector of a partition into account,
33970 if a partition is used.
33971
33972 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
33973 a length field.
33974 (lba_mode): Support 64-bit addresses.
33975 (chs_mode): Likewise.
33976 (copy_buffer): Adapted to the new offsets of a length field and a
33977 segment field.
33978 (blocklist_default_start): Allocate 64-bit space.
33979
33980 * boot/i386/pc/boot.S (force_lba): Removed.
33981 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 33982 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 33983 space.
33984 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
33985 is useless.
33986 (lba_mode): Refactored to support a 64-bit address. More size
33987 optimization.
33988 (setup_sectors): Likewise.
33989
53af98ad 339902006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
33991
33992 * DISTLIST: Added include/grub/i386/linux.h. Removed
33993 include/grub/i386/pc/linux.h
33994
33995 * configure.ac (AC_INIT): Bumped to 1.94.
33996
33997 * config.guess: Updated from gnulib.
33998 * config.sub: Likewise.
33999 * install-sh: Likewise.
34000 * mkinstalldirs: Likewise.
34001
b4c1940a 340022006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
34003
34004 * conf/common.rmk (grub_modules_init.lst): Depended on
34005 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
34006 MODSRCFILES.
34007
34008 * genmk.rb (PModule::rule): Reverted the previous change.
34009
cfca1cfd 340102006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
34011
34012 * conf/common.rmk (grub_modules_init.lst): Depends on
34013 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
34014 that the target does not exist before producing.
34015 (grub_modules_init.h): Remove the target before generating.
34016 (grub_emu_init.c): Likewise.
34017
34018 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
34019
aa6d7826 340202006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
34021
34022 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
34023 for the target-specific tests. Make sure that we also have the
34024 up-to-date target variables for those tests.
34025
26c607b9 340262006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
34027
34028 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
34029 (PModule::rule): Likewise.
34030
0162321a 340312006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
34032
34033 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
34034 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
34035 target-specific flags should be prefixed.
34036 (PModule::rule): Likewise.
34037
6c826348 340382006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
34039
34040 * configure.ac (CMP): Check if cmp is available explicitly.
34041
b977bf01 340422006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
34043
34044 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
34045 (target_cpu): New variable.
34046 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 34047
b977bf01 34048 * util/i386/pc/grub-install.in (host_cpu): Removed.
34049 (target_cpu): New variable.
34050 (pkglibdir): Use target_cpu instead of host_cpu.
34051
34052 * util/genmoddep.c: Removed.
f19dbdb7 34053
b977bf01 34054 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
34055 instead of GRUB_HOST_SIZEOF_VOID_P.
34056 * kern/dl.c: Likewise.
34057
34058 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
34059 ...
34060 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34061 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34062 (GRUB_TARGET_SIZEOF_LONG): ... this.
34063 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34064 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34065 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
34066 to ...
34067 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34068 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34069 (GRUB_TARGET_SIZEOF_LONG): ... this.
34070 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34071 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34072 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
34073 to ...
34074 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34075 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34076 (GRUB_TARGET_SIZEOF_LONG): ... this.
34077 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34078 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34079
34080 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
34081 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
34082 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
34083 instead of GRUB_HOST_SIZEOF_LONG.
34084 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
34085 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
34086 GRUB_CPU_WORDS_BIGENDIAN.
34087 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
34088 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
34089 grub_host_ssize_t.
34090
34091 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
34092 (genmoddep_SOURCES): Likewise.
34093 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
34094 (genmoddep_SOURCES): Likewise.
34095 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
34096 (genmoddep_SOURCES): Likewise.
34097 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
34098 Likewise.
34099 (genmoddep_SOURCES): Likewise.
34100
34101 * genmoddep.awk: New file.
34102
34103 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
34104 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
34105 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
34106 (PModule::rule): Likewise.
34107 (Program::rule): Likewise.
34108 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
34109 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
34110 respectively.
34111
34112 * configure.ac: Rewritten intensively to use host and target
34113 instead of build and host, respectively.
34114
34115 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
34116 (host_cpu): Removed.
34117 (target_cpu): New variable.
34118 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
34119 (BUILD_CC): Removed.
34120 (BUILD_CFLAGS): Likewise.
34121 (BUILD_CPPFLAGS): Likewise.
34122 (TARGET_CC): New variable.
34123 (TARGET_CFLAGS): Likewise.
34124 (TARGET_CPPFLAGS): Likewise.
34125 (TARGET_LDFLAGS): Likewise.
34126 (AWK): Likewise.
34127 (include): Use target_cpu instead of host_cpu.
34128 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 34129
b977bf01 34130 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
34131
f09771a1 341322006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
34133
34134 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
34135 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
34136 field 'false' to 'exec_on_false'.
34137 (grub_script_create_cmdif): Renamed argument names to reflect above
34138 changes.
34139
34140 * normal/execute.c (grub_script_execute_cmdif): Likewise.
34141
34142 * normal/script.c (grub_script_create_cmdif): Likewise.
34143
118f4fb3 341442006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
34145
34146 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
34147 top.
34148 (grub_hfsplus_btree_recptr): Likewise.
34149 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
34150 FILEBLOCK both to pass a block number and store next block
34151 number.
34152 (grub_hfsplus_read_block): Rewritten heavily to support an extent
34153 overflow file correctly. Specify errors appropriately, because
34154 fshelp expects that GRUB_ERRNO is set when fails. Reuse
34155 grub_hfsplus_btree_recptr to get the pointer to a found key.
34156 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
34157 is found.
34158
34159 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
34160 linux.mod.
34161 (_linux_mod_SOURCES): New variable.
34162 (_linux_mod_CFLAGS): Likewise.
34163 (_linux_mod_LDFLAGS): Likewise.
34164 (linux_mod_SOURCES): Likewise.
34165 (linux_mod_CFLAGS): Likewise.
34166 (linux_mod_LDFLAGS): Likewise.
34167
34168 * DISTLIST: Added loader/i386/efi/linux.c,
34169 loader/i386/efi/linux_normal.c and
34170 include/grub/i386/efi/loader.h.
34171
34172 * loader/i386/efi/linux.c: New file.
34173 * loader/i386/efi/linux_normal.c: Likewise.
34174 * include/grub/i386/efi/loader.h: Likewise.
34175
89a7d726 341762006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
34177
34178 * commands/blocklist.c: New file.
34179
34180 * DISTLIST: Added commands/blocklist.c.
34181
34182 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 34183 color for the background, and a darker color for the foreground.
89a7d726 34184 (grub_console_checkkey): Return READ_KEY.
34185 (grub_console_cls): Set the background to
34186 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
34187
34188 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
34189
34190 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
34191 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
34192
34193 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
34194 prototype.
34195
34196 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
34197 BG. The spec is wrong again.
34198
34199 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
34200 prototype.
34201 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
34202
34203 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
34204 commands/blocklist.c.
34205 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 34206
89a7d726 34207 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
34208 (blocklist_mod_SOURCES): New variable.
34209 (blocklist_mod_CFLAGS): Likewise.
34210 (blocklist_mod_LDFLAGS): Likewise.
34211
75c8f258 342122006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
34213
34214 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
34215 duplication.
34216 (lba_mode): Use %eax more intensively to reduce the code size.
34217
da2eb181 342182006-05-20 Marco Gerards <marco@gnu.org>
34219
34220 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
34221
34222 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
34223 for `menuentry'.
34224 (script): Accept leading newlines.
34225 (newlines): New rule to describe 0 or more newlines.
34226 (commands): Accept `command' with trailing newline. Fixed the
34227 order in which arguments were passed to `grub_script_add_cmd'.
34228 Accept commands separated by newlines.
34229 (function): Changed to accept newlines.
34230 (menuentry) Rewritten.
34231
34232 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
34233 front of the list, instead of to the end.
34234
577b4050 342352006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
34236
34237 * util/i386/pc/grub-install.in (bindir): New variable.
34238 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
34239 Shaver <lbgwjl@gmail.com>.
34240
0d6e1189 342412006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
34242
34243 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
34244 grub/machine/linux.h
34245 * loader/i386/pc/linux.c: Likewise.
34246
34247 * include/grub/i386/pc/linux.h: Moved to ...
34248 * include/grub/i386/linux.h: ... here.
34249
34250 * include/grub/i386/linux.h (struct linux_kernel_params): New
34251 struct.
f19dbdb7 34252
31b86e9f 342532006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
34254
34255 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
34256 checking.
34257 (grub_video_vbe_blit_glyph): Likewise.
34258 (grub_video_vbe_blit_bitmap): Likewise.
34259 (grub_video_vbe_blit_render_target): Likewise.
34260
83b984de 342612006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
34262
34263 * configure.ac (--with-platform): Properly quote the square
34264 brackets.
34265
5f0413bd 342662006-05-08 Marco Gerards <marco@gnu.org>
34267
34268 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
34269 this...
34270 (kernel_elf_HEADERS): ...to this. Updated all users.
34271 (grubof_symlist.c): Renamed from this...
34272 (kernel_elf_symlist.c): ...to this. Updated all users.
34273 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
34274 (grubof_SOURCES): Renamed from this...
34275 (kernel_elf_SOURCES): ...to this.
34276 (grubof_HEADERS): Renamed from this...
34277 (kernel_elf_HEADERS): ...to this.
34278 (grubof_CFLAGS): Renamed from this...
34279 (kernel_elf_CFLAGS): ...to this.
34280 (grubof_ASFLAGS): Renamed from this...
34281 (kernel_elf_ASFLAGS): ...to this.
34282 (grubof_LDFLAGS): Renamed from this...
34283 (kernel_elf_LDFLAGS): ...to this.
34284
34285 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
34286 this...
34287 (kernel_elf_HEADERS): ...to this. Updated all users.
34288 (grubof_symlist.c): Renamed from this...
34289 (kernel_elf_symlist.c): ...to this. Updated all users.
34290 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
34291 (grubof_SOURCES): Renamed from this...
34292 (kernel_elf_SOURCES): ...to this.
34293 (grubof_HEADERS): Renamed from this...
34294 (kernel_elf_HEADERS): ...to this.
34295 (grubof_CFLAGS): Renamed from this...
34296 (kernel_elf_CFLAGS): ...to this.
34297 (grubof_ASFLAGS): Renamed from this...
34298 (kernel_elf_ASFLAGS): ...to this.
34299 (grubof_LDFLAGS): Renamed from this...
34300 (kernel_elf_LDFLAGS): ...to this.
34301
34302 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
34303 `kernel.elf' instead of `grubof'.
34304
05568c2e 343052006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
34306
34307 Add --with-platform to configure. Use pkglibdir instead of
34308 pkgdatadir. This is reported by Roger Leigh.
34309
34310 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
34311 (host_vendor): Likewise.
34312 (host_os): Likewise.
34313 (pkgdatadir): Likewise.
34314 (platform): New variable.
34315 (pkglibdir): Likewise.
34316 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 34317
05568c2e 34318 * util/i386/pc/grub-install.in (datadir): Removed.
34319 (host_vendor): Likewise.
34320 (host_os): Likewise.
34321 (pkgdatadir): Likewise.
34322 (platform): New variable.
34323 (pkglibdir): Likewise.
34324 Use PKGLIBDIR instead of PKGDATADIR.
34325
34326 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
34327 instead of GRUB_DATADIR.
34328 (main): Likewise.
34329 * util/i386/pc/grub-mkimage.c (usage): Likewise.
34330 (main): Likewise.
34331 * util/i386/efi/grub-mkimage.c (usage): Likewise.
34332 (main): Likewise.
34333
34334 * configure.ac (--with-platform): New option.
34335 Use PLATFORM instead of HOST_VENDOR to specify a platform.
34336
34337 * Makefile.in: Include a makefile based on PLATFORM instead of
34338 HOST_VENDOR.
34339 (pkgdatadir): Not appended by the machine type.
34340 (pkglibdir): Appended by the machine type.
34341 (host_vendor): Removed.
34342 (platform): New variable.
34343 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
34344 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
34345 (uninstall): Likewise.
34346
4e93851c 343472006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
34348
34349 Use the environment context in the menu. Remove the commands
34350 "default" and "timeout", and use variables instead.
f19dbdb7 34351
4e93851c 34352 * normal/menu.c: Include grub/env.h.
34353 (print_entry): Cast TITLE to silence gcc.
34354 (get_timeout): New function.
34355 (set_timeout): Likewise.
34356 (get_entry_number): Likewise.
34357 (run_menu): Use a default entry, a fallback entry and a timeout
34358 in the environment variables "default", "fallback" and
34359 "timeout". Also, tweak the default entry if it is not within the
34360 current menu entries.
34361 (grub_menu_run): Use a fallback entry in the environment variable
34362 "fallback".
34363
34364 * normal/main.c (read_config_file): Do not initialize
34365 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
34366 NEWMENU->TIMEOUT.
34367 (grub_normal_execute): Use a data slot to store the menu.
34368
34369 * include/grub/normal.h (struct grub_menu): Removed default_entry,
34370 fallback_entry and timeout.
34371 (struct grub_menu_list): Removed.
34372 (grub_menu_list_t): Likewise.
34373 (struct grub_context): Likewise.
34374 (grub_context_t): Likewise.
34375 (grub_context_get): Likewise.
34376 (grub_context_get_current_menu): Likewise.
34377 (grub_context_push_menu): Likewise.
34378 (grub_context_pop_menu): Likewise.
34379 (grub_default_init): Likewise.
34380 (grub_default_fini): Likewise.
34381 (grub_timeout_init): Likewise.
34382 (grub_timeout_fini): Likewise.
34383
34384 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
34385 and timeout.mod.
34386 (normal_mod_SOURCES): Removed normal/context.c.
34387
34388 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
34389 commands/default.c, commands/timeout.c and normal/context.c.
34390 (normal_mod_SOURCES): Removed normal/context.c.
34391
34392 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
34393 commands/timeout.c and normal/context.c.
34394 (normal_mod_SOURCES): Removed normal/context.c.
34395
34396 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
34397 commands/default.c, commands/timeout.c and normal/context.c.
34398 (normal_mod_SOURCES): Removed normal/context.c.
34399
34400 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
34401 timeout.mod.
34402 (default_mod_SOURCES): Removed.
34403 (default_mod_CFLAGS): Likewise.
34404 (default_mod_LDFLAGS): Likewise.
34405 (timeout_mod_SOURCES): Removed.
34406 (timeout_mod_CFLAGS): Likewise.
34407 (timeout_mod_LDFLAGS): Likewise.
34408
34409 * DISTLIST: Removed commands/default.c, commands/timeout.c and
34410 normal/context.c.
34411
34412 * commands/default.c: Removed.
34413 * commands/timeout.c: Likewise.
34414 * normal/context.c: Likewise.
34415
1eb9cc1d 344162006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
34417
34418 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
34419
385bd9c1 344202006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
34421
34422 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
34423 "next" to "prev" for readability.
34424 (struct grub_env_sorted_var): New struct.
34425 (grub_env_context): Renamed to ...
34426 (initial_context): ... this.
34427 (grub_env_var_context): Renamed to ...
34428 (current_context): ... this.
34429 (grub_env_find): Look only at CURRENT_CONTEXT.
34430 (grub_env_context_open): Rewritten to copy exported variables from
34431 previous context.
34432 (grub_env_context_close): Rewritten according to the new
34433 scheme. Also, add an assertion to prevent the initial context from
34434 removed.
34435 (grub_env_insert): Removed the code for the sorted list.
34436 (grub_env_remove): Likewise.
34437 (grub_env_export): Simply mark the variable with
34438 GRUB_ENV_VAR_GLOBAL.
34439 (grub_env_set): A cosmetic change for naming consistency.
34440 (grub_env_get): Likewise.
34441 (grub_env_unset): Likewise.
34442 (grub_env_iterate): Rewritten to sort variables within this
34443 function.
34444 (grub_register_variable_hook): Fixed for naming consistency. Call
34445 grub_env_find again, only if NAME is not found at the first time.
34446 (mangle_data_slot_name): New function.
34447 (grub_env_set_data_slot): Likewise.
34448 (grub_env_get_data_slot): Likewise.
34449 (grub_env_unset_data_slot): Likewise.
34450
34451 * include/grub/env.h (grub_env_var_type): New enum.
34452 (GRUB_ENV_VAR_LOCAL): New constant.
34453 (GRUB_ENV_VAR_GLOBAL): Likewise.
34454 (GRUB_ENV_VAR_DATA): Likewise.
34455 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
34456 "type".
34457 (grub_env_set): Replace VAR with NAME for consistency.
34458 (grub_register_variable_hook): Likewise.
34459 (grub_env_export): Specify the name of the argument.
34460 (grub_env_set_data_slot): New prototype.
34461 (grub_env_get_data_slot): Likewise.
34462 (grub_env_unset_data_slot): Likewise.
34463
7f362539 344642006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
34465
34466 Extend the loader so that GRUB can accept a loader which comes
34467 back to GRUB when a loaded image exits. Also, this change adds
34468 support for a chainloader on EFI.
f19dbdb7 34469
7f362539 34470 * term/efi/console.c: Include grub/misc.h.
34471 (grub_console_checkkey): Display a scan code on the top for
34472 debugging. This will be removed once the EFI port gets stable.
34473 Correct the scan code mapping.
34474
34475 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
34476 allocate memory from larger regions, in order to reduce the number
34477 of allocated regions. Otherwise, the MacOSX loader panics.
34478 (filter_memory_map): Avoid less than 1MB for compatibility with
34479 other loaders.
34480 (add_memory_regions): Allocate from the tail of a region, if
34481 possible, to avoid allocating a region near to 1MB, for the MacOSX
34482 loader.
34483
34484 * kern/efi/init.c (grub_efi_set_prefix): Specify
34485 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
34486
34487 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
34488 argument IMAGE_HANDLE and specify it to get a loaded image.
34489 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
34490 grub_efi_get_loaded_image.
fe6b695a 34491 (grub_efi_get_filename): Divide the length by the size of
7f362539 34492 grub_efi_char16_t.
34493 (grub_efi_get_device_path): New function.
34494 (grub_efi_print_device_path): Print End Device Path nodes. Divide
34495 the length by the size of grub_efi_char16_t for a file path device
34496 path node.
34497
34498 * kern/loader.c (grub_loader_noreturn): New variable.
34499 (grub_loader_set): Accept a new argument NORETURN. Set
34500 GRUB_LOADER_NORETURN to NORETURN.
34501 All callers changed.
34502 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
34503 grub_machine_fini.
34504
34505 * include/grub/efi/efi.h (grub_efi_get_device_path): New
34506 prototype.
34507 (grub_efi_get_loaded_image): Take an argument to specify an image
34508 handle.
34509
34510 * include/grub/loader.h (grub_loader_set): Added one more argument
34511 NORETURN.
34512
34513 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
34514 instead of grub_efi_open_protocol.
34515 (grub_efidisk_get_device_name): Likewise.
34516 (grub_efidisk_close): Print a newline.
34517 (grub_efidisk_get_device_handle): Fixed to use
34518 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
34519 GRUB_EFI_DEVICE_PATH_TYPE.
34520
34521 * disk/efi/efidisk.c (device_path_guid): Moved to ...
34522 * kern/efi/efi.c (device_path_guid): ... here.
34523
34524 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
34525 chain.mod.
34526 (kernel_mod_HEADERS): Added efi/disk.h.
34527 (_chain_mod_SOURCES): New variable.
34528 (_chain_mod_CFLAGS): Likewise.
34529 (_chain_mod_LDFLAGS): Likewise.
34530 (chain_mod_SOURCES): Likewise.
34531 (chain_mod_CFLAGS): Likewise.
34532 (chain_mod_LDFLAGS): Likewise.
34533
34534 * DISTLIST: Added include/grub/efi/chainloader.h,
34535 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
34536
34537 * include/grub/efi/chainloader.h: New file.
34538 * loader/efi/chainloader.c: Likewise.
34539 * loader/efi/chainloader_normal.c: Likewise.
34540
c0111d6e 345412006-04-30 Marco Gerards <marco@gnu.org>
34542
34543 * commands/configfile.c (grub_cmd_source): New function.
34544 (GRUB_MOD_INIT): Register the commands `source' and `.'.
34545 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
34546
df5341da 345472006-04-30 Marco Gerards <marco@gnu.org>
34548
34549 * normal/execute.c (grub_script_execute_cmd): Change the return
34550 type to `grub_err_t'. Correctly return the error.
34551 (grub_script_execute_cmdline): In case a command line is not a
34552 command or a function, try to interpret it as an assignment.
34553
f85934bd 345542006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
34555
34556 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
34557 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
34558 skip a node whose name is obviously invalid as UTF-16,
34559 i.e. contains a NUL character. Stop the iteration when the last
34560 directory entry is found. Instead of using the return value of
34561 grub_hfsplus_btree_iterate_node, store the value in RET and use
34562 it, because the iterator can be stopped by the last directory
34563 entry.
34564
8f8a2cf8 345652006-04-30 Marco Gerards <marco@gnu.org>
34566
34567 * include/grub/env.h (grub_env_export): New prototype. Reported
34568 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
34569
a27e84ce 345702006-04-30 Marco Gerards <marco@gnu.org>
34571
34572 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
34573 size of the extents in a catalog file record.
34574
eaef0553 345752006-04-29 Marco Gerards <marco@gnu.org>
34576
34577 * commands/configfile.c (grub_cmd_configfile): Execute the
34578 configfile within its own context.
34579
34580 * include/grub/env.h (grub_env_context_open): New prototype.
34581 (grub_env_context_close): Likewise.
34582
34583 * kern/env.c (grub_env): Removed.
34584 (grub_env_sorted): Likewise.
34585 (grub_env_context): New variable.
34586 (grub_env_var_context): Likewise.
34587 (grub_env_find): Search both the active context and the global
34588 context.
34589 (grub_env_context_open): New function.
34590 (grub_env_context_close): Likewise.
34591 (grub_env_insert): Likewise.
34592 (grub_env_remove): Likewise.
34593 (grub_env_export): Likewise.
34594 (grub_env_set): Changed to use helper functions to avoid code
34595 duplication.
34596 (grub_env_iterate): Rewritten so both the current context and the
34597 global context are being used.
34598
34599 * normal/command.c (export_command): New function.
34600 (grub_command_init): Register the `export' function.
34601
7b455f4d 346022006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
34603
34604 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
34605 explicitly to suppress gcc's warnings.
34606 * fs/fat.c (grub_fat_find_dir): Likewise.
34607 (grub_fat_label): Likewise.
34608 * fs/xfs.c (grub_xfs_read_inode): Likewise.
34609 (grub_xfs_mount): Likewise.
34610 (grub_xfs_label): Likewise.
34611 * fs/affs.c (grub_affs_mount): Likewise.
34612 (grub_affs_label): Likewise.
34613 (grub_affs_iterate_dir): Likewise.
34614 * fs/sfs.c (grub_sfs_mount): Likewise.
34615 (grub_sfs_iterate_dir): Likewise.
34616 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
34617 * fs/hfs.c (grub_hfs_mount): Likewise.
34618 (grub_hfs_cmp_catkeys): Likewise.
34619 (grub_hfs_find_dir): Likewise.
34620 (grub_hfs_dir): Likewise.
34621 (grub_hfs_label): Likewise.
34622 * fs/jfs.c (grub_jfs_mount): Likewise.
34623 (grub_jfs_opendir): Likewise.
34624 (grub_jfs_getent): Likewise.
34625 (grub_jfs_lookup_symlink): Likewise.
34626 (grub_jfs_label): Likewise.
34627 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
34628 (grub_hfsplus_iterate_dir): Likewise.
34629 (grub_hfsplus_btree_iterate_node): Made static.
34630
34631 * util/grub-emu.c (prefix): New variable.
34632 (grub_machine_set_prefix): New function.
34633 (main): Do not set the environment variable "prefix" here. Only
34634 set PREFIX, which is used later by grub_machine_set_prefix.
34635
34636 * include/grub/video.h: Do not include grub/symbol.h.
34637 (grub_video_register): Not exported. This symbol is not defined in
34638 the kernel.
34639 (grub_video_unregister): Likewise.
34640 (grub_video_iterate): Likewise.
34641 (grub_video_setup): Likewise.
34642 (grub_video_restore): Likewise.
34643 (grub_video_get_info): Likewise.
34644 (grub_video_get_blit_format): Likewise.
34645 (grub_video_set_palette): Likewise.
34646 (grub_video_get_palette): Likewise.
34647 (grub_video_set_viewport): Likewise.
34648 (grub_video_get_viewport): Likewise.
34649 (grub_video_map_color): Likewise.
34650 (grub_video_map_rgb): Likewise.
34651 (grub_video_map_rgba): Likewise.
34652 (grub_video_fill_rect): Likewise.
34653 (grub_video_blit_glyph): Likewise.
34654 (grub_video_blit_bitmap): Likewise.
34655 (grub_video_blit_render_target): Likewise.
34656 (grub_video_scroll): Likewise.
34657 (grub_video_swap_buffers): Likewise.
34658 (grub_video_create_render_target): Likewise.
34659 (grub_video_delete_render_target): Likewise.
34660 (grub_video_set_active_render_target): Likewise.
34661
34662 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
34663 Undefined.
34664 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
34665
34666 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
34667 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
34668 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
34669 instead of $(srcdir)/genkernsyms.sh.
34670
34671 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
34672 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
34673 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
34674 instead of $(srcdir)/genkernsyms.sh.
34675
34676 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
34677 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
34678 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
34679 instead of $(srcdir)/genkernsyms.sh.
34680
34681 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
34682 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
34683 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
34684 instead of $(srcdir)/genkernsyms.sh.
34685
34686 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
34687 genkernsyms.sh.
34688
34689 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
34690 genkernsyms.sh.
34691 (gensymlist.sh): New target.
34692 (genkernsyms.sh): Likewise.
34693
34694 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
34695 genkernsyms.sh.in and gensymlist.sh.in.
34696
34697 * genkernsyms.sh: Removed.
34698 * gensymlist.sh: Likewise.
f19dbdb7 34699
7b455f4d 34700 * genkernsyms.sh.in: New file.
34701 * gensymlist.sh.in: Likewise.
34702
1885bb27 347032006-04-25 Hollis Blanchard <hollis@penguinppc.org>
34704
34705 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
34706 clobber "prefix", since we may have already set it manually.
34707
71538dff 347082006-04-25 Hollis Blanchard <hollis@penguinppc.org>
34709
34710 * kern/misc.c (abort): New alias for grub_abort.
34711
2965c7cc 347122006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
34713
34714 A new machine-specific function "grub_machine_set_prefix" is
34715 defined. This is called after loading modules, so that a prefix
34716 initialization can use modules. Also, this change adds an
34717 intensive debugging feature for the memory manager via the
34718 configure option "--enable-mm-debug".
f19dbdb7 34719
2965c7cc 34720 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
34721 PART.LEN.
34722
34723 * kern/sparc64/ieee1275/init.c (abort): Removed.
34724 (grub_stop): Likewise.
34725 (grub_exit): New function.
34726 (grub_set_prefix): Renamed to ...
34727 (grub_machine_set_prefix): ... this.
34728 (grub_machine_init): Do not call grub_set_prefix.
34729
34730 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
34731 (grub_machine_set_prefix): ... this.
34732 (grub_machine_init): Do not call grub_set_prefix.
34733
34734 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
34735 (grub_machine_init): Do not set the prefix here.
34736
34737 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
34738
34739 * kern/efi/init.c: Include grub/mm.h.
34740 (grub_efi_set_prefix): New function.
34741
34742 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
34743 (grub_efi_get_filename): New function.
34744 (grub_print_device_path): Renamed to ...
34745 (grub_efi_print_device_path): ... this.
34746
34747 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
34748 [MM_DEBUG] (grub_realloc): Likewise.
34749 [MM_DEBUG] (grub_free): Likewise.
34750 [MM_DEBUG] (grub_memalign): Likewise.
34751 [MM_DEBUG] (grub_mm_debug): New variable.
34752 [MM_DEBUG] (grub_debug_malloc): New function.
34753 [MM_DEBUG] (grub_debug_free): New function.
34754 [MM_DEBUG] (grub_debug_realloc): New function.
34755 [MM_DEBUG] (grub_debug_memalign): New function.
34756
34757 * kern/misc.c (grub_abort): Print a newline to distinguish
34758 the message.
34759
34760 * kern/main.c (grub_main): Call grub_machine_set_prefix and
34761 grub_set_root_dev after loading modules. This is necessary when
34762 setting a prefix depends on modules.
34763
34764 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
34765 (grub_efi_print_device_path): ... this.
34766 (grub_efi_get_filename): New prototype.
34767 (grub_efi_set_prefix): Likewise.
34768
34769 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
34770 and grub/disk.h.
34771 (grub_efidisk_get_device_handle): New prototype.
34772 (grub_efidisk_get_device_name): Likewise.
34773
34774 * include/grub/mm.h: Include config.h.
34775 (MM_DEBUG): Removed.
34776 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
34777 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
34778 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
34779 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
34780 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
34781 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
34782 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
34783 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
34784 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
34785
34786 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
34787
34788 * disk/efi/efidisk.c: Include grub/partition.h.
34789 (iterate_child_devices): New function.
34790 (add_device): First, compare only last device path nodes, so that
34791 devices are sorted by the types.
34792 (grub_efidisk_get_device_handle): New function.
34793 (grub_efidisk_get_device_name): Likewise.
34794
34795 * configure.ac (--enable-mm-debug): New option to enable the
34796 memory manager debugging feature. This makes the binary much
34797 bigger, so is disabled by default.
34798
9cacaa17 347992006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
34800
34801 Use grub_abort instead of grub_stop, and grub_exit must be
34802 define in each architecture now. Also, this change adds support
34803 for EFI disks.
f19dbdb7 34804
9cacaa17 34805 * util/i386/pc/grub-probefs.c: Include grub/term.h.
34806 (grub_getkey): New function.
34807 (grub_term_get_current): Likewise.
34808
34809 * util/i386/pc/grub-setup.c: Include grub/term.h.
34810 (grub_getkey): New function.
34811 (grub_term_get_current): Likewise.
34812
34813 * util/misc.c (grub_stop): Renamed to ...
34814 (grub_exit): ... this.
34815
34816 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
34817 (grub_exit): ... this.
34818 (grub_machine_init): Use grub_abort instead of abort.
34819 (grub_stop): Removed.
34820
34821 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
34822 abort.
34823
34824 * kern/i386/pc/startup.S (grub_exit): New function.
34825 (cold_reboot): New label.
34826
34827 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
34828 (grub_efi_init): Call grub_efidisk_init.
34829 (grub_efi_fini): Call grub_efidisk_fini.
34830
34831 * kern/efi/efi.c: Include grub/mm.h.
34832 (grub_efi_console_control_guid): Renamed to ...
34833 (console_control_guid): ... this.
34834 (grub_efi_loaded_image_guid): Renamed to ...
34835 (loaded_image_guid): ... this.
34836 (grub_efi_locate_handle): New function.
34837 (grub_efi_open_protocol): Likewise.
34838 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
34839 GRUB_EFI_CONSOLE_CONTROL_GUID.
34840 (grub_efi_exit): Removed.
34841 (grub_stop): Likewise.
34842 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
34843 (grub_exit): New function.
34844 (grub_print_device_path): Likewise.
34845
34846 * kern/rescue.c (grub_rescue_cmd_exit): New function.
34847 (grub_enter_rescue_mode): Register "exit".
34848
34849 * kern/misc.c (grub_real_dprintf): A cosmetic change.
34850 (grub_abort): New function.
34851
34852 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
34853
34854 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
34855
34856 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
34857
34858 * include/grub/efi/efi.h (grub_efi_exit): Removed.
34859 (grub_print_device_path): New prototype.
34860 (grub_efi_locate_handle): Likewise.
34861 (grub_efi_open_protocol): Likewise.
34862
34863 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
34864 * disk/efi/efidisk.c: Likewise.
34865
34866 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
34867
34868 * include/grub/efi/console_control.h
34869 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
34870
34871 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
34872 last 8 bytes as an array.
34873 (GRUB_EFI_DISK_IO_GUID): New macro.
34874 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
34875 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
34876 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
34877 grub_uint8_t.
34878 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
34879 (struct grub_efi_device_path): Rename the member "sub_type" to
34880 "subtype".
34881 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
34882 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
34883 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
34884 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
34885 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
34886 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
34887 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
34888 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
34889 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
34890 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
34891 (struct grub_efi_pci_device_path): New structure.
34892 (grub_efi_pci_device_path_t): New type.
34893 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
34894 (struct grub_efi_pccard_device_path): New structure.
34895 (grub_efi_pccard_device_path_t): New type.
34896 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
34897 (struct grub_efi_memory_mapped_device_path): New structure.
34898 (grub_efi_memory_mapped_device_path_t): New type.
34899 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
34900 (struct grub_efi_vendor_device_path): New structure.
34901 (grub_efi_vendor_device_path_t): New type.
34902 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
34903 (struct grub_efi_controller_device_path): New structure.
34904 (grub_efi_controller_device_path_t): New type.
34905 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
34906 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
34907 (struct grub_efi_acpi_device_path): New structure.
34908 (grub_efi_acpi_device_path_t): New type.
34909 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
34910 (struct grub_efi_expanded_acpi_device_path): New structure.
34911 (grub_efi_expanded_acpi_device_path_t): New type.
34912 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
34913 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
34914 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
34915 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
34916 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
34917 (struct grub_efi_atapi_device_path): New structure.
34918 (grub_efi_atapi_device_path_t): New type.
34919 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
34920 (struct grub_efi_fibre_channel_device_path): New structure.
34921 (grub_efi_fibre_channel_device_path_t): New type.
34922 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
34923 (struct grub_efi_1394_device_path): New structure.
34924 (grub_efi_1394_device_path_t): New type.
34925 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
34926 (struct grub_efi_usb_device_path): New structure.
34927 (grub_efi_usb_device_path_t): New type.
34928 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
34929 (struct grub_efi_usb_class_device_path): New structure.
34930 (grub_efi_usb_class_device_path_t): New type.
34931 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
34932 (struct grub_efi_i2o_device_path): New structure.
34933 (grub_efi_i2o_device_path_t): New type.
34934 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
34935 (struct grub_efi_mac_address_device_path): New structure.
34936 (grub_efi_mac_address_device_path_t): New type.
34937 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
34938 (struct grub_efi_ipv4_device_path): New structure.
34939 (grub_efi_ipv4_device_path_t): New type.
34940 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
34941 (struct grub_efi_ipv6_device_path): New structure.
34942 (grub_efi_ipv6_device_path_t): New type.
34943 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
34944 (struct grub_efi_infiniband_device_path): New structure.
34945 (grub_efi_infiniband_device_path_t): New type.
34946 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
34947 (struct grub_efi_uart_device_path): New structure.
34948 (grub_efi_uart_device_path_t): New type.
34949 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
34950 (struct grub_efi_vendor_messaging_device_path): New structure.
34951 (grub_efi_vendor_messaging_device_path_t): New type.
34952 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
34953 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
34954 (struct grub_efi_hard_drive_device_path): New structure.
34955 (grub_efi_hard_drive_device_path_t): New type.
34956 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
34957 (struct grub_efi_cdrom_device_path): New structure.
34958 (grub_efi_cdrom_device_path_t): New type.
34959 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
34960 (struct grub_efi_vendor_media_device_path): New structure.
34961 (grub_efi_vendor_media_device_path_t): New type.
34962 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
34963 (struct grub_efi_file_path_device_path): New structure.
34964 (grub_efi_file_path_device_path_t): New type.
34965 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
34966 (struct grub_efi_protocol_device_path): New structure.
34967 (grub_efi_protocol_device_path_t): New type.
34968 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
34969 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
34970 (struct grub_efi_bios_device_path): New structure.
34971 (grub_efi_bios_device_path_t): New type.
34972 (struct grub_efi_disk_io): New structure.
34973 (grub_efi_disk_io_t): New type.
34974 (struct grub_efi_block_io_media): New structure.
34975 (grub_efi_block_io_media_t): New type.
34976 (struct grub_efi_block_io): New structure.
34977 (grub_efi_block_io_t): New type.
34978
34979 * include/grub/misc.h (grub_stop): Removed.
34980 (grub_exit): New prototype.
34981 (grub_abort): Likewise.
34982
34983 * include/grub/disk.h (enum grub_disk_dev_id): Added
34984 GRUB_DISK_DEVICE_EFIDISK_ID.
34985
34986 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
34987 disk/efi/efidisk.c.
34988 (kernel_syms.lst): Remove the target if an error occurs.
34989
49986a9f 349902006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
34991
34992 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
34993 as it was simply too buggy.
34994
970d3b8a 349952006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
34996
34997 * kern/misc.c (grub_lltoa): New function.
34998 (grub_vsprintf): Added support for the long long suffix,
34999 i.e. "ll".
35000
ff04ec24 350012006-04-20 Hollis Blanchard <hollis@penguinppc.org>
35002
35003 * Makefile.in (LDFLAGS): Add variable.
35004 (LD): Remove variable.
35005 * configure.ac: Add -m32 to LDFLAGS.
35006 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
35007 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
35008 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
35009 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
35010 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
35011 variables.
35012 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
35013 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
35014 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
35015
37e5e1a4 350162006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
35017
35018 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
35019 length for unknown glyph.
35020
c352d8dd 350212006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
35022
2eab1c0d 35023 Add support for pre-loaded modules into the EFI port.
f19dbdb7 35024
2eab1c0d 35025 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
35026 completely. Accept one more argument DIR. The caller has changed.
35027
35028 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
35029
35030 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
35031 (grub_efi_loaded_image_guid): New variable.
35032 (grub_efi_get_loaded_image): New function.
35033 (grub_arch_modules_addr): Likewise.
35034
35035 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
35036 prototype.
35037
35038 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
35039 (struct grub_efi_loaded_image): New structure.
35040 (grub_efi_loaded_image_t): New type.
35041
350422006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 35043
c352d8dd 35044 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
35045 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
35046 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
35047
6d01d6b4 350482006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
35049
35050 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
35051
976a4ea0 350522006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
35053
35054 * DISTLIST: Added include/grub/efi/console.h,
35055 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
35056 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
35057
35058 * include/grub/efi/console.h: New file.
35059 * include/grub/efi/time.h: Likewise.
35060 * include/grub/i386/efi/kernel.h: Likewise.
35061 * kern/efi/init.c: Likewise.
35062 * kern/efi/mm.c: Likewise.
35063 * term/efi/console.c: Likewise.
f19dbdb7 35064
976a4ea0 35065 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
35066 (grub_stop): Removed.
35067 (grub_get_rtc): Likewise.
35068 (grub_machine_init): Simply call grub_efi_init.
35069 (grub_machine_fini): Call grub_efi_fini.
35070
35071 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
35072 (grub_efi_output_string): Removed.
35073 (grub_efi_stall): New function.
35074 (grub_stop): Likewise.
35075 (grub_get_rtc): Likewise.
35076
35077 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
35078 (grub_efi_stall): New prototype.
35079 (grub_efi_allocate_pages): Likewise.
35080 (grub_efi_free_pages): Likewise.
35081 (grub_efi_get_memory_map): Likewise.
35082 (grub_efi_mm_init): Likewise.
35083 (grub_efi_mm_fini): Likewise.
35084 (grub_efi_init): Likewise.
35085 (grub_efi_fini): Likewise.
35086
35087 * include/grub/i386/efi/time.h: Do not include
35088 grub/symbol.h. Include grub/efi/time.h.
35089 (GRUB_TICKS_PER_SECOND): Removed.
35090 (grub_get_rtc): Likewise.
35091
35092 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
35093 Added padding. The EFI spec is buggy.
35094 (GRUB_EFI_BLACK): New macro.
35095 (GRUB_EFI_BLUE): Likewise.
35096 (GRUB_EFI_GREEN): Likewise.
35097 (GRUB_EFI_CYAN): Likewise.
35098 (GRUB_EFI_RED): Likewise.
35099 (GRUB_EFI_MAGENTA): Likewise.
35100 (GRUB_EFI_BROWN): Likewise.
35101 (GRUB_EFI_LIGHTGRAY): Likewise.
35102 (GRUB_EFI_BRIGHT): Likewise.
35103 (GRUB_EFI_DARKGRAY): Likewise.
35104 (GRUB_EFI_LIGHTBLUE): Likewise.
35105 (GRUB_EFI_LIGHTGREEN): Likewise.
35106 (GRUB_EFI_LIGHTCYAN): Likewise.
35107 (GRUB_EFI_LIGHTRED): Likewise.
35108 (GRUB_EFI_LIGHTMAGENTA): Likewise.
35109 (GRUB_EFI_YELLOW): Likewise.
35110 (GRUB_EFI_WHITE): Likewise.
35111 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
35112 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
35113 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
35114 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
35115 (GRUB_EFI_BACKGROUND_RED): Likewise.
35116 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
35117 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
35118 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
35119 (GRUB_EFI_TEXT_ATTR): Likewise.
35120
35121 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
35122 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
35123 (kernel_mod_HEADERS): Added efi/time.h.
35124
83709125 351252006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
35126
35127 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
35128 include/grub/efi/api.h, include/grub/efi/console_control.h,
35129 include/grub/efi/efi.h, include/grub/efi/pe32.h,
35130 include/grub/i386/efi/time.h, kern/efi/efi.c,
35131 kern/i386/efi/init.c, kern/i386/efi/startup.S,
35132 and util/i386/efi/grub-mkimage.c.
35133
35134 * Makefile.in (RMKFILES): Added i386-efi.rmk.
35135
35136 * genmk.rb (PModule#rule): Do not export symbols if
35137 #{prefix}_EXPORTS is set to "no".
35138
35139 * conf/i386-efi.mk: New file.
35140 * conf/i386-efi.rmk: Likewise.
35141 * include/grub/efi/api.h: Likewise.
35142 * include/grub/efi/console_control.h: Likewise.
35143 * include/grub/efi/efi.h: Likewise.
35144 * include/grub/efi/pe32.h: Likewise.
35145 * include/grub/i386/efi/time.h: Likewise.
35146 * kern/efi/efi.c: Likewise.
35147 * kern/i386/efi/init.c: Likewise.
35148 * kern/i386/efi/startup.S: Likewise.
35149 * util/i386/efi/grub-mkimage.c: Likewise.
35150
351512006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 35152
35153 * include/grub/script.h: Include <grub/parser.h> and
35154 "grub_script.tab.h".
35155 (struct grub_lexer_param): New struct.
35156 (struct grub_parser_param): Likewise.
35157 (grub_script_create_arglist): Pass the state in an argument.
35158 (grub_script_add_arglist): Likewise.
35159 (grub_script_create_cmdline): Likewise.
35160 (grub_script_create_cmdblock): Likewise.
35161 (grub_script_create_cmdif): Likewise.
35162 (grub_script_create_cmdmenu): Likewise.
35163 (grub_script_add_cmd): Likewise.
35164 (grub_script_arg_add): Likewise.
35165 (grub_script_lexer_ref): Likewise.
35166 (grub_script_lexer_deref): Likewise.
35167 (grub_script_lexer_record_start): Likewise.
35168 (grub_script_lexer_record_stop): Likewise.
35169 (grub_script_mem_record): Likewise.
35170 (grub_script_mem_record_stop): Likewise.
35171 (grub_script_malloc): Likewise.
35172 (grub_script_yylex): Likewise.
35173 (grub_script_yyparse): Likewise.
35174 (grub_script_yyerror): Likewise.
35175 (grub_script_yylex): Likewise.
35176 (grub_script_lexer_init): Return the state.
35177
35178 * normal/lexer.c (grub_script_lexer_state): Removed variable.
35179 (grub_script_lexer_done): Likewise.
35180 (grub_script_lexer_getline): Likewise.
35181 (grub_script_lexer_refs): Likewise.
35182 (script): Likewise.
35183 (newscript): Likewise.
35184 (record): Likewise.
35185 (recording): Likewise.
35186 (recordpos): Likewise.
35187 (recordlen): Likewise.
35188 (grub_script_lexer_init): Return the state instead of setting
35189 global variables.
35190 (grub_script_lexer_ref): Use the newly added argument for state
35191 instead of globals.
35192 (grub_script_lexer_deref): Likewise.
35193 (grub_script_lexer_record_start): Likewise.
35194 (grub_script_lexer_record_stop): Likewise.
35195 (recordchar): Likewise.
35196 (nextchar): Likewise.
35197 (grub_script_yylex2): Likewise.
35198 (grub_script_yylex): Likewise.
35199 (grub_script_yyerror): Likewise.
35200
35201 * normal/parser.y (func_mem): Removed variable.
35202 (menu_entry): Likewise.
35203 (err): Likewise.
35204 (%lex-param): New parser option.
35205 (%parse-param): Likewise.
35206 (script): Always return the AST.
35207 (argument): Pass the state around.
35208 (arguments): Likewise.
35209 (grubcmd): Likewise.
35210 (commands): Likewise.
35211 (function): Likewise.
35212 (menuentry): Likewise.
35213 (if_statement): Likewise.
35214 (if): Likewise.
35215
35216 * normal/script.c (grub_script_memused): Removed variable.
35217 (grub_script_parsed): Likewise.
35218 (grub_script_malloc): Added a state argument. Use that instead of
35219 global variables.
35220 (grub_script_mem_record): Likewise.
35221 (grub_script_mem_record_stop): Likewise.
35222 (grub_script_arg_add): Likewise.
35223 (grub_script_add_arglist): Likewise.
35224 (grub_script_create_cmdline): Likewise.
35225 (grub_script_create_cmdif): Likewise.
35226 (grub_script_create_cmdmenu): Likewise.
35227 (grub_script_add_cmd): Likewise.
35228 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 35229
e2a8c904 352302006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 35231
35232 * normal/command.c (grub_command_init): Remove the title command.
35233
35234 * normal/lexer.c (grub_script_yylex): Renamed from this...
35235 (grub_script_yylex2): ... to this.
35236 (grub_script_yylex): New function. Temporary
35237 introduced to filter some tokens.
35238 (grub_script_yyerror): Print a newline.
35239
35240 * normal/main.c (read_config_file): Output information about the
35241 lines that contain errors. Wait for a key after all lines have
35242 been processed. Don't return an empty menu.
35243
35244 * normal/parser.y (func_mem): Don't initialize.
35245 (menu_entry): Likewise.
35246 (err): New variable.
35247 (script): Don't return anything when an error was encountered.
35248 (ws, returns): Removed rules.
35249 (argument): Disabled concatenated variable support.
35250 (arguments): Remove explicit separators.
35251 (grubcmd): Likewise.
35252 (function): Likewise.
35253 (menuentry): Likewise.
35254 (if): Likewise.
35255 (commands): Likewise. Add error handling.
35256
35257 * normal/script.c (grub_script_create_cmdline): If
35258 `grub_script_parsed' is 0, assume the parser encountered an error.
35259
c9a86192 352602006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
35261
35262 * configure.ac: Add support for EFI. Fix the typo
35263 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
35264
70f3b243 352652006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
35266
35267 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
35268 foreign multibyte characters should be shown correctly.
35269
65f201ad 352702006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
35271
35272 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
35273 calculation.
35274 (read_config_file): Made it to close file before returning.
35275
b4b93674 352762006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
35277
35278 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
35279 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
35280 video/i386/pc/vbefill.c.
35281
35282 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
35283 video/i386/pc/vbefill.c.
35284
35285 * include/grub/video.h (grub_video_blit_format): New enum.
35286 (grub_video_mode_info): Added new member blit_format.
35287 (grub_video_get_blit_format): New function prototype.
35288
35289 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
35290 function prototype.
35291 (grub_video_vbe_map_rgb): Likewise.
35292 (grub_video_vbe_unmap_color): Likewise.
35293
35294 * include/grub/i386/pc/vbeblit.h: New file.
35295
35296 * include/grub/i386/pc/vbefill.h: New file.
35297
35298 * video/video.c (grub_video_get_blit_format): New function.
35299 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
35300 (grub_video_vbe_map_rgb): Likewise.
35301 (grub_video_vbe_unmap_color): Likewise.
35302
35303 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
35304 optimized fills.
35305 (grub_video_vbe_blit_render_target): Changed to use more optimized
35306 blits.
35307 (grub_video_vbe_setup): Added detection for optimized settings.
35308 (grub_video_vbe_create_render_target): Likewise.
35309
35310 * video/i386/pc/vbeblit.c: New file.
35311
35312 * video/i386/pc/vbefill.c: New file.
35313
c2379b9c 353142006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
35315
35316 * font/manager.c (grub_font_get_glyph): Removed font fixup from
35317 here...
35318
35319 * util/unifont2pff.rb: ... and moved it to here. Improved argument
35320 parsing to support both hex and dec ranges. If filename was missing
35321 show usage information.
35322
bd0d7896 353232006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
35324
35325 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
35326 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
35327
35328 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
35329 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
35330 (video_mod_SOURCES): Added.
35331 (video_mod_CFLAGS): Likewise.
35332 (video_mod_LDFLAGS): Likewise.
35333 (gfxterm_mod_SOURCES): Likewise.
35334 (gfxterm_mod_CFLAGS): Likewise.
35335 (gfxterm_mod_LDFLAGS): Likewise.
35336 (videotest_mod_SOURCES): Likewise.
35337 (videotest_mod_CFLAGS): Likewise.
35338 (videotest_mod_LDFLAGS): Likewise.
35339 (vesafb_mod_SOURCES): Removed.
35340 (vesafb_mod_CFLAGS): Likewise.
35341 (vesafb_mod_LDFLAGS): Likewise.
35342 (vga_mod_SOURCES): Likewise.
35343 (vga_mod_CFLAGS): Likewise.
35344 (vga_mod_LDFLAGS): Likewise.
35345
35346 * commands/videotest.c: New file.
35347
35348 * font/manager.c (fill_with_default_glyph): Modified to use
35349 grub_font_glyph.
35350 (grub_font_get_glyph): Likewise.
35351 (fontmanager): Renamed from this...
35352 (font_manager): ... to this.
35353
35354 * include/grub/font.h (grub_font_glyph): Added new structure.
35355 (grub_font_get_glyph): Modified to use grub_font_glyph.
35356
35357 * include/grub/misc.h (grub_abs): Added as inline function.
35358
35359 * include/grub/video.h: New file.
35360
35361 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
35362 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
35363 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
35364 (grub_vbe_get_controller_info): Renamed from this...
35365 (grub_vbe_bios_get_controller_info): ... to this.
35366 (grub_vbe_get_mode_info): Renamed from this...
35367 (grub_vbe_bios_get_mode_info): ... to this.
35368 (grub_vbe_set_mode): Renamed from this...
35369 (grub_vbe_bios_set_mode): ... to this.
35370 (grub_vbe_get_mode): Renamed from this...
35371 (grub_vbe_bios_get_mode): ... to this.
35372 (grub_vbe_set_memory_window): Renamed from this...
35373 (grub_vbe_bios_set_memory_window): ... to this.
35374 (grub_vbe_get_memory_window): Renamed from this...
35375 (grub_vbe_bios_get_memory_window): ... to this.
35376 (grub_vbe_set_scanline_length): Renamed from this...
35377 (grub_vbe_set_scanline_length): ... to this.
35378 (grub_vbe_get_scanline_length): Renamed from this...
35379 (grub_vbe_bios_get_scanline_length): ... to this.
35380 (grub_vbe_set_display_start): Renamed from this...
35381 (grub_vbe_bios_set_display_start): ... to this.
35382 (grub_vbe_get_display_start): Renamed from this...
35383 (grub_vbe_bios_get_display_start): ... to this.
35384 (grub_vbe_set_palette_data): Renamed from this...
35385 (grub_vbe_bios_set_palette_data): ... to this.
35386 (grub_vbe_set_pixel_rgb): Removed.
35387 (grub_vbe_set_pixel_index): Likewise.
35388
35389 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
35390 from this...
35391 (grub_vbe_bios_get_controller_info): ... to this.
35392 (grub_vbe_get_mode_info): Renamed from this...
35393 (grub_vbe_bios_get_mode_info): ... to this.
35394 (grub_vbe_set_mode): Renamed from this...
35395 (grub_vbe_bios_set_mode): ... to this.
35396 (grub_vbe_get_mode): Renamed from this...
35397 (grub_vbe_bios_get_mode): ... to this.
35398 (grub_vbe_set_memory_window): Renamed from this...
35399 (grub_vbe_bios_set_memory_window): ... to this.
35400 (grub_vbe_get_memory_window): Renamed from this...
35401 (grub_vbe_bios_get_memory_window): ... to this.
35402 (grub_vbe_set_scanline_length): Renamed from this...
35403 (grub_vbe_set_scanline_length): ... to this.
35404 (grub_vbe_get_scanline_length): Renamed from this...
35405 (grub_vbe_bios_get_scanline_length): ... to this.
35406 (grub_vbe_set_display_start): Renamed from this...
35407 (grub_vbe_bios_set_display_start): ... to this.
35408 (grub_vbe_get_display_start): Renamed from this...
35409 (grub_vbe_bios_get_display_start): ... to this.
35410 (grub_vbe_set_palette_data): Renamed from this...
35411 (grub_vbe_bios_set_palette_data): ... to this.
35412 (grub_vbe_bios_get_controller_info): Fixed problem with registers
35413 getting corrupted after calling it. Added more pushes and pops.
35414 (grub_vbe_bios_set_mode): Likewise.
35415 (grub_vbe_bios_get_mode): Likewise.
35416 (grub_vbe_bios_get_memory_window): Likewise.
35417 (grub_vbe_bios_set_scanline_length): Likewise.
35418 (grub_vbe_bios_get_scanline_length): Likewise.
35419 (grub_vbe_bios_get_display_start): Likewise.
35420 (grub_vbe_bios_set_palette_data): Likewise.
35421
35422 * normal/cmdline.c (cl_set_pos): Refresh the screen.
35423 (cl_insert): Likewise.
35424 (cl_delete): Likewise.
35425
35426 * term/gfxterm.c: New file.
35427
35428 * term/i386/pc/vesafb.c: Removed file.
35429
35430 * video/video.c: New file.
35431
35432 * video/i386/pc/vbe.c (real2pm): Added new function.
35433 (grub_video_vbe_draw_pixel): Likewise.
35434 (grub_video_vbe_get_video_ptr): Likewise.
35435 (grub_video_vbe_get_pixel): Likewise
35436 (grub_video_vbe_init): Likewise.
35437 (grub_video_vbe_fini): Likewise.
35438 (grub_video_vbe_setup): Likewise.
35439 (grub_video_vbe_get_info): Likewise.
35440 (grub_video_vbe_set_palette): Likewise.
35441 (grub_video_vbe_get_palette): Likewise.
35442 (grub_video_vbe_set_viewport): Likewise.
35443 (grub_video_vbe_get_viewport): Likewise.
35444 (grub_video_vbe_map_color): Likewise.
35445 (grub_video_vbe_map_rgb): Likewise.
35446 (grub_video_vbe_map_rgba): Likewise.
35447 (grub_video_vbe_unmap_color): Likewise.
35448 (grub_video_vbe_fill_rect): Likewise.
35449 (grub_video_vbe_blit_glyph): Likewise.
35450 (grub_video_vbe_blit_bitmap): Likewise.
35451 (grub_video_vbe_blit_render_target): Likewise.
35452 (grub_video_vbe_scroll): Likewise.
35453 (grub_video_vbe_swap_buffers): Likewise.
35454 (grub_video_vbe_create_render_target): Likewise.
35455 (grub_video_vbe_delete_render_target): Likewise.
35456 (grub_video_vbe_set_active_render_target): Likewise.
35457 (grub_vbe_set_pixel_rgb): Remove function.
35458 (grub_vbe_set_pixel_index): Likewise.
35459 (index_color_mode): Remove static variable.
35460 (active_mode): Likewise.
35461 (framebuffer): Likewise.
35462 (bytes_per_scan_line): Likewise.
35463 (grub_video_vbe_adapter): Added new static variable.
35464 (framebuffer): Likewise.
35465 (render_target): Likewise.
35466 (initial_mode): Likewise.
35467 (mode_in_use): Likewise.
35468 (mode_list): Likewise.
35469
5f97350b 354702006-03-10 Marco Gerards <marco@gnu.org>
35471
35472 * configure.ac (AC_INIT): Bumped to 1.93.
35473
35474 * DISTLIST: Added `include/grub/hfs.h'.
35475
a3c5c6f8 354762006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
35477
35478 * boot/i386/pc/boot.S (general_error): Before looping, try INT
35479 18H, which might help the BIOS falling back to next boot media.
35480
6de53d26 354812006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
35482
35483 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
35484 Poe Chen <poe.poechen@gmail.com>.
35485
77c4a393 354862006-01-17 Marco Gerards <marco@gnu.org>
35487
35488 * include/grub/normal.h: Include <grub/script.h>.
35489 (grub_command_list): Removed struct.
35490 (grub_command_list_t): Removed type.
35491 (grub_menu_entry): Remove members `num' and `command_list'. Add
35492 members `commands' and `sourcecode'.
35493 * include/grub/script.h: Add inclusion guards.
35494 (grub_script_cmd_menuentry): New struct.
35495 (grub_script_execute_menuentry): New prototype.
35496 (grub_script_lexer_record_start): Likewise.
35497 (grub_script_lexer_record_stop): Likewise.
35498 * normal/execute.c (grub_script_execute_menuentry): New function.
35499 * normal/lexer.c (record, recording, recordpos, recordlen): New
35500 variables.
35501 (grub_script_lexer_record_start): New function.
35502 (grub_script_lexer_record_stop): Likewise.
35503 (recordchar): Likewise.
35504 (nextchar): Likewise.
35505 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
35506 2048 as the buffer size. Add the tokens `menuentry' and `@'.
35507 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
35508 (current_menu): New variable.
35509 (free_menu): Mainly rewritten.
35510 (grub_normal_menu_addentry): New function.
35511 (read_config_file): Rewritten.
35512 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 35513 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 35514 the menu entry.
35515 (run): Mainly rewritten.
35516 * normal/parser.y (menu_entry): New variable.
35517 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
35518 (menuentry): New rule.
35519 (command): Add `menuentry'.
35520 (if_statement): Allow additional returns before `fi'.
35521 * normal/script.c (grub_script_create_cmdmenu): New function.
35522
144f1f98 355232006-01-03 Marco Gerards <marco@gnu.org>
35524
35525 * INSTALL: GNU Bison is required.
35526 * configure.ac: Rewritten the test to detect Bison.
35527 * Makefile.in (YACC): New variable. Reported by Xun Sun
35528 <xun.sun.cn@gmail.com>.
35529
af4b2d89 355302006-01-03 Marco Gerards <marco@gnu.org>
35531
35532 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
35533 the HFS+ filesystem to filesystem blocks.
35534 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
35535 GCC warning is silenced.
35536
15643b71 355372006-01-03 Marco Gerards <marco@gnu.org>
35538
35539 * partmap/apple.c (apple_partition_map_iterate): Convert the data
35540 read from disk from big endian to host byte order.
35541
00905879 355422006-01-03 Hollis Blanchard <hollis@penguinppc.org>
35543
35544 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
35545 documentation.
35546 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
35547 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
35548 embedded HFS+ filesystem.
35549 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
35550 (grub_hfs_sblock): Move from here...
35551 * include/grub/hfs.h: To here... New file.
35552 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
35553 documentation.
35554 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
35555 New macros.
35556 (grub_hfsplus_volheader): Change type of member `magic' to
35557 `grub_uint16_t'.
35558 (grub_hfsplus_data): Add new member `embedded_offset'.
35559 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
35560 returned block.
35561 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
35562 Calculate the offset.
35563
8899bc3e 355642005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
35565
35566 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
35567 Removed.
35568 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
35569
ae8c0277 355702005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
35571
35572 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
35573 ENV->NAME is NULL after allocating ENV->VALUE.
35574
07084456 355752005-12-25 Marco Gerards <marco@gnu.org>
35576
35577 * kern/env.c (grub_env_set): Rewritten the error handling code.
35578
4750f5f1 355792005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
35580
35581 * geninit.sh: Made more robust, and more portable.
35582
50214199 355832005-12-25 Marco Gerards <marco@gnu.org>
35584
35585 Add support for Apple HFS+ filesystems.
f19dbdb7 35586
50214199 35587 * fs/hfsplus.c: New file.
35588
35589 * DISTLIST: Added `fs/hfsplus.c'.
35590
35591 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
35592 (hfsplus_mod_SOURCES): New variable.
35593 (hfsplus_mod_CFLAGS): Likewise.
35594 (hfsplus_mod_LDFLAGS): Likewise.
35595 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
35596 (grub_setup_SOURCES): Likewise.
35597 (grub_mkdevicemap_SOURCES): Likewise.
35598 (grub_emu_SOURCES): Likewise.
35599 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35600
35601 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
35602
35603 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
35604
befaed6c 356052005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
35606
35607 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
35608 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
35609 include/grub/parser.h, include/grub/script.h, kern/parser.c,
35610 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
35611 normal/lexer.c, normal/parser.y, normal/script.c, and
35612 partmap/gpt.c.
35613 Removed kern/sparc64/cache.c.
35614
35615 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
35616 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
35617 grub_emu_init.c.
35618
35619 * configure.ac (AC_INIT): Bumped to 1.92.
35620
6a124103 356212005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
35622
35623 * kern/err.c (grub_error_push): Added new function to support error
35624 stacks.
35625 (grub_error_pop): Likewise.
35626 (grub_error_stack_items): New local variable to support error stacks.
35627 (grub_error_stack_pos): Likewise.
35628 (grub_error_stack_assert): Likewise.
35629 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
35630 stack depth.
35631 (grub_print_error): Added support to print errors from error stack.
35632
35633 * include/grub/err.h (grub_error_push): Added function prototype.
35634 (grub_error_pop): Likewise.
35635
be973c1b 356362005-12-09 Hollis Blanchard <hollis@penguinppc.org>
35637
35638 * configure.ac: Accept `powerpc64' as host_cpu.
35639 (amd64): Rename to `biarch32'.
35640
35641 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
35642 non-cacheline-aligned addresses.
35643
35644 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
35645 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
35646 if `size' is non-zero.
35647
b04216ab 356482005-12-03 Marco Gerards <mgerards@xs4all.nl>
35649
35650 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
35651 and `cd' to make sure the filename is not prefixed with a
35652 directory name.
35653 (pkgdata_MODULES): Add `gpt.mod'.
35654 (gpt_mod_SOURCES): New variable.
35655 (gpt_mod_CFLAGS): Likewise.
35656 (gpt_mod_LDFLAGS): Likewise.
35657
35658 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
35659
35660 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
35661 New macro.
35662
35663 * partmap/gpt.c: New file.
35664
35665 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
35666 GPT partition map is detected.
35667
41730ed9 356682005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
35669
35670 * commands/i386/pc/play.c: New file.
35671 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
35672 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
35673 macros.
f19dbdb7 35674
95dc3643 356752005-11-27 Marco Gerards <mgerards@xs4all.nl>
35676
35677 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
35678 ((unused))' to silence gcc warning.
35679
1569ec51 356802005-11-26 Hollis Blanchard <hollis@penguinppc.org>
35681
35682 * configure.ac: Correct `AC_PROG_YACC' test.
35683
9abde152 356842005-11-22 Hollis Blanchard <hollis@penguinppc.org>
35685
35686 * util/powerpc/ieee1275/grub-install.in: Run the mount point
35687 check before installing files.
35688
44b83271 356892005-11-22 Mike Small <smallm@panix.com>
35690
35691 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
35692 number regex so multidigit numbers are recognized correctly.
35693
356942005-11-22 Mike Small <smallm@panix.com>
35695
35696 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
35697 debugging message before attempting to claim memory.
35698 (grub_rescue_cmd_initrd): Add a claim debugging message and try
35699 multiple addresses in case of failure.
35700
9c12956b 357012005-11-22 Hollis Blanchard <hollis@penguinppc.org>
35702
35703 * term/tparm.c (get_space): Remove empty `if' statement.
35704
35705 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
35706
35707 * kern/parser.c (check_varstate): Rename `state' to 's'.
35708
aeaf81d9 357092005-11-22 Hollis Blanchard <hollis@penguinppc.org>
35710
35711 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
35712 variable definitions to the beginning of each function. Sort stack
35713 variables by size.
35714 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
35715 `buf' argument to `char *'.
35716
79bbb63f 357172005-11-22 Hollis Blanchard <hollis@penguinppc.org>
35718
35719 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
35720 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 35721 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 35722 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
35723 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
35724 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
35725 configfile.mod, search.mod, gzio.mod and test.mod.
35726 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
35727 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
35728 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
35729 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
35730 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
35731 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
35732 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
35733 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
35734 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
35735 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
35736 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
35737 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
35738 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
35739 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
35740 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
35741 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
35742 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
35743 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
35744 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
35745 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
35746 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
35747 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
35748 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
35749
35750 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
35751 `grep --include'.
35752 (pkgdata_MODULES): Add test.mod.
35753
233b1628 357542005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
35755
35756 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
35757 appending to variables with "+=".
35758 (PModule): Use full pathname to generate *.lst filenames.
35759
35760 * Makefile.in: Fixed list rules moved from genmk.rb.
35761 (.DELETE_ON_ERROR): New special target.
35762 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
35763
35764 * conf/i386-pc.rmk: Include conf/common.mk.
35765 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 35766 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 35767 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
35768 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
35769 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
35770 configfile.mod, search.mod, gzio.mod and test.mod.
35771 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
35772 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
35773 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
35774 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
35775 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
35776 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
35777 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
35778 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
35779 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
35780 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
35781 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
35782 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
35783 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
35784 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
35785 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
35786 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
35787 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
35788 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
35789 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
35790 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
35791 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
35792 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
35793 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
35794 here...
35795 * conf/common.rmk: ... to here. New file.
35796
35797 * conf/common.mk: New file.
35798
16f820c8 357992005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
35800
35801 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
35802 (grub_script.tab.c): ... here.
35803
35804 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
35805 (grub_script.tab.c): ... here.
35806
35807 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
35808 (grub_script.tab.c): ... here.
35809
35810 * normal/command.c (grub_command_find): Fixed a memory leak of
35811 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
35812
63ba1554 358132005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
35814
35815 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
35816 "@" which marks the start of a comment on ARM.
35817 (VARIABLE): Likewise.
35818
7f67dc13 358192005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
35820
79bbb63f 35821 Add support for Linux/ADFS partition tables.
7f67dc13 35822
35823 * partmap/acorn.c: New file.
35824
35825 * include/grub/acorn_filecore.h: Likewise.
35826
35827 * DISTLIST: Added `partmap/acorn.c' and
35828 `include/grub/acorn_filecore.h'.
f19dbdb7 35829
7f67dc13 35830 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35831 `partmap/acorn.c'.
35832 (pkgdata_MODULES): Add `acorn.mod'.
35833 (acorn_mod_SOURCES): New variable.
35834 (acorn_mod_CFLAGS): Likewise.
35835
35836 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
35837 `partmap/acorn.c'.
35838 (pkgdata_MODULES): Add `acorn.mod'.
35839 (acorn_mod_SOURCES): New variable.
35840 (acorn_mod_CFLAGS): Likewise.
35841
35842 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
35843 (pkgdata_MODULES): Add `acorn.mod'.
35844 (acorn_mod_SOURCES): New variable.
35845 (acorn_mod_CFLAGS): Likewise.
35846 (acorn_mod_LDFLAGS): Likewise.
35847
35848 * include/types.h (grub_disk_addr_t): New typedef.
35849
6d099807 358502005-11-13 Marco Gerards <mgerards@xs4all.nl>
35851
35852 * geninit.sh: New file.
35853
35854 * geninitheader.sh: Likewise.
35855
35856 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
35857 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
35858 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
35859 * commands/configfile.c (grub_configfile_init)
35860 (grub_configfile_fini): Likewise.
35861 * commands/default.c (grub_default_init, grub_default_fini):
35862 Likewise.
35863 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
35864 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
35865 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
35866 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
35867 Likewise.
35868 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
35869 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
35870 Likewise.
35871 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 35872 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 35873 Likewise.
35874 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
35875 Likewise.
fe6b695a 35876 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 35877 Likewise.
35878 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
35879 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
35880 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
35881 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
35882 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
35883 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
35884 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
35885 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
35886 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
35887 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
35888 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
35889 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
35890 * partmap/amiga.c (grub_amiga_partition_map_init)
35891 (grub_amiga_partition_map_fini): Likewise.
35892 * partmap/apple.c (grub_apple_partition_map_init)
35893 (grub_apple_partition_map_fini): Likewise.
35894 * partmap/pc.c (grub_pc_partition_map_init)
35895 (grub_pc_partition_map_fini): Likewise.
35896 * partmap/sun.c (grub_sun_partition_map_init,
35897 grub_sun_partition_map_fini): Likewise.
35898 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
35899 Likewise.
35900
35901 * util/grub-emu.c: Include <grub_modules_init.h>.
35902 (main): Don't initialize and de-initialize any modules directly,
35903 use `grub_init_all' and `grub_fini_all' instead.
35904
35905 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
35906 `grub_vesafb_mod_init'.
35907 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
35908 all users.
35909 * term/i386/pc/vga.c (grub_vga_init): Renamed to
35910 `grub_vga_mod_init'. Updated all users.
35911 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 35912
6d099807 35913 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
35914 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
35915 rules.
35916
35917 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
35918 Generate a function to initialize the module in utilities.
35919 Updated all callers.
35920 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
35921 initialize the module in utilities. Updated all callers.
35922
9046bcf0 359232005-11-09 Hollis Blanchard <hollis@penguinppc.org>
35924
35925 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
35926 escape sequence and a literal ^L to clear the screen.
35927
35928 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
35929 when returning from Open Firmware.
35930
d13ea639 359312005-11-09 Hollis Blanchard <hollis@penguinppc.org>
35932
35933 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
35934 (grub_ofconsole_height): Likewise.
35935 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
35936 manually insert a '\n'.
35937 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
35938 `grub_ofconsole_height'. Return early if these are already set.
35939
a8fcf206 359402005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
35941
35942 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
35943 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
35944 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
35945 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
35946 and `normal/script.c'.
35947 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
35948 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
35949 (test_mod_SOURCES): New variable.
35950 (test_mod_CFLAGS): Likewise.
35951 (test_mod_LDFLAGS): Likewise.
35952 (pkgdata_MODULES): Add `test.mod'.
35953 (grub_script.tab.c): New rule.
35954 (grub_script.tab.h): Likewise.
35955
b6b32745 359562005-11-07 Marco Gerards <mgerards@xs4all.nl>
35957
35958 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35959 `commands/test.c', `normal/execute.c', `normal/lexer.c',
35960 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
35961 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
35962 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
35963 (test_mod_SOURCES): New variable.
35964 (test_mod_CFLAGS): Likewise.
35965 (pkgdata_MODULES): Add `test.mod'.
35966 (grub_script.tab.c): New rule.
35967 (grub_script.tab.h): Likewise.
35968
daac212a 359692005-11-06 Marco Gerards <mgerards@xs4all.nl>
35970
35971 Add initial scripting support.
35972
35973 * commands/test.c: New file.
35974 * include/grub/script.h: Likewise.
35975 * normal/execute.c: Likewise.
35976 * normal/function.c: Likewise.
35977 * normal/lexer.c: Likewise.
35978 * normal/parser.y: Likewise.
35979 * normal/script.c: Likewise.
35980
35981 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 35982
daac212a 35983 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
35984 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
35985 `normal/function.c' and `normal/script.c'.
35986 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
35987 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 35988 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
35989 variables.
daac212a 35990 (pkgdata_MODULES): Add `test.mod'.
35991 (grub_script.tab.c): New rule.
35992 (grub_script.tab.h): Likewise.
35993
35994 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
35995
35996 * include/grub/normal.h (grub_test_init): New prototype.
35997 (grub_test_fini): Likewise.
f19dbdb7 35998
daac212a 35999 * normal/command.c: Include <grub/script.h>.
36000 (grub_command_execute): Rewritten.
f19dbdb7 36001
daac212a 36002 * util/grub-emu.c (main): Call `grub_test_init' and
36003 `grub_test_fini'.
36004
77500b2b 360052005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36006
36007 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
36008 to 0.
36009 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
36010 there are no pending characters.
36011
e45deb9e 360122005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36013
36014 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
36015 `grub_strndup' to drop device arguments. Replace unnecessary
36016 `grub_strndup' with `grub_strdup'.
36017
4ce32619 360182005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36019
36020 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
36021 `debug' environment variable has been set.
36022
360232005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 36024
4ce32619 36025 * Makefile.in (install-local): Use $(DATA).
36026 (uninstall): Likewise.
36027 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
36028 (sbin_UTILITIES): ... to here.
36029 (sbin_SCRIPTS): New variable.
36030 (grub_install_SOURCES): New variable.
36031 * util/powerpc/ieee1275/grub-install.in: New file.
36032 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
36033 variable.
36034 (add_segments): Call `grub_util_get_path'.
36035
25fe6f03 360362005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
36037
36038 From Timothy Baldwin:
36039 * commands/ls.c (grub_ls_list_files): Close FILE with
36040 grub_file_close.
36041 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
36042
04ccf3ec 360432005-10-24 Marco Gerards <mgerards@xs4all.nl>
36044
36045 * include/grub/parser.h: New file.
36046
36047 * kern/parser.c: Likewise.
36048
36049 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
36050 (grub_setup_SOURCES): Likewise.
36051 (grub_probefs_SOURCES): Likewise.
36052 (grub_emu_SOURCES): Likewise.
36053 (kernel_img_HEADERS): Add `parser.h'.
36054
36055 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
36056 (grub_emu_SOURCES): Add `kern/parser.c'.
36057 (grubof_SOURCES): Likewise.
36058
36059 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
36060 (grubof_SOURCES): Add `kern/parser.c'.
36061
36062 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
36063
36064 * kern/misc.c (grub_split_cmdline): Removed function.
36065
36066 * kern/rescue.c: Include <grub/parser.h>.
36067 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
36068 of `grub_split_cmdline'.
36069
36070 * normal/command.c: Include <grub/parser.h>.
36071 (grub_command_execute): Use `grub_parser_split_cmdline' instead
36072 of `grub_split_cmdline'.
36073
36074 * normal/completion.c: Include <grub/parser.h>.
36075 (cmdline_state): New variable.
36076 (iterate_dir): End the filename with a quote depending on the
36077 command line state.
36078 (get_state): new function.
36079 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
36080 split the arguments and determine the current argument. When the
36081 argument string is not quoted, escape all spaces.
36082
6d8f4b0e 360832005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36084
36085 * normal/sparc64/setjmp.S: New file.
36086
15cf03ed 360872005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36088
36089 * include/grub/sparc64/libgcc.h: New file.
36090 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
36091 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
36092 normal/sparc64/setjmp.c.
36093
03e8661a 360942005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36095
36096 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
36097 * kern/sparc64/cache.S: New file.
36098 * kern/sparc64/cache.c: Removed.
36099 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
36100 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
36101 -mtune=ultrasparc.
36102 (COMMON_LDFLAGS): Add -melf64_sparc.
36103 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
36104 (grubof_SOURCES): Use cache.S instead of cache.c.
36105 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
36106 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
36107 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
36108 commented though.
36109 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
36110 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
36111 (linux_mod_CFLAGS): Commented out.
36112 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
36113 out because module isn't built.
36114 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
36115 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
36116 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
36117 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
36118 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
36119 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
36120 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
36121 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
36122 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
36123 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
36124 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36125 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36126 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
36127 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
36128
34eeec8a 361292005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
36130
36131 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
36132 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
36133 longer, because HFS should not be used on PC.
36134
708367a3 361352005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36136
36137 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
36138 consistently within the loop.
36139
6fa1251a 361402005-10-15 Marco Gerards <mgerards@xs4all.nl>
36141
36142 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
36143 directory can not be read.
36144
4801580b 361452005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36146
36147 * configure.ac (AC_INIT): Increase the version number to 1.91.
36148
36149 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
36150 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
36151 term/i386/pc/serial.c.
36152
219ad426 361532005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36154
36155 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
36156 file size must be permitted.
36157
36158 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
36159 between %ah and %al.
36160
688e5699 361612005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36162
36163 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
36164 grub_uint64_t.
36165 Call the hook with a NUL-terminated filename.
36166 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
36167 grub_cpu_to_be32.
36168
36169 * kern/term.c (cursor_state): New variable.
36170 (grub_term_set_current): Reset the cursor state on a new
36171 terminal.
36172 (grub_setcursor): Rewritten to use CURSOR_STATE.
36173 (grub_getcursor): New function.
36174
36175 * include/grub/term.h (grub_getcursor): New prototype.
36176
36177 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
36178 integers on ARM. Reported by Timothy Baldwin
36179 <T.E.Baldwin99@members.leeds.ac.uk>.
36180
bb34586c 361812005-10-11 Marco Gerards <mgerards@xs4all.nl>
36182
36183 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
36184 allocated.
36185 (grub_sfs_dir): Likewise.
36186
9a909877 361872005-10-09 Marco Gerards <mgerards@xs4all.nl>
36188
36189 Add support for the SFS filesystem.
36190
36191 * fs/sfs.c: New file.
36192
36193 * DISTLIST: Added `fs/sfs.c'.
36194
36195 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
36196 (grub_probefs_SOURCES): Likewise.
36197 (grub_emu_SOURCES): Likewise.
36198 (pkgdata_MODULES): Add `sfs.mod'.
36199 (sfs_mod_SOURCES): New variable.
36200 (sfs_mod_CFLAGS): Likewise.
36201 (sfs_mod_LDFLAGS): Likewise.
36202
36203 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
36204 (pkgdata_MODULES): Add `sfs.mod'.
36205 (sfs_mod_SOURCES): New variable.
36206 (sfs_mod_CFLAGS): Likewise.
36207
36208 * util/grub-emu.c (main): Call `grub_sfs_init' and
36209 `grub_sfs_fini'.
36210
36211 * include/grub/fs.h (grub_sfs_init): New prototype.
36212 (grub_sfs_fini): Likewise.
36213
57bdbde3 362142005-10-07 Marco Gerards <mgerards@xs4all.nl>
36215
36216 Add support for the AFFS filesystem.
36217
36218 * fs/affs.c: New file.
36219
36220 * DISTLIST: Added `fs/affs.c'.
36221
36222 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
36223 (grub_probefs_SOURCES): Likewise.
36224 (grub_emu_SOURCES): Likewise.
36225 (pkgdata_MODULES): Add `affs.mod'.
36226 (affs_mod_SOURCES): New variable.
36227 (affs_mod_CFLAGS): Likewise.
36228 (affs_mod_LDFLAGS): Likewise.
36229
36230 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
36231 (pkgdata_MODULES): Add `affs.mod'.
36232 (affs_mod_SOURCES): New variable.
36233 (affs_mod_CFLAGS): Likewise.
36234
36235 * util/grub-emu.c (main): Call `grub_affs_init' and
36236 `grub_affs_fini'.
36237
36238 * include/grub/fs.h (grub_affs_init): New prototype.
36239 (grub_affs_fini): Likewise.
36240
047b67e0 362412005-10-01 Marco Gerards <mgerards@xs4all.nl>
36242
36243 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
36244
59b8208a 362452005-10-01 Marco Gerards <mgerards@xs4all.nl>
36246
36247 * configure.ac: Accept `x86_64' as host_cpu. In that case add
36248 `-m32' to CFLAGS.
36249
36250 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
36251 linking.
f19dbdb7 36252
59b8208a 36253 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
36254 (COMMON_LDFLAGS): New variable.
36255 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
36256 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
36257 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
36258 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
36259 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
36260 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
36261 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
36262 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
36263 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
36264 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
36265 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
36266 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
36267 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
36268 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
36269 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
36270 variables.
36271 (normal_mod_ASFLAGS): Add `-m32'.
36272
36273 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
36274 (grub_host_size_t, grub_host_ssize_t): New types.
36275 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 36276 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 36277 `GRUB_HOST_SIZEOF_VOID_P'.
36278
36279 * include/grub/kernel.h (struct grub_module_header): Type of
36280 member offset changed to `grub_host_off_t'. Type of member size
36281 changed to `grub_host_size_t'.
36282 (struct grub_module_info): Type of member offset changed to
36283 `grub_host_off_t'. Type of member size changed to
36284 `grub_host_size_t'.
36285
b4093103 362862005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
36287
36288 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 36289
b4093103 36290 * kern/i386/pc/startup.S (multiboot_header): New label.
36291 (multiboot_entry): Likewise.
36292 (multiboot_trampoline): Likewise.
36293
36294 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36295 Increased to 0x4A0.
36296
36297 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
36298 put parentheses after a question mark.
36299 [!GRUB_UTIL] (my_mod): New variable.
36300
36301 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
36302
b2499b29 363032005-09-28 Marco Gerards <mgerards@xs4all.nl>
36304
36305 Adds support for the XFS filesystem. Btrees are not supported
36306 yet.
36307
36308 * fs/xfs.c: New file.
36309
36310 * DISTLIST: Added `fs/xfs.c'.
36311
36312 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
36313 (grub_probefs_SOURCES): Likewise.
36314 (grub_emu_SOURCES): Likewise.
36315 (pkgdata_MODULES): Add `xfs.mod'.
36316 (xfs_mod_SOURCES): New variable.
36317 (xfs_mod_CFLAGS): Likewise.
36318
36319 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
36320 (pkgdata_MODULES): Add `xfs.mod'.
36321 (xfs_mod_SOURCES): New variable.
36322 (xfs_mod_CFLAGS): Likewise.
36323
36324 * util/grub-emu.c (main): Call `grub_xfs_init' and
36325 `grub_xfs_fini'.
36326
36327 * include/grub/fs.h (grub_xfs_init): New prototype.
36328 (grub_xfs_fini): Likewise.
36329
f19dbdb7 36330
83d37a62 363312005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
36332
36333 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
36334 color modes, allow greater than 16 colors to be configured as
36335 a default palette.
36336
47d2d65e 363372005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36338
36339 * normal/completion.c (complete_arguments): Add the qualifier
36340 const into OPTIONS.
36341
36342 From Omniflux <omniflux+lists@omniflux.com>:
36343 * include/grub/terminfo.h: New file.
36344 * include/grub/tparm.h: Likewise.
36345 * include/grub/i386/pc/serial.h: Likewise.
36346 * term/terminfo.c: Likewise.
36347 * term/tparm.c: Likewise.
36348 * term/i386/pc/serial.c: Likewise.
36349 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
36350 serial.mod.
36351 (terminfo_mod_SOURCES): New variable.
36352 (terminfo_mod_CFLAGS): Likewise.
36353 (serial_mod_SOURCES): Likewise.
36354 (serial_mod_CFLAGS): Likewise.
36355
48b671ff 363562005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
36357
36358 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
36359 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
36360 and kern/powerpc/ieee1275/cmain.c, respectively.
36361
36362 * boot/powerpc/ieee1275/crt0.S: Moved to ...
36363 * kern/powerpc/ieee1275/crt0.S: ... here.
36364
36365 * boot/powerpc/ieee1275/cmain.c: Moved to ...
36366 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 36367
48b671ff 36368 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
36369 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
36370 instead of boot/powerpc/ieee1275/crt0.S and
36371 boot/powerpc/ieee1275/cmain.c, respectively.
36372
36373 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
36374 sectors. It was not used anyway.
36375
09fc77a7 363762005-08-30 Hollis Blanchard <hollis@penguinppc.org>
36377
36378 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
36379 `unused parameter' warning.
36380
003789c7 363812005-08-30 Hollis Blanchard <hollis@penguinppc.org>
36382
36383 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
36384 function.
36385 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
36386 getcharwidth.
36387
67f44c86 363882005-08-28 Marco Gerards <metgerards@student.han.nl>
36389
36390 * include/grub/normal.h (enum grub_completion_type): Added
36391 `GRUB_COMPLETION_TYPE_ARGUMENT'.
36392
36393 * normal/cmdline.c (print_completion): Handle
36394 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
36395 * normal/menu_entry.c (store_completion): Likewise.
36396
36397 * normal/completion.c (complete_arguments): New function.
36398 (grub_normal_do_completion): Call `complete_arguments' when the
36399 current words start with a dash.
36400
0b5abe02 364012005-08-27 Marco Gerards <metgerards@student.han.nl>
36402
36403 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
36404 `gzio.mod' instead of `io.mod').
36405
d9864ee1 364062005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
36407
36408 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
36409 (DISTDIRS): Added io and video.
36410 Rewrite the search routine to make an output consistently.
36411
36412 * DISTLIST: Added conf/sparc64-ieee1275.mk,
36413 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
36414 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
36415 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
36416 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
36417 util/powerpc/ieee1275/misc.c.
f19dbdb7 36418
d9864ee1 36419 * include/grub/gzio.h: New file.
36420 * io/gzio.c: Likewise.
f19dbdb7 36421
d9864ee1 36422 * kern/file.c (grub_file_close): Call grub_device_close only if
36423 FILE->DEVICE is not NULL.
36424
36425 * include/grub/mm.h [!NULL] (NULL): New macro.
36426
36427 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
36428
36429 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
36430 (pkgdata_MODULES): Added gzio.mod.
36431 (gzio_mod_SOURCES): New variable.
36432 (gzio_mod_CFLAGS): Likewise.
36433
36434 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
36435 (pkgdata_MODULES): Added gzio.mod.
36436 (gzio_mod_SOURCES): New variable.
36437 (gzio_mod_CFLAGS): Likewise.
36438
36439 * commands/cat.c: Include grub/gzio.h.
36440 (grub_cmd_cat): Use grub_gzfile_open instead of
36441 grub_file_open.
f19dbdb7 36442
d9864ee1 36443 * commands/cmp.c: Include grub/gzio.h.
36444 (grub_cmd_cmp): Use grub_gzfile_open instead of
36445 grub_file_open.
36446
36447 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
36448 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
36449 grub_file_open.
36450 (grub_rescue_cmd_module): Likewise.
36451
fa46f4b5 364522005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
36453
36454 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
36455 kern/sparc64/ieee1275/init.c because it contains _start.
36456 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
36457
e9211b5d 364582005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
36459
36460 * configure.ac: Add support for sparc64 host with ieee1275
36461 firmware.
36462 * configure: Generated from configure.ac.
36463 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
36464 instead of int.
36465 (grub_ofdisk_read): Likewise.
36466 (grub_ofdisk_open): Use %p to print pointer values, and cast the
36467 pointers as (void *) to remove a warning.
36468 (grub_ofdisk_close): Likewise.
36469 (grub_ofdisk_read): Likewise.
36470 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
36471 returns, so make it return void to remove a warning.
36472 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
36473 Corresponding prototype change.
36474 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
36475 values, and cast the pointers as (void *) to remove a warning.
36476 (grub_mm_dump): Likewise.
36477 * conf/sparc64-ieee1275.mk: New file.
36478 * conf/sparc64-ieee1275.rmk: Likewise.
36479 * include/grub/sparc64/setjmp.h: Likewise.
36480 * include/grub/sparc64/types.h: Likewise.
36481 * include/grub/sparc64/ieee1275/console.h: Likewise.
36482 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
36483 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
36484 * include/grub/sparc64/ieee1275/time.h: Likewise.
36485 * kern/sparc64/cache.c: Likewise.
36486 * kern/sparc64/dl.c: Likewise.
36487 * kern/sparc64/ieee1275/init.c: Likewise.
36488 * kern/sparc64/ieee1275/openfw.c: Likewise.
36489
385c6a92 364902005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
36491
36492 * util/console.c (grub_ncurses_putchar): If C is greater than
36493 0x7f, set C to a question mark.
36494 (grub_ncurses_getcharwidth): New function.
36495 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
36496 getcharwidth.
36497
36498 * normal/menu.c (print_entry): Made aware of Unicode. First,
36499 convert TITLE to UCS-4, and predict the cursor position by
36500 grub_getcharwidth.
36501
36502 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
36503 const to SRC.
36504 * kern/misc.c (grub_utf16_to_utf8): Likewise.
36505
16ccb8b1 365062005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
36507
36508 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
36509 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
36510 grub_strcat.
36511
36512 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
36513 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
36514 grub_strcpy and grub_strlen. Take it into account that a space
36515 character is inserted as a delimiter.
36516
6a85ce79 365172005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
36518
36519 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 36520 invalid magic in the error.
6a85ce79 36521
36522 * commands/search.c: New file.
f19dbdb7 36523
6a85ce79 36524 * util/grub-emu.c (main): Call grub_search_init and
36525 grub_search_fini.
36526
36527 * kern/rescue.c (grub_rescue_print_disks): Removed.
36528 (grub_rescue_print_devices): New function.
36529 (grub_rescue_cmd_ls): Use grub_device_iterate with
36530 grub_rescue_print_devices instead of grub_disk_dev_iterate with
36531 grub_rescue_print_disks.
36532
36533 * kern/partition.c (grub_partition_iterate): Return the result of
36534 PARTMAP->ITERATE instead of GRUB_ERRNO.
36535
36536 * kern/device.c: Include grub/partition.h.
36537 (grub_device_iterate): New function.
36538
36539 * include/grub/partition.h (grub_partition_iterate): Return int
36540 instead of grub_err_t.
36541
36542 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
36543 prototype.
36544 [GRUB_UTIL] (grub_search_fini): Likewise.
36545
36546 * include/grub/device.h (grub_device_iterate): New prototype.
36547
36548 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
36549 commands/search.c.
36550 (pkgdata_MODULES): Added search.mod.
36551 (search_mod_SOURCES): New variable.
36552 (search_mod_CFLAGS): Likewise.
36553
36554 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
36555 (pkgdata_MODULES): Added search.mod.
36556 (search_mod_SOURCES): New variable.
36557 (search_mod_CFLAGS): Likewise.
36558
36559 * commands/ls.c (grub_ls_list_disks): Renamed to ...
36560 (grub_ls_list_devices): ... this, and use grub_device_iterate.
36561 All callers changed.
36562
36563 * DISTLIST: Added commands/search.c.
36564
ef095434 365652005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
36566
36567 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
36568 conversion.
36569 (grub_getcharwidth): New function.
36570
36571 * kern/misc.c (grub_utf8_to_ucs4): New function.
36572
36573 * include/grub/term.h (struct grub_term): Added a new member
36574 "getcharwidth".
36575 (grub_getcharwidth): New prototype.
36576
36577 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
36578
36579 * term/i386/pc/console.c (map_char): New function. Segregated from
36580 grub_console_putchar.
36581 (grub_console_putchar): Use map_char.
36582 (grub_console_getcharwidth): New function.
36583 (grub_console_term): Specified grub_console_getcharwidth as
36584 getcharwidth.
36585
36586 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
36587 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
36588
36589 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
36590 GRUB_ERRNO.
36591 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
36592 on grub_strtoul completely.
36593 (write_char): Declare local variables in the beginning of the
36594 function.
36595 (grub_vesafb_getcharwidth): New function.
36596 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
36597 getcharwidth.
36598
1f0a95e4 365992005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
36600
36601 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
36602 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
36603 commands/i386/pc/vbetest.c.
36604
36605 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
36606 call grub_vbe_get_controller_info again, because the returned
36607 information is volatile.
36608 (grub_vbe_set_video_mode): Mostly rewritten.
36609 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
36610 grub_vbe_status_t correctly.
36611 (grub_vbe_get_video_mode_info): Likewise.
36612 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
36613 several if statements.
36614
36615 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
36616 * commands/i386/pc/vbeinfo.c: ... this.
36617
36618 * commands/i386/pc/vbe_test.c: Renamed to ...
36619 * commands/i386/pc/vbetest.c: ... this.
36620
36621 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
36622 ...
36623 (grub_cmd_vbeinfo): ... this. Save video modes before
36624 iterating. Skip a video mode, if it is not available, not enough
36625 information is given or it is monochrome. Show the memory
36626 model. Leave the interpretation of MODEVAR to grub_strtoul
36627 completely.
36628 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
36629 (GRUB_MOD_FINI): Likewise.
36630
36631 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
36632 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
36633 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
36634 duplicated grub_env_get. Leave the interpretation of MODEVAR to
36635 grub_strtoul completely.
36636 (real2pm): Removed.
36637 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
36638 (GRUB_MOD_FINI): Likewise.
36639
36640 * normal/misc.c: Include grub/mm.h.
36641
36642 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
36643 vbe_list_modes with vbetest.mod and vbeinfo.mod.
36644 (vbe_list_modes_mod_SOURCES): Removed.
36645 (vbe_list_modes_mod_CFLAGS): Likewise.
36646 (vbe_test_mod_SOURCES): Likewise.
36647 (vbe_test_mod_CFLAGS): Likewise.
36648 (vbeinfo_mod_SOURCES): New variable.
36649 (vbeinfo_mod_CFLAGS): Likewise.
36650 (vbetest_mod_SOURCES): Likewise.
36651 (vbetest_mod_CFLAGS): Likewise.
36652
992ffbbe 366532005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
36654
36655 * normal/misc.c: New file.
36656
36657 * DISTLIST: Added normal/misc.c.
f19dbdb7 36658
992ffbbe 36659 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
36660 DISK to HOOK. Call HOOK with DISK.
36661 * partmap/apple.c (apple_partition_map_iterate): Likewise.
36662 * partmap/pc.c (pc_partition_map_iterate): Likewise.
36663 * partmap/sun.c (sun_partition_map_iterate): Likewise.
36664
36665 * normal/menu_entry.c (struct screen): Added a new member
36666 "completion_shown".
36667 (completion_buffer): New global variable.
36668 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
36669 (store_completion): New function.
36670 (complete): Likewise.
36671 (clear_completions): Likewise.
36672 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
36673 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
36674 a tab, call complete.
36675
36676 * normal/completion.c (disk_dev): Removed.
36677 (print_simple_completion): Likewise.
36678 (print_partition_completion): Likewise.
36679 (print_func): New global variable.
36680 (add_completion): Do not take the arguments WHAT or PRINT any
36681 longer. Added a new argument TYPE. Instead of printing directly,
36682 call PRINT_FUNC if not NULL.
36683 All callers changed.
36684 (complete_device): Use a local variable DEV instead of
36685 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
36686 (grub_normal_do_completion): Take a new argument HOOK. Do not
36687 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
36688 empty string, return NULL instead.
36689 All callers changed.
36690
36691 * normal/cmdline.c (print_completion): New function.
36692
36693 * kern/partition.c (grub_partition_iterate): Add an argument DISK
36694 to HOOK.
36695 All callers changed.
36696
36697 * kern/disk.c (grub_print_partinfo): Removed.
36698
36699 * include/grub/partition.h (struct grub_partition_map): Add a new
36700 argument DISK into HOOK of ITERATE.
36701 (grub_partition_iterate): Add a new argument DISK to HOOK.
36702
36703 * include/grub/normal.h (enum grub_completion_type): New enum.
36704 (grub_completion_type_t): New type.
36705 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
36706 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
36707 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
36708 (GRUB_COMPLETION_TYPE_FILE): Likewise.
36709 (grub_normal_do_completion): Added a new argument HOOK.
36710 (grub_normal_print_device_info): New prototype.
36711
36712 * include/grub/disk.h (grub_print_partinfo): Removed.
36713
36714 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
36715 (normal_mod_SOURCES): Likewise.
36716 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36717 (normal_mod_SOURCES): Likewise.
36718
36719 * commands/ls.c (grub_ls_list_disks): Use
36720 grub_normal_print_device_info instead of grub_print_partinfo. Free
36721 PNAME.
36722 (grub_ls_list_files): Use grub_normal_print_device_info instead of
36723 duplicating the code.
36724
0bd41162 367252005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
36726
36727 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 36728 follow GCS more precisely.
36729 * commands/i386/pc/vbe_test.c: Likewise.
36730 * include/grub/i386/pc/vbe.h: Likewise.
36731 * term/i386/pc/vesafb.c: Likewise.
36732 * video/i386/pc/vbe.c: Likewise.
0bd41162 36733
6323696a 367342005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
36735
36736 * DISTLIST: Added term/i386/pc/vesafb.c
36737 DISTLIST: Added video/i386/pc/vbe.c
36738 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
36739 DISTLIST: Added commands/i386/pc/vbe_test.c.
36740 * commands/i386/pc/vbe_list_modes.c: New file.
36741 * commands/i386/pc/vbe_test.c: Likewise.
36742 * term/i386/pc/vesafb.c: Likewise.
36743 * video/i386/pc/vbe.c: Likewise.
36744 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
36745 (grub_vbe_probe) Added prototype.
36746 (grub_vbe_set_video_mode) Likewise.
36747 (grub_vbe_get_video_mode) Likewise.
36748 (grub_vbe_get_video_mode_info) Likewise.
36749 (grub_vbe_set_pixel_rgb) Likewise.
36750 (grub_vbe_set_pixel_index) Likewise.
36751 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
36752 (pkgdata_MODULES): Added vesafb.mod.
36753 (pkgdata_MODULES): Added vbe_list_modes.mod.
36754 (pkgdata_MODULES): Added vbe_test.mod.
36755 (vbe_mod_SOURCES): Added.
36756 (vbe_mod_CFLAGS): Likewise.
36757 (vesafb_mod_SOURCES): Likewise.
36758 (vesafb_mod_CFLAGS): Likewise.
36759 (vbe_list_modes_mod_SOURCES): Likewise.
36760 (vbe_list_modes_mod_CFLAGS): Likewise.
36761 (vbe_test_mod_SOURCES): Likewise.
36762 (vbe_test_mod_CFLAGS): Likewise.
36763
0a74e62f 367642005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
36765
0a74e62f 36766 * normal/command.c (grub_command_execute): If INTERACTIVE is
36767 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
36768 CMDLINE. Disable the pager if INTERACTIVE is true.
36769 All callers are changed.
36770
36771 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
36772 before reading a config file.
36773 * normal/main.c (read_config_file): Even if a command is not
36774 found, register it if it is within an entry.
36775
36776 * util/grub-emu.c: Include sys/types.h and unistd.h.
36777 (options): Added --hold.
36778 (struct arguments): Added a new member "hold".
36779 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
36780 missing.
36781 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
36782 cleared by a debugger, if it is not zero.
36783
36784 * include/grub/normal.h (grub_command_execute): Add an argument
36785 INTERACTIVE.
36786
e51f85ae 367872005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
36788
36789 * DISTLIST: Added include/grub/i386/pc/vbe.h.
36790
e9c6f39b 367912005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
36792
36793 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
36794 program with another one, because the old one didn't detect a bug
36795 in gcc-3.4. Always use regparm 2, because the new test is still
36796 not enough for gcc-4.0. Someone must investigate a simple test
36797 case which detects a bug in gcc-4.0.
36798
8de3495c 367992005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
36800
36801 * DISTLIST: Added normal/completion.c.
36802
36803 * normal/completion.c: New file.
f19dbdb7 36804
8de3495c 36805 * term/i386/pc/console.c (grub_console_getwh): New function.
36806 (grub_console_term): Assign grub_console_getwh to getwh.
36807
36808 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
36809 function is defined in normal/completion.c as
36810 grub_normal_do_completion.
36811 (grub_cmdline_get): Use grub_normal_do_completion instead of
36812 grub_tab_complete.
36813
36814 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
36815 returns non-zero, otherwise return 0.
36816 (grub_partition_iterate): First, probe the partition map. Then,
36817 call ITERATE only for this partition map.
36818
36819 * kern/misc.c (grub_strncmp): Rewritten.
36820
36821 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
36822 returns non-zero. Otherwise return 0.
36823
36824 * include/grub/partition.h (grub_partition_map_iterate): Return
36825 int instead of void.
36826
36827 * include/grub/normal.h (grub_normal_do_completion): New prototype.
36828
36829 * include/grub/misc.h (grub_strncmp): Change the type of N to
36830 grub_size_t.
36831
36832 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
36833 of void.
36834
36835 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 36836 unsigned explicitly before comparing it with I.
8de3495c 36837
36838 * kern/main.c (grub_env_write_root): Add the attribute unused into
36839 VAR.
36840
36841 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
36842 normal/completion.c.
36843 (normal_mod_SOURCES): Likewise.
36844 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36845 (normal_mod_SOURCES): Likewise.
36846
36847 * normal/command.c (grub_iterate_commands): If ITERATE returns
36848 non-zero, return one immediately.
36849
e85e144b 368502005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
36851
36852 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
36853 * kern/i386/pc/startup.S: Updated Global Descriptor table's
36854 descriptions.
36855 (grub_vbe_get_controller_info): New function.
36856 (grub_vbe_get_mode_info): Likewise.
36857 (grub_vbe_set_mode): Likewise.
36858 (grub_vbe_get_mode): Likewise.
36859 (grub_vbe_set_memory_window): Likewise.
36860 (grub_vbe_get_memory_window): Likewise.
36861 (grub_vbe_set_scanline_length): Likewise.
36862 (grub_vbe_get_scanline_length): Likewise.
36863 (grub_vbe_set_display_start): Likewise.
36864 (grub_vbe_get_display_start): Likewise.
36865 (grub_vbe_set_palette_data): Likewise.
36866 * include/grub/i386/pc/vbe.h: New file.
36867
c46153d2 368682005-08-08 Hollis Blanchard <hollis@penguinppc.org>
36869
36870 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
36871 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
36872 * DISTLIST: Likewise.
36873 * kern/ieee1275/of.c: Moved to ...
36874 * kern/ieee1275/ieee1275.c: ... here.
36875
0cb90c45 368762005-08-08 Hollis Blanchard <hollis@penguinppc.org>
36877
36878 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
36879 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
36880 Pass 0 as `end' parameter to grub_strtoul().
36881
a19fb360 368822005-08-08 Hollis Blanchard <hollis@penguinppc.org>
36883
36884 * include/grub/powerpc/ieee1275/console.h: Do not include
36885 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
36886 ifdef.
36887 (grub_console_cur_color): Remove i386-specific prototype.
36888 (grub_console_real_putchar): Likewise.
36889 (grub_console_checkkey): Likewise.
36890 (grub_console_getkey): Likewise.
36891 (grub_console_getxy): Likewise.
36892 (grub_console_gotoxy): Likewise.
36893 (grub_console_cls): Likewise.
36894 (grub_console_setcursor): Likewise.
36895 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
36896 Include <grub/machine/console.h>.
36897 * term/ieee1275/ofconsole.c: Likewise.
36898
4ac9bd04 368992005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
36900
36901 * Makefile.in (LIBLZO): New variable.
36902
36903 * configure.ac: Check for LZO version 2.
36904
36905 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
36906 lzo/lzo1x.h instead of lzo1x.h.
36907
36908 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
36909 of -llzo.
36910
36911 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
36912 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
36913
36914 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
36915 copying the data from PARTITION to P.
36916
f4917dfd 369172005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
36918
36919 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
36920 negative, unload the module.
36921
36922 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
36923 map is "pc_partition_map" but not "pc".
36924 (usage): Fix the description. The options are --boot-image and
36925 --core-image but not --boot-file or --core-file.
36926 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
36927 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
36928 DEFAULT_DIRECTORY.
36929
36930 * util/i386/pc/grub-install.in: Do not specify --boot-file or
36931 --core-file. Specify INSTALL_DEVICE as an argument.
36932
36933 * util/console.c: Include config.h.
36934 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
36935 [HAVE_NCURSES_H]: Include ncurses.h.
36936 [HAVE_CURSES_H]: Include curses.h.
36937 [!A_NORMAL] (A_NORMAL): Defined as zero.
36938 [!A_STANDOUT] (A_STANDOUT): Likewise.
36939
36940 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
36941 -lncurses.
36942 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
36943
36944 * configure.ac: Check for curses libraries and headers.
36945
36946 * Makefile.in (LIBCURSES): New variable.
36947
36948 * genmk.rb (Script::rule): Set the executable bits.
36949
36950 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
36951 name of the PC partition map is "pc_partition_map" but not "pc".
36952
0e143073 369532005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
36954
36955 * util/i386/pc/grub-install.in (grub_probefs): New variable.
36956 (modules): Likewise.
36957 (usage): Added descriptions for --modules and --grub-probefs.
36958 Handle --modules and --grub-probefs. Save the arguments in MODULES
36959 and GRUB_PROBEFS, respectively.
36960 Auto-detect a filesystem module against GRUBDIR. If the result is
36961 empty and modules are not specified explicitly, abort the
36962 installation. Add the result to MODULES.
36963
36964 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
36965 disk/powerpc/ieee1275/ofdisk.c,
36966 include/grub/powerpc/ieee1275/init.h and
36967 term/powerpc/ieee1275/ofconsole.c.
36968 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
36969 term/ieee1275/ofconsole.c.
36970
36971 * include/grub/powerpc/ieee1275/console.h: Resurrected.
36972
36973 * COPYING: Upgraded to the latest version. Only the address of the
36974 FSF office has changed.
f19dbdb7 36975
efd6e6d5 369762005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
36977
36978 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
36979 kern/ieee1275.c with kern/ieee1275/of.c.
36980
36981 * kern/ieee1275.c: Moved to ...
36982 * kern/ieee1275/of.c: ... here.
36983
8ceafda2 369842005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
36985
36986 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 36987 readability.
8ceafda2 36988
36989 * config.guess: Updated to the latest version from gnulib.
36990 * config.sub: Likewise.
36991 * install.sh: Likewise.
36992 * mkinstalldirs: Likewise.
36993
36994 * include/grub/console.h: Removed. This file is arch-specific. Do
36995 not put this in include/grub.
36996
36997 * include/grub/i386/pc/console.h: Resurrected.
36998
36999 * util/console.c: Include grub/machine/console.h instead of
37000 grub/console.h.
37001 * util/grub-emu.c: Likewise.
37002
267f6cd9 370032005-08-04 Marco Gerards <metgerards@student.han.nl>
37004
37005 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
37006 hardcoded value.
f19dbdb7 37007
267f6cd9 37008 From Vincent Pelletier <subdino2004@yahoo.fr>
37009 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
37010 Redefined to use grub_getwh.
37011 (grub_term): New member named getwh.
37012 (grub_getwh): New prototype.
37013 * kern/term.c (grub_getwh): New function.
37014 * term/i386/pc/console.c (grub_console_getwh): New function.
37015 (grub_console_term): New member `getwh'.
37016 * term/i386/pc/vga.c (grub_vga_getwh): New function.
37017 (grub_vga_term): New member `getwh'.
0b5abe02 37018 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 37019 grub_ssize_t.
37020 (grub_ofconsole_getw): New function.
37021 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
37022 (grub_ofconsole_term): New field named getwh and new initial
37023 value.
37024
3be7266d 370252005-08-03 Hollis Blanchard <hollis@penguinppc.org>
37026
37027 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
37028 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
37029 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
37030 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
37031 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
37032 of <grub/machine/ieee1275.h>.
37033 * commands/ieee1275/reboot.c: Likewise.
37034 * boot/powerpc/ieee1275/ieee1275.c: Move ...
37035 * kern/ieee1275.c: ... to here. All users updated. Change all
37036 parameter structs to use new type `grub_ieee1275_cell_t'.
37037 * term/powerpc/ieee1275/ofconsole.c: Move ...
37038 * term/ieee1275/ofconsole.c: ... to here. All users updated.
37039 * disk/powerpc/ieee1275/ofdisk.c: Move ...
37040 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
37041 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
37042 to return int.
37043 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
37044 Remove unused prototypes. All users updated.
37045 * include/grub/powerpc/ieee1275/console.h: Removed.
37046 * include/grub/powerpc/ieee1275/ieee1275.h: Define
37047 `grub_ieee1275_cell_t'.
37048 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
37049 Cast comparisons with -1 to the correct type.
37050 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
37051 type to match `grub_ieee1275_entry_fn'.
37052
8b5f3938 370532005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
37054
37055 * DISTLIST: Added util/i386/pc/grub-probefs.c.
37056
37057 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
37058 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
37059 partmap/sun.c.
37060 (grub_probefs_SOURCES): New variable.
37061
37062 * util/i386/pc/grub-probefs.c: New file.
37063
37064 * util/i386/pc/grub-setup.c (main): Call
37065 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
37066 grub_hfs_init and grub_jfs_init to initialize the system. Call
37067 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
37068 grub_pc_partition_map_fini to finish the system.
37069
ea409713 370702005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
37071
37072 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
37073 function.
37074 (grub_multiboot_load_elf32): Likewise.
37075 (grub_multiboot_is_elf64): Likewise.
37076 (grub_multiboot_load_elf64): Likewise.
37077 (grub_multiboot_load_elf): Likewise.
37078 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
37079 an ELF32 or ELF64 file.
37080 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
37081
37082 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
37083 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
37084 NULL before calling FS->LABEL.
37085 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
37086 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
37087 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
37088 before calling FS->LABEL.
37089
141a288b 370902005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
37091
37092 * util/i386/pc/grub-install.in (datadir): New variable.
37093 (libdir): Removed.
37094 (pkgdatadir): New variable.
37095 (pkglibdir): Removed.
37096
0d5f8a54 370972005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
37098
37099 * DISTLIST: Added util/i386/pc/grub-install.in.
37100
37101 * util/i386/pc/grub-install.in: New file.
37102
37103 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
37104 (grub_install_SOURCES): Likewise.
37105
37106 * genmk.rb: Added support for scripts.
37107 (Script): New class.
37108 (scripts): New variable.
37109
37110 * Makefile.in (install-local): Install sbin_SCRIPTS by
37111 INSTALL_SCRIPT.
37112 (uninstall): Remove sbin_SCRIPTS.
37113
37114 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
37115 device, try to get a GRUB device by
37116 grub_util_biosdisk_get_grub_dev.
37117 Free DEST_DEV.
37118
37119 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
37120 description for --device-map.
37121
5f968e1e 371222005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
37123
37124 Change the semantics of variable hooks. They now return strings
37125 instead of error values.
f19dbdb7 37126
5f968e1e 37127 * util/i386/pc/grub-setup.c: Include grub/env.h.
37128 (setup): Use grub_device_set_root instead of grub_env_set.
37129
37130 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
37131 grub_env_get instead of grub_device_set_root and
37132 grub_device_get_root, respectively.
37133
37134 * kern/main.c (grub_env_write_root): New function.
37135 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
37136 grub_env_set instead of grub_device_set_root.
37137
37138 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
37139 many variables.
37140 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
37141 rather than calling ENV->WRITE_HOOK afterwards.
37142 (grub_env_get): Return the result of ENV->READ_HOOK rather than
37143 passing a pointer of a pointer.
37144 (grub_register_variable_hook): Change the types of "read_hook" and
37145 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
37146 respectively.
37147 Allocate the default empty string on the heap, because this string
37148 may be freed later.
37149
37150 * kern/device.c: Include grub/env.h.
37151 (grub_device_set_root): Removed.
37152 (grub_device_get_root): Likewise.
37153 (grub_device_open): Use grub_env_get instead of
37154 grub_device_get_root.
37155
37156 * include/grub/env.h (grub_env_read_hook_t): New type.
37157 (grub_env_write_hook_t): Likewise.
37158 (grub_env_var): Change the types of "read_hook" and "write_hook"
37159 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
37160 (grub_register_variable_hook): Likewise.
37161
37162 * include/grub/device.h (grub_device_set_root): Removed.
37163 (grub_device_set_root): Likewise.
37164
37165 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
37166 make sure that DIRNAME terminates with '/', so that
37167 grub_fat_find_dir will fail if PATH is not a directory.
37168
37169 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
37170 from DIRNAME.
37171 Use the qualifier auto for print_files and print_files_long.
37172 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
37173 as a regular file.
37174 Put a newline only if there is no error.
37175 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
37176 used.
37177
896f0afd 371782005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
37179
37180 * kern/partition.c (grub_partition_probe): Initialize PART to
37181 NULL. Otherwise, when no partition map is registered, this returns
37182 a garbage.
37183
b28b81b2 371842005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
37185
37186 * partmap/apple.c (apple_partition_map_iterate): Check if POS
37187 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
37188 valid.
37189
5f3607e0 371902005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
37191
37192 * commands/ls.c (grub_ls_list_disks): Print the filesystem
37193 information on each device, if it does not have partitions. Print
37194 "Device" instead of "Disk", because this function is not specific
37195 to disk devices.
37196
37197 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
37198 static to ensure that it is put on the memory rather than a
37199 register.
37200
502c87e8 372012005-07-17 Yoshinori Okuji <okuji@enbug.org>
37202
37203 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
37204 (grub_cat_init): Likewise.
37205 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
37206 (options): Likewise.
37207 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
37208 (grub_configfile_init): Likewise.
37209 * font/manager.c (GRUB_MOD_INIT): Likewise.
37210 * commands/help.c (GRUB_MOD_INIT): Likewise.
37211 (grub_help_init): Likewise.
37212 * normal/command.c (grub_command_init): Likewise.
37213 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
37214 * disk/loopback.c (grub_loop_init): Likewise.
37215 (GRUB_MOD_INIT): Likewise.
37216 * commands/ls.c (grub_ls_init): Likewise.
37217 (GRUB_MOD_INIT): Likewise.
37218 (options): Likewise.
37219 * commands/boot.c (grub_boot_init): Likewise.
37220 (GRUB_MOD_INIT): Likewise.
37221 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
37222 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
37223 (GRUB_MOD_INIT): Likewise.
37224 * commands/cmp.c (grub_cmp_init): Likewise.
37225 (GRUB_MOD_INIT): Likewise.
37226
37227 * normal/arg.c: Use <> instead of "" to include header files.
37228 (SHORT_ARG_HELP): New macro.
37229 (SHORT_ARG_USAGE): Likewise.
37230 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
37231 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
37232 descriptions.
37233 (find_short): Check if C is 'h' or 'u' explicitly.
37234 (grub_arg_show_help): Use space characters instead of tabs. Treat
37235 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
37236 are shown with --help and --usage only if they are not used for
37237 the command itself.
37238 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
37239 'h' and 'u'.
37240
37241 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
37242 const into "longarg". Change the type of "shortarg" to int.
37243
f806d18e 372442005-07-17 Yoshinori Okuji <okuji@enbug.org>
37245
37246 * boot/i386/pc/boot.S (boot_drive_check): New label.
37247
37248 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
37249 macro.
37250
37251 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
37252 which do not pass a boot drive correctly. Copied from GRUB Legacy.
37253
e293232b 372542005-07-17 Yoshinori Okuji <okuji@enbug.org>
37255
37256 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
37257 When turning off Gate A20, skip the check and return immediately,
37258 because this is not fatal usually.
37259
ebedfd00 372602005-07-17 Yoshinori Okuji <okuji@enbug.org>
37261
37262 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
37263 be 0x7C00 instead of 0x8000.
37264
37265 * boot/i386/pc/pxeboot.S: Rewritten.
37266
37267 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
37268 EXT_C.
37269 (gate_a20_check_state): Read a byte from 0x108000. Invert the
37270 result.
37271
654fc59f 372722005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
37273
37274 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
37275 robustness. This routine now supports a BIOS call and System
37276 Control Port A to modify the gate A20.
37277
37278 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
37279 Increased to 0x440.
37280
09f9923f 372812005-07-12 Hollis Blanchard <hollis@penguinppc.org>
37282
37283 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
37284 device path and resulting ihandle.
37285 (grub_ofdisk_close): dprintf the ihandle being closed.
37286 (grub_ofdisk_read): dprintf function parameters.
37287 * kern/mm.c (grub_mm_init_region): Likewise.
37288 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
37289 (grub_linux_boot): dprintf the Linux entry point, initrd address and
37290 size, and boot arguments.
37291 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
37292 before loading into memory.
37293 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
37294 before loading into memory.
37295
7ef504d8 372962005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
37297
37298 * kern/mm.c: Added much documentation.
37299 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
37300 8, set to 5 instead of 8.
37301
e0f050c2 373022005-07-10 Yoshinori Okuji <okuji@enbug.org>
37303
37304 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
37305
37306 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
37307 (grub_mkdevicemap_SOURCES): New variable.
37308
37309 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
37310 lib/device.c of GRUB Legacy.
37311
7224189a 373122005-07-10 Yoshinori Okuji <okuji@enbug.org>
37313
37314 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
37315 instead of PATH is NULL.
37316
68c864eb 373172005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
37318
37319 * commands/cmp.c (BUFFER_SIZE): New macro.
37320 (grub_cmd_cmp): Close the right file at the right time. Compare
37321 only data just read. Don't report files of different size as
37322 identical. Dynamically allocate buffers. Move variable
37323 declarations at the beginning of function.
37324
e6f3e614 373252005-07-09 Yoshinori Okuji <okuji@enbug.org>
37326
37327 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
37328 reverse.
37329
f8f1559a 373302004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
37331
37332 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
37333 when backspace is pressed at beginning of line.
37334
39c9d41d 373352005-07-03 Yoshinori Okuji <okuji@enbug.org>
37336
37337 * DISTLIST: Added genfslist.sh.
37338
37339 * normal/main.c (fs_module_list): New variable.
37340 (autoload_fs_module): New function.
37341 (read_fs_list): Likewise.
37342 (grub_normal_execute): Call read_fs_list.
37343
37344 * kern/fs.c (grub_fs_autoload_hook): New variable.
37345 (grub_fs_probe): Added support for auto-loading.
37346
37347 * include/grub/normal.h (struct grub_fs_module_list): New struct.
37348 (grub_fs_module_list_t): New type.
37349
37350 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
37351 (grub_fs_autoload_hook): New prototype.
37352
37353 * genfslist.sh: New file.
f19dbdb7 37354
39c9d41d 37355 * genmk.rb: Added a rule to generate a filesystem list.
37356
121c1d83 373572005-06-30 Marco Gerards <metgerards@student.han.nl>
37358
37359 * configure.ac: Fix the test for cross-compiling.
37360
37361 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
37362 define GRUB_UTIL anymore.
37363
37364 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
37365 so this function works on other systems than just big endian.
37366 (load_modules): Likewise.
37367 (add_segments): Likewise.
37368
e75d76e1 373692005-06-23 Hollis Blanchard <hollis@penguinppc.org>
37370
37371 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
37372 contains `l' modifier, get a long from va_arg().
37373
50b5a0a7 373742005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
37375
37376 * kern/mm.c (grub_free): If the next free block which is being
37377 merged is the first free block, set the first block to the block
37378 being freed.
37379 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
37380
89371b20 373812005-05-08 Hollis Blanchard <hollis@penguinppc.org>
37382
37383 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
37384 `grub_ieee1275_chosen'.
37385
168d6e58 373862005-05-08 Hollis Blanchard <hollis@penguinppc.org>
37387
37388 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
37389 (grub_ieee1275_chosen): New variable.
37390 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
37391 `chosen'.
37392 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
37393 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
37394 Rename first argument to `phandle' for consistency.
37395 (grub_ieee1275_get_property_length): Likewise.
37396 (grub_ieee1275_next_property): Likewise. Change type of first argument
37397 to grub_ieee1275_phandle_t.
37398 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
37399 Move export next to declaration.
37400 (grub_ieee1275_chosen): New variable.
37401 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
37402 Correct cosmetic typo.
37403 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
37404 `grub_ieee1275_chosen'.
37405 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
37406 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
37407 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
37408 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
37409 `grub_ieee1275_chosen'.
37410
ca5baa3f 374112005-05-10 Hollis Blanchard <hollis@penguinppc.org>
37412
37413 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
37414 /chosen/bootargs.
37415 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
37416 /chosen/bootargs as "variable=value" pairs.
37417
708b345f 374182005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
37419
37420 * include/grub/misc.h (grub_dprintf): New macro.
37421 (grub_real_dprintf): New prototype.
37422 (grub_strword): Likewise.
37423 (grub_iswordseparator): Likewise.
37424 * kern/misc.c (grub_real_dprintf): New function.
37425 (grub_strword): Likewise.
37426 (grub_iswordseparator): Likewise.
37427
f4c5e67c 374282005-04-30 Hollis Blanchard <hollis@penguinppc.org>
37429
37430 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
37431 (roundup): Remove macro.
37432 (grub_ieee1275_flags): Make static.
37433 (grub_ieee1275_realmode): Remove.
37434 (grub_ieee1275_test_flag): New function.
37435 (grub_ieee1275_set_flag): Likewise.
37436 (find_options): Rename to `grub_ieee1275_find_options'; update
37437 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
37438 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
37439 (cmain): New prototype.
37440 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
37441 `grub_ieee1275_flags' directly.
37442 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
37443 machine/biosdisk.h.
37444 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
37445 Don't include grub/machine/init.h.
37446 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
37447 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
37448 Remove prototype.
37449 (grub_ieee1275_realmode): Likewise.
37450 (grub_ieee1275_flag): New enum.
37451 (grub_ieee1275_test_flag): New prototype.
37452 (grub_ieee1275_set_flag): New prototype.
37453 * include/grub/powerpc/ieee1275/init.h: Remove file.
37454 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
37455 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
37456 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
37457 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
37458 comment.
37459 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
37460 `grub_ieee1275_test_flag'.
37461 (grub_ieee1275_encode_devname): Likewise.
37462
ed16607e 374632005-04-21 Hollis Blanchard <hollis@penguinppc.org>
37464
37465 * include/grub/powerpc/ieee1275/ieee1275.h
37466 (grub_ieee1275_encode_devname): New prototype.
37467 (grub_ieee1275_get_filename): Likewise.
37468 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
37469 function.
37470 (grub_set_prefix): Likewise.
37471 (grub_machine_init): Call grub_set_prefix.
37472 * kern/powerpc/ieee1275/openfw.c: Fix typos.
37473 (grub_parse_type): New enum.
37474 (grub_ieee1275_get_devargs): New function.
37475 (grub_ieee1275_get_devname): Likewise.
37476 (grub_ieee1275_parse_args): Likewise.
37477 (grub_ieee1275_get_filename): Likewise.
37478 (grub_ieee1275_encode_devname): Likewise.
37479
be369920 374802005-03-30 Marco Gerards <metgerards@student.han.nl>
37481
37482 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
37483 `grub_loader_unset'.
37484
a5ce3a4a 374852005-03-26 Hollis Blanchard <hollis@penguinppc.org>
37486
37487 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
37488 instead of grub_ieee1275_interpret.
37489 (grub_halt_init): New function.
37490 (grub_halt_fini): Likewise.
37491 (GRUB_MOD_INIT): Correct message grammar.
37492 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
37493 instead of grub_ieee1275_interpret.
37494 (grub_reboot_init): New function.
37495 (grub_reboot_fini): Likewise.
37496 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
37497 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
37498 util/i386/pc/misc.c with commands/ieee1275/halt.c,
37499 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
37500 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
37501 function.
37502 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
37503 Add prototype.
37504 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
37505 prototype.
37506 (grub_halt): Likewise.
37507 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
37508 (cmain): Remove __attribute__((unused)).
37509 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
37510 (grub_heap_len): Likewise.
37511 (grub_machine_fini): New function.
37512 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
37513 (grub_halt): Likewise.
37514 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
37515 function.
37516 * util/powerpc/ieee1275/misc.c: New file.
37517
0058f771 375182005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
37519
37520 * DISTLIST: New file.
37521 * gendistlist.sh: Likewise.
f19dbdb7 37522
0058f771 37523 * Makefile.in (COMMON_DISTFILES): Removed.
37524 (BOOT_DISTFILES): Likewise.
37525 (CONF_DISTFILES): Likewise.
37526 (DISK_DISTFILES): Likewise.
37527 (FS_DISTFILES): Likewise.
37528 (INCLUDE_DISTFILES): Likewise.
37529 (KERN_DISTFILES): Likewise.
37530 (LOADER_DISTFILES): Likewise.
37531 (TERM_DISTFILES): Likewise.
37532 (UTIL_DISTFILES): Likewise.
37533 (DISTFILES): Likewise.
37534 (uninstall): Uninstall files in $(pkgdata_DATA).
37535 (DISTLIST): New target.
37536 (distdir): Use the contents of the file DISTLIST to get a list of
37537 distributed files.
37538
46b3b8a5 375392005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
37540
37541 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
37542 descriptor. This is ported from GRUB Legacy.
37543
37544 * gencmdlist.sh: Added an extra semicolon to make it work with
37545 old sed versions. Reported by Robert Bihlmeyer
37546 <robbe@orcus.priv.at>.
37547
5822ff87 375482005-03-08 Yoshinori Okuji <okuji@enbug.org>
37549
37550 Automatic loading of commands is supported.
f19dbdb7 37551
5822ff87 37552 * normal/main.c (read_command_list): New function.
37553 (grub_normal_execute): Call read_command_list.
37554
37555 * normal/command.c (grub_register_command): Return zero or CMD.
37556 Allocate CMD->NAME from the heap.
37557 Initialize CMD->MODULE_NAME to zero.
37558 Find the same name as well. If the same command is found and it is
37559 a dummy command, overwrite members. If it is not a dummy command,
37560 return zero.
37561 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
37562 (grub_command_find): If a dummy command is found, load a module
37563 and retry to find a command only once.
37564
37565 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
37566 make sure that each command is loaded.
37567
37568 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
37569 macro.
37570 (struct grub_command): Remove const from the member `name'.
37571 Add a new member `module_name'.
37572 (grub_register_command): Return grub_command_t.
37573
37574 * commands/help.c (grub_cmd_help): Call grub_command_find to make
37575 sure that each command is loaded.
37576
37577 * genmk.rb (PModule::rule): Specify a module name without the
37578 suffix ".mod" to gencmdlist.sh.
37579
7b1f4b57 375802005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
37581
37582 * gencmdlist.sh: New file.
f19dbdb7 37583
7b1f4b57 37584 * genmk.rb (PModule::rule): Generate a rule for a command list.
37585 Clean command.lst.
37586 Generate command.lst from $(COMMANDFILES).
37587
37588 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
37589 (DATA): Added $(pkgdata_DATA).
37590 (install-local): Install files in $(pkgdata_DATA).
37591
062aaf39 375922005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
37593
37594 * term/i386/pc/vga.c (debug_command): Removed.
37595 (GRUB_MOD_INIT): Do not register the command "debug".
37596
37597 From Hollis Blanchard:
37598 * commands/configfile.c: New file.
37599 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
37600 commands/configfile.c.
37601 (pkgdata_MODULES): Added configfile.mod.
37602 (configfile_mod_SOURCES): New variable.
37603 (configfile_mod_CFLAGS): Likewise.
37604 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37605 commands/configfile.c.
37606 (pkgdata_MODULES): Added configfile.mod.
37607 (configfile_mod_SOURCES): New variable.
37608 (configfile_mod_CFLAGS): Likewise.
37609 * util/grub-emu.c (main): Call grub_configfile_init and
37610 grub_configfile_fini.
37611 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
37612 prototype.
37613 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 37614
cee01aa6 376152005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
37616
37617 * normal/arg.c (grub_arg_show_help): Do not show the bug report
37618 address.
37619
37620 * commands/help.c (grub_cmd_help): Do not print newlines after
37621 the last command in print_command_help.
37622
93f3a1d8 376232005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
37624
37625 * commands/default.h: New file.
37626 * commands/timeout.h: Likewise.
37627 * normal/context.c: Likewise.
f19dbdb7 37628
93f3a1d8 37629 * util/misc.c: Do not include sys/times.h.
37630 Include sys/time.h and grub/machine/time.h.
37631 (grub_get_rtc): Rewritten with gettimeofday.
37632
37633 * util/grub-emu.c (main): Call grub_default_init and
37634 grub_timeout_init before grub_normal_init, and call
37635 grub_timeout_fini and grub_default_fini after grub_main.
37636
37637 * util/console.c (grub_ncurses_checkkey): Return the read
37638 character or -1.
37639
37640 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
37641 timeouts.
37642
37643 * normal/main.c (read_config_file): Push MENU. If this fails,
37644 print an error and wait for a user input.
37645 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
37646 If a menu is empty or an error occurs, pop MENU.
37647 (grub_normal_execute): Pop and free MENU after grub_menu_run
37648 returns.
37649
37650 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
37651
37652 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
37653 include time.h.
37654 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
37655 without GRUB_UTIL.
37656 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
37657 time.h.
37658 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
37659 without GRUB_UTIL.
37660
37661 * include/grub/normal.h (struct grub_menu_list): New struct.
37662 (grub_menu_list_t): New type.
37663 (struct grub_context): New struct.
37664 (grub_context_t): New type.
37665 (grub_register_command): Got rid of EXPORT_FUNC.
37666 (grub_unregister_command): Likewise.
37667 (grub_context_get): New prototype.
37668 (grub_context_get_current_menu): Likewise.
37669 (grub_context_push_menu): Likewise.
37670 (grub_context_pop_menu): Likewise.
37671 [GRUB_UTIL] (grub_default_init): Likewise.
37672 [GRUB_UTIL] (grub_default_fini): Likewise.
37673 [GRUB_UTIL] (grub_timeout_init): Likewise.
37674 [GRUB_UTIL] (grub_timeout_fini): Likewise.
37675
37676 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
37677 commands/timeout.c and normal/context.c.
37678 (pkgdata_MODULES): Added default.mod and timeout.mod.
37679 (normal_mod_SOURCES): Added normal/context.c.
37680 (default_mod_SOURCES): New variable.
37681 (default_mod_CFLAGS): Likewise.
37682 (timeout_mod_SOURCES): Likewise.
37683 (timeout_mod_CFLAGS): Likewise.
37684 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
37685 conf/i386-pc.rmk.
37686 (pkgdata_MODULES): Added default.mod and timeout.mod.
37687 (normal_mod_SOURCES): Added normal/context.c.
37688 (default_mod_SOURCES): New variable.
37689 (default_mod_CFLAGS): Likewise.
37690 (timeout_mod_SOURCES): Likewise.
37691 (timeout_mod_CFLAGS): Likewise.
37692
37693 * Makefile.in (all-local): Added $(MKFILES).
37694
4ed2e1dd 376952005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
37696
37697 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
37698 (grub_emu_SOURCES): Likewise.
37699 (pkgdata_MODULES): Add `sun.mod'.
37700 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
37701 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37702 `partmap/sun.c'.
37703 (pkgdata_MODULES): Add `sun.mod'.
37704 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
37705 * include/grub/partition.h (grub_sun_partition_map_init): New
37706 prototype.
37707 (grub_sun_partition_map_fini): Likewise.
37708 * partmap/sun.c: New file.
37709 * util/grub-emu.c (main): Initialize and de-initialize the sun
37710 partitionmap support.
37711
4d4e372e 377122005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
37713
37714 This implements an Emacs-like menu entry editor.
f19dbdb7 37715
4d4e372e 37716 * normal/menu_entry.c: New file.
f19dbdb7 37717
4d4e372e 37718 * util/console.c (grub_ncurses_putchar): Translate some Unicode
37719 characters to ASCII.
37720 (saved_char): New variable.
37721 (grub_ncurses_checkkey): Rewritten completely.
37722 (grub_ncurses_getkey): Likewise.
37723 (grub_ncurses_init): Call raw instead of cbreak.
37724
37725 * normal/menu.c (print_entry): Do not put a space.
37726 (init_page): Renamed to ...
37727 (grub_menu_init_page): ... this. All callers changed.
37728 (edit_menu_entry): Removed.
37729 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
37730
37731 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
37732
37733 * kern/misc.c (grub_vprintf): Call grub_refresh.
37734
37735 * normal/menu.c (DISP_LEFT): Renamed to ...
37736 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
37737 * normal/menu.c (DISP_UP): Renamed to ...
37738 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
37739 * normal/menu.c (DISP_RIGHT): Renamed to ...
37740 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
37741 * normal/menu.c (DISP_DOWN): Renamed to ...
37742 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
37743 * normal/menu.c (DISP_HLINE): Renamed to ...
37744 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
37745 * normal/menu.c (DISP_VLINE): Renamed to ...
37746 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
37747 * normal/menu.c (DISP_UL): Renamed to ...
37748 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
37749 * normal/menu.c (DISP_UR): Renamed to ...
37750 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
37751 * normal/menu.c (DISP_LL): Renamed to ...
37752 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
37753 * normal/menu.c (DISP_LR): Renamed to ...
37754 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
37755 * normal/menu.c (TERM_WIDTH): Renamed to ...
37756 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
37757 * normal/menu.c (TERM_HEIGHT): Renamed to ...
37758 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
37759 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
37760 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
37761 * normal/menu.c (TERM_MARGIN): Renamed to ...
37762 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
37763 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
37764 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
37765 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
37766 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
37767 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
37768 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
37769 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
37770 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
37771 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
37772 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
37773 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
37774 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
37775 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
37776 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
37777 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
37778 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
37779 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
37780 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
37781 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
37782 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
37783 All callers changed.
37784
37785 * include/grub/normal.h: New prototype.
37786
37787 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
37788 normal/menu_entry.c.
37789 (normal_mod_SOURCES): Likewise.
37790 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37791 (normal_mod_SOURCES): Likewise.
37792
e6b92c8a 377932005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
37794
37795 * include/grub/normal.h (grub_halt_init): New prototype.
37796 (grub_halt_fini): Likewise.
37797 (grub_reboot_init): Likewise.
37798 (grub_reboot_fini): Likewise.
37799
37800 * util/grub-emu.c: Include signal.h.
37801 (main_env): New global variable.
37802 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
37803 catch C-c.
37804 (grub_machine_fini): New function.
37805 (main): Call grub_halt_init and grub_reboot_init before
37806 grub_main, and grub_reboot_fini and grub_halt_fini after it.
37807 Call setjmp with MAIN_ENV to go back afterwards.
37808 Call grub_machine_fini right before return.
37809
37810 * include/grub/util/misc.h: Include setjmp.h.
37811 (main_env): New prototype.
37812
37813 * include/grub/kernel.h (grub_machine_fini): New prototype.
37814 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
37815 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
37816
37817 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
37818 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
37819 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 37820
e6b92c8a 37821 * util/i386/pc/misc.c: New file.
f19dbdb7 37822
e6b92c8a 37823 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
37824 util/i386/pc/misc.c, commands/i386/pc/halt.c and
37825 commands/i386/pc/reboot.c.
37826
c642636f 378272005-02-14 Guillem Jover <guillem@hadrons.org>
37828
37829 * include/grub/dl.h (grub_dl_check_header): New prototype.
37830 (grub_arch_dl_check_header): Change return type to grub_err_t,
37831 remove size parameter and export function. Update all callers.
37832 * kern/dl.c (grub_dl_check_header): New function.
37833 (grub_dl_load_core): Use `grub_dl_check_header' instead of
37834 `grub_arch_dl_check_header'. Check ELF type. Check if sections
37835 are inside the core.
37836 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
37837 independent ELF header checks.
37838 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
37839 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
37840 `grub_dl_check_header' instead of explicit checks. Check for the
37841 ELF type.
37842 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
37843 `grub_dl_check_header' instead of explicit checks. Remove arch
37844 specific ELF header checks.
37845
e6b92c8a 37846 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
37847 argument SIZE.
37848
5eabe94b 378492005-02-13 Hollis Blanchard <hollis@penguinppc.org>
37850
37851 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
37852 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
37853
1b14a681 378542005-02-12 Hollis Blanchard <hollis@penguinppc.org>
37855
37856 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 37857 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 37858 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 37859 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 37860 * partmap/amiga.c (amiga_partition_map_iterate): Return
37861 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
37862 * partmap/apple.c (apple_partition_map_iterate): Likewise.
37863
aca108aa 378642005-02-01 Guillem Jover <guillem@hadrons.org>
37865
37866 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
37867 help info.
37868
c9f9c556 378692005-01-31 Marco Gerards <metgerards@student.han.nl>
37870
37871 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
37872 Removed prototype.
37873 (grub_rescue_cmd_linux): New prototype.
37874 (grub_rescue_cmd_initrd): Likewise.
37875 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
37876 `bi_rec'.
37877 (grub_linux_release_mem): Release the memory for the initrd.
37878 (grub_load_linux): Renamed from this...
37879 (grub_rescue_cmd_linux): ...To this. Changed all callers.
37880 Changed `entry' not to be static. Loop over memory regions to
37881 find another one when the default fails.
37882 (grub_rescue_cmd_initrd): New function.
37883 (grub_linux_init): Remove function.
37884 (grub_linux_fini): Likewise.
37885 (GRUB_MOD_INIT): Register `initrd'.
37886 (GRUB_MOD_FINI): Unregister `initrd'.
37887 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
37888 Function removed.
37889 (grub_linux_normal_fini): Likewise.
37890 (GRUB_MOD_INIT): Register `initrd'.
37891 (GRUB_MOD_FINI): Unregister `initrd'.
37892
990cf3aa 378932005-01-31 Marco Gerards <metgerards@student.han.nl>
37894
37895 * commands/help.c: New file.
37896 * normal/arg.c (show_help): Renamed to...
37897 (grub_arg_show_help): ... this.
37898 * commands/i386/pc/halt.c: New file.
37899 * commands/i386/pc/reboot.c: Likewise.
37900 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
37901 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
37902 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
37903 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
37904 variables.
37905 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37906 `commands/help.c'.
37907 (pkgdata_MODULES): Add `help.mod'.
37908 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
37909 * grub/i386/pc/init.h (grub_reboot): New prototype.
37910 (grub_halt): Likewise.
37911 * include/grub/normal.h (grub_arg_show_help): New prototype.
37912 (grub_help_init): Likewise.
37913 (grub_help_fini): Likewise.
37914 * util/grub-emu.c (main): Initialize and deinitialize the help
37915 command.
37916
37917 * normal/cmdline.c (grub_cmdline_get): Doc fix.
37918
37919 * normal/command.c (grub_command_init): Fixed the description of
37920 the `set' and `unset' commands.
37921
379222005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 37923
37924 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
37925 function.
37926 * commands/ieee1275/halt.c: New file.
37927 * commands/ieee1275/reboot.c: Likewise.
37928 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
37929 `__attribute__ ((unused))'. Some GCS related fixed.
37930 (grub_suspend_init) [GRUB_UTIL]: Function removed.
37931 (grub_suspend_fini): Likewise.
37932 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
37933 and `halt.mod'.
37934 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
37935 (halt_mod_CFLAGS): New variables.
37936 * include/grub/powerpc/ieee1275/ieee1275.h
37937 (grub_ieee1275_interpret): New prototype.
37938
1ab09cc7 379392005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
37940
37941 * include/grub/misc.h (memmove): New prototype.
37942 (memcpy): Likewise.
37943
8b8cbdb2 379442005-01-22 Hollis Blanchard <hollis@penguinppc.org>
37945
37946 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
37947 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
37948
e3741a27 379492005-01-22 Marco Gerards <metgerards@student.han.nl>
37950
37951 * kern/misc.c (grub_strndup): Function rewritten.
37952
776bd780 379532005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
37954
37955 * normal/menu.c (TERM_WIDTH): Macro redefined.
37956 (TERM_TOP_BORDER_Y): Likewise.
37957 (draw_border): Replaced while-loop by a for-loop. Make the number
37958 of lines consistent with the number of lines displayed in
37959 print_entries. Added a margin below the rectangle.
37960 (print_entry): Make the entry fit in the rectangle.
37961 (print_entries): Display the scroll arrows next to the right
37962 border.
37963
78026bce 379642005-01-21 Marco Gerards <metgerards@student.han.nl>
37965
37966 * fs/minix.c (grub_minix_find_file): Reserve more space for
37967 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
37968 `grub_strncpy' to copy `path' into it.
37969
67bbaf0f 379702005-01-21 Marco Gerards <metgerards@student.han.nl>
37971
37972 Add the loopback device, a device via which files can be accessed
37973 as devices.
f19dbdb7 37974
67bbaf0f 37975 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
37976 (pkgdata_MODULES): Add loopback.mod.
37977 (loopback_mod_SOURCES): New variable.
37978 (loopback_mod_CFLAGS): Likewise.
37979 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37980 `disk/loopback.c'.
37981 (pkgdata_MODULES): Add loopback.mod.
37982 (loopback_mod_SOURCES): New variable.
37983 (loopback_mod_CFLAGS): Likewise.
37984 * disk/loopback.c: new file.
37985 * include/grub/normal.h (grub_loop_init): New prototype.
37986 (grub_loop_fini): New prototype.
37987 * util/grub-emu.c (main): Initialize and de-initialize loopback
37988 support.
37989 * include/grub/disk.h (grub_disk_dev_id): Add
37990 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
37991
6f1c18bd 379922005-01-20 Hollis Blanchard <hollis@penguinppc.org>
37993
37994 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
37995 function.
37996 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
37997 (suspend_mod_SOURCES): New variable.
37998 (suspend_mod_CFLAGS): Likewise.
37999 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
38000 New prototype.
38001 * commands/ieee1275/suspend.c: New file.
38002
b38551da 380032005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38004
38005 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 38006 ((unused))' to `__attribute__ ((used))'.
b38551da 38007 (GRUB_MOD_FINI): Likewise.
38008 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
38009 * genmk.rb (PModule): Assign space to common symbols when linking
38010 modules.
38011
777aff39 380122005-01-20 Marco Gerards <metgerards@student.han.nl>
38013
38014 * include/grub/mm.h (grub_mm_init_region): Change the type of the
38015 `unsigned' arguments to `grub_size_t'.
38016 (grub_malloc): Likewise.
38017 (grub_realloc): Likewise.
38018 (grub_memalign): Likewise.
38019 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
38020 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
38021 * util/misc.c (grub_malloc): Likewise.
38022 (grub_realloc): Likewise.
38023 * kern/mm.c (get_header_from_pointer): Change the casts to
38024 `unsigned' into a cast to `grub_size_t'.
38025
38026 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
38027 point to `currnode' when `currnode' is changed.
38028
38029 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
38030 Schottelius <nico-linux@schottelius.org>.
38031
d0ff18e1 380322005-01-09 Hollis Blanchard <hollis@penguinppc.org>
38033
38034 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
38035 (note_path): Remove variable.
38036 (GRUB_IEEE1275_NOTE_NAME): New macro.
38037 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
38038 (grub_ieee1275_note_hdr): New structure.
38039 (grub_ieee1275_note_desc): Likewise.
38040 (grub_ieee1275_note): Likewise.
38041 (load_note): Remove `dir' argument. All callers updated. Remove
38042 `note_img' and `path'. Do not load a file from `note_path'.
38043 Initialize a struct grub_ieee1275_note and write that to `out'.
38044 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
38045
4ca7004c 380462005-01-05 Marco Gerards <metgerards@student.han.nl>
38047
38048 * util/misc.c (grub_util_read_image): Revert last change. It
38049 called `grub_util_read_at', which seeks from the beginning of the
38050 file.
38051
0b412211 380522005-01-04 Hollis Blanchard <hollis@penguinppc.org>
38053
38054 * TODO: Add note about endianness in grub-mkimage.
38055 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
38056 section.
38057 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
38058 (grub_mkimage_SOURCES): New target.
38059 * include/grub/kernel.h (grub_start_addr): Remove variable.
38060 (grub_end_addr): Likewise.
38061 (grub_total_module_size): Likewise.
38062 (grub_kernel_image_size): Likewise.
38063 (GRUB_MODULE_MAGIC): New constant.
38064 (grub_module_info): New structure.
38065 (grub_arch_modules_addr): New prototype.
38066 (grub_get_end_addr): Remove prototype.
38067 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
38068 * include/grub/powerpc/ieee1275/kernel.h: New file.
38069 * include/grub/util/misc.h (grub_util_get_fp_size): New
38070 prototype.
38071 (grub_util_read_at): Likewise.
38072 (grub_util_write_image_at): Likewise.
38073 * kern/main.c (grub_get_end_addr): Remove function.
38074 (grub_load_modules): Call grub_arch_modules_addr instead of using
38075 grub_end_addr. Look for a grub_module_info struct in memory. Use
38076 the grub_module_info fields instead of calling grub_get_end_addr
38077 as loop conditions. Move grub_add_unused_region code here.
38078 (grub_add_unused_region): Remove function.
38079 * kern/i386/pc/init.c: Include grub/cache.h.
38080 (grub_machine_init): Remove call to grub_get_end_addr. Remove
38081 one call to add_mem_region.
38082 (grub_arch_modules_addr): New function.
38083 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
38084 (grub_total_module_size): Likewise.
38085 Include grub/machine/kernel.h.
38086 (grub_arch_modules_addr): New function.
38087 * util/grub-emu.c (grub_end_addr): Remove variable.
38088 (grub_total_module_size): Likewise.
38089 (grub_arch_modules_addr): New function.
38090 * util/misc.c: Include unistd.h.
38091 (grub_util_get_fp_size): New function.
38092 (grub_util_read_at): Likewise.
38093 (grub_util_write_image_at): Likewise.
38094 (grub_util_read_image): Call grub_util_read_at.
38095 (grub_util_write_image): Call grub_util_write_image_at.
38096 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
38097 additional memory in kernel_img for a struct grub_module_info.
38098 Fill in that grub_module_info.
38099 * util/powerpc/ieee1275/grub-mkimage.c: New file.
38100
458786f8 381012005-01-03 Hollis Blanchard <hollis@penguinppc.org>
38102
38103 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
38104 New function.
38105 * include/grub/powerpc/ieee1275/ieee1275.h
38106 (grub_ieee1275_milliseconds): New prototype.
38107 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
38108 Change to 1000.
38109 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
38110 grub_ieee1275_milliseconds.
38111
ac507d1b 381122005-01-03 Hollis Blanchard <hollis@penguinppc.org>
38113
38114 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
38115 variable.
38116 (find_options): New function.
38117 (cmain): Call find_options.
38118 * include/grub/powerpc/ieee1275/ieee1275.h
38119 (grub_ieee1275_realmode): New extern variable.
38120 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
38121 grub_map if grub_ieee1275_realmode is false.
38122
6b8fd1c4 381232004-12-29 Marco Gerards <metgerards@student.han.nl>
38124
38125 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
38126 lines are inserted and make it work like readline. Reported by
38127 Vincent Pelletier <subdino2004@yahoo.fr>.
38128
8514a1e0 381292004-12-28 Marco Gerards <metgerards@student.han.nl>
38130
38131 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
38132
38133 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
38134 `kern/powerpc/cache.S'.
38135
924b6140 381362004-12-27 Marco Gerards <metgerards@student.han.nl>
38137
38138 * genmk.rb: Handle the `Program' class in the main loop. Written
38139 by Johan Rydberg <jrydberg@gnu.org>.
38140 (Program): New class.
38141 (programs): New variable.
38142 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
38143 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
38144 instead of "grub/kernel.h". Include <grub/machine/init.h>.
38145 (help_arch): Function removed.
38146 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
38147 `powerpc/libgcc.h' and `loader.h'.
38148 (pkgdata_PROGRAMS): New variable.
38149 (sbin_UTILITIES): Variable removed.
38150 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
38151 (grubof_SOURCES): Variable re-defined so it only includes the
38152 core functionality.
38153 (grubof_CFLAGS): Remove `-DGRUBOF'.
38154 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
38155 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
38156 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
38157 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
38158 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
38159 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
38160 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
38161 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
38162 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
38163 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
38164 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38165 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
38166 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
38167 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
38168 (pc_mod_CFLAGS): New variables.
38169 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
38170 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
38171 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
38172 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
38173 Moved from here...
38174 * include/grub/i386/pc/init.h (grub_os_area_addr)
38175 (rub_os_area_size): ... to here.
38176 * include/grub/powerpc/ieee1275/ieee1275.h
38177 (grub_ieee1275_entry_fn): Export symbol.
38178 * include/grub/powerpc/ieee1275/init.h: New file.
38179 * include/grub/powerpc/libgcc.h: Likewise.
38180 * include/grub/cache.h: Likewise.
38181 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
38182 <hollis@penguinppc.org>.
38183 * kern/dl.c: Include <grub/cache.h>.
38184 (grub_dl_flush_cache): New function.
38185 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
38186 for this module.
38187 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
38188 (grub_console_init): Removed prototypes.
38189 (grub_machine_init): Don't initialize the modules anymore.
38190 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
38191 static.
38192 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
38193 Macro undef removed.
38194 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
38195 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
38196 relocation `R_PPC_REL32'. Return an error when the relocation is
38197 unknown.
38198 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
38199 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
38200 * util/misc.c (grub_arch_sync_caches): Likewise.
38201
e4b47e0c 382022004-12-19 Marco Gerards <metgerards@student.han.nl>
38203
38204 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
38205 `symlist.c', add `grubof_symlist.c'.
38206 (symlist.c): Variable removed.
38207 (grubof_HEADERS): Variable added.
38208 (grubof_symlist.c): New target.
38209 (kernel_syms.lst): Use `grubof_HEADERS' instead of
38210 `kernel_img_HEADERS'.
38211 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
38212 * kern/powerpc/dl.c: New file.
38213 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
38214 Function removed.
38215 (grub_arch_dl_relocate_symbols): Likewise.
38216 (grub_register_exported_symbols): Likewise.
38217
4ceb3636 382182004-12-13 Marco Gerards <metgerards@student.han.nl>
38219
38220 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
38221 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
38222 to fail instead. Reported by Vincent Pelletier
38223 <subdino2004@yahoo.fr>.
38224
38225 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
38226 it is not allocated. Reported by Vincent Pelletier
38227 <subdino2004@yahoo.fr>.
38228
38229 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
38230 output so the output looks better.
f19dbdb7 38231
3f1578fe 382322004-12-04 Marco Gerards <metgerards@student.han.nl>
38233
38234 Modulize the partition map support and add support for the amiga
38235 partition map.
f19dbdb7 38236
3f1578fe 38237 * commands/ls.c: Include <grub/partition.h> instead of
38238 <grub/machine/partition.h>.
38239 * kern/disk.c: Likewise.
38240 * kern/rescue.c: Likewise.
38241 * loader/i386/pc/chainloader.c: Likewise.
38242 * normal/cmdline.c: Likewise.
38243 * kern/powerpc/ieee1275/init.c: Likewise.
38244 (grub_machine_init): Call `grub_pc_partition_map_init',
38245 `grub_amiga_partition_map_init' and
38246 `grub_apple_partition_map_init'.
38247 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
38248 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
38249 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
38250 `partition.h' and `pc_partition.h'.
38251 (grub_setup_SOURCES): Remove
38252 `disk/i386/pc/partition.c'. Add `kern/partition.c',
38253 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
38254 (grub_emu_SOURCES): Likewise.
38255 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
38256 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
38257 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
38258 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
38259 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
38260 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
38261 (grubof_SOURCES): Likewise.
38262 * disk/i386/pc/partition.c: File removed.
38263 * disk/powerpc/ieee1275/partition.c: Likewise.
38264 * include/grub/powerpc/ieee1275/partition.h: Likewise.
38265 * include/grub/i386/pc/partition.h: Likewise.
38266 * kern/partition.c: New file.
38267 * partmap/amiga.c: Likewise.
38268 * partmap/apple.c: Likewise.
38269 * partmap/pc.c: Likewise.
38270 * include/grub/partition.h: Likewise..
38271 * include/grub/pc_partition.h: Likewise.
38272 * util/grub-emu.c: Include <grub/partition.h> instead of
38273 <grub/machine/partition.h>.
38274 (main): Call `grub_pc_partition_map_init',
38275 `grub_amiga_partition_map_init' and
38276 `grub_apple_partition_map_init' and deinitialize afterwards.
38277 * util/i386/pc/biosdisk.c: Include `#include
38278 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
38279 `<grub/machine/partition.h>'.
38280 * util/i386/pc/grub-setup.c: Likewise.
38281 * util/i386/pc/biosdisk.c: Likewise.
38282 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
38283 partition information in case of a PC partition.
38284 * util/i386/pc/grub-setup.c: Include `#include
38285 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
38286 `<grub/machine/partition.h>'.
38287 (setup): Only access the PC specific partition information in case
38288 of a PC partition.
38289
0ef4ced9 382902004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 38291
0ef4ced9 38292 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
38293 (grub_longjmp): Likewise.
38294 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
38295 20.
38296 * normal/powerpc/setjmp.S: New file.
38297 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
38298 `normal/powerpc/setjmp.S'.
38299 (grubof_CFLAGS): Add `-DGRUBOF'.
38300 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
38301 [GRUB_UTIL && !GRUBOF].
f19dbdb7 38302
19950e29 383032004-11-16 Marco Gerards <metgerards@student.han.nl>
38304
38305 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
38306 property named `name'. Correctly handle the error returned by
38307 `grub_ieee1275_finddevice' if a device can not be opened.
38308
a2fea427 383092004-11-02 Hollis Blanchard <hollis@penguinppc.org>
38310
38311 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
38312 `actual' for negativity.
38313 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
38314 kern/fshelp.c.
38315
41ea0ea3 383162004-11-01 Marco Gerards <metgerards@student.han.nl>
38317
38318 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
38319 (PAGE_OFFSET): New macro.
38320 (CRTC_ADDR_PORT): Likewise.
38321 (CRTC_DATA_PORT): Likewise.
38322 (START_ADDR_HIGH_REGISTER): Likewise.
38323 (START_ADDR_LOW_REGISTER): Likewise.
38324 (GRAPHICS_ADDR_PORT): Likewise.
38325 (GRAPHICS_DATA_PORT): Likewise.
38326 (READ_MAP_REGISTER): Likewise.
38327 (INPUT_STATUS1_REGISTER): Likewise.
38328 (INPUT_STATUS1_VERTR_BIT): Likewise.
38329 (page): New variable.
38330 (wait_vretrace): New function.
38331 (set_read_map): Likewise.
38332 (set_start_address): Likewise.
38333 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
38334 the right page.
38335 (check_vga_mem): Take the page into account.
38336 (write_char): Likewise.
38337 (write_cursor): Likewise.
38338 (scroll_up): Likewise. Copy the page to the page that is not
38339 shown and switch between both pages.
38340 (grub_vga_putchar): Fix off by one error.
38341 (grub_vga_cls): Wait for the vertical retrace. Take the page into
38342 account.
38343
ad0bd20b 383442004-11-01 Marco Gerards <metgerards@student.han.nl>
38345
38346 Add support for iso9660 (including rockridge).
f19dbdb7 38347
ad0bd20b 38348 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
38349 (iso9660_mod_SOURCES): New variable.
38350 (iso9660_mod_CFLAGS): Likewise.
38351 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
38352 * include/grub/fs.h (grub_iso9660_init): New prototype.
38353 * util/grub-emu.c (main): Call `grub_iso9660_init'.
38354 * fs/iso9660.c: New file.
38355
38356 * include/grub/misc.h (grub_strncat): New prototype.
38357 * kern/misc.c (grub_strncat): New function.
f19dbdb7 38358
ad0bd20b 38359 * fs/hfs.c (grub_hfs_mount): Translate the error
38360 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
38361 * fs/jfs.c (grub_jfs_mount): Likewise.
38362 * fs/ufs.c (grub_ufs_mount): Likewise.
38363
a5477a59 383642004-10-28 Hollis Blanchard <hollis@penguinppc.org>
38365
38366 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
38367 which initialized BAT registers.
38368 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
38369 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
38370 Move from here...
38371 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
38372 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
38373 ... to here.
38374 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
38375 (grub_mapclaim): Likewise.
38376 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
38377 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
38378 hand.
38379
9304c1f8 383802004-10-19 Hollis Blanchard <hollis@penguinppc.org>
38381
38382 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
38383 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
38384 -ffreestanding and -msoft-float.
38385
86f4ae25 383862004-10-15 Hollis Blanchard <hollis@penguinppc.org>
38387
38388 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
38389 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
38390 set in grub_ieee1275_flags.
38391
38912228 383922004-10-14 Hollis Blanchard <hollis@penguinppc.org>
38393
38394 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
38395 prototype.
38396 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
38397 grub_console_init first.
38398 Change the memory range used for grub_ieee1275_claim and
38399 grub_mm_init_region.
38400 Print an error message if the claim fails.
38401 Include <grub/misc.h>.
38402
d1923dc8 384032004-10-13 Hollis Blanchard <hollis@penguinppc.org>
38404
38405 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
38406 Call grub_children_iterate for device nodes of type `scsi',
38407 `ide', or `ata'.
38408 (grub_ofdisk_open): Remove manual device alias resolution.
38409 Fix memory leak when device cannot be opened.
f19dbdb7 38410 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 38411 (grub_children_iterate): New prototype.
38412 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
38413 New function.
38414 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
38415 Return -1 if args.size was -1.
38416
4512e4f3 384172004-10-11 Hollis Blanchard <hollis@penguinppc.org>
38418
38419 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
38420 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
38421 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
38422 Open Firmware's memory for it; claim memory from _start to _end.
38423 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
38424 (_end): New extern.
38425 (_start): Zero BSS from __bss_start to _end.
38426 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
38427 New extern.
38428 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
38429
4d61feb0 384302004-10-11 Hollis Blanchard <hollis@penguinppc.org>
38431
ad0bd20b 38432 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
38433 -1 if args.base was -1.
4d61feb0 38434
026fa2f9 384352004-10-08 Hollis Blanchard <hollis@penguinppc.org>
38436
38437 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
38438 escape sequence instead of a literal ^L. Also call
38439 grub_ofconsole_gotoxy.
38440
9f2220ef 384412004-10-03 Hollis Blanchard <hollis@penguinppc.org>
38442
38443 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
38444 void * arguments to grub_addr_t. All callers updated. Also make
38445 the `result' argument optional.
38446 (grub_ieee1275_release): change void * arguments to grub_addr_t.
38447 All callers updated.
38448
8a572cd7 384492004-09-22 Hollis Blanchard <hollis@penguinppc.org>
38450
38451 * commands/ls.c (grub_ls_list_files): Use the string following the
38452 initial ')', if present, as the filesystem path.
38453 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
38454
38455 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
38456
18aa81f2 384572004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
38458
38459 Make the source code of the menu interface more readable.
f19dbdb7 38460
18aa81f2 38461 * normal/menu.c: Include grub/mm.h.
38462 (TERM_WIDTH): New macro.
38463 (TERM_HEIGHT): Likewise.
38464 (TERM_INFO_HEIGHT): Likewise.
38465 (TERM_MARGIN): Likewise.
38466 (TERM_SCROLL_WIDTH): Likewise.
38467 (TERM_TOP_BORDER_Y): Likewise.
38468 (TERM_LEFT_BORDER_X): Likewise.
38469 (TERM_BORDER_WIDTH): Likewise.
38470 (TERM_MESSAGE_HEIGHT): Likewise.
38471 (TERM_BORDER_HEIGHT): Likewise.
38472 (TERM_NUM_ENTRIES): Likewise.
38473 (TERM_FIRST_ENTRY_Y): Likewise.
38474 (TERM_ENTRY_WIDTH): Likewise.
38475 (TERM_CURSOR_X): Likewise.
38476 (draw_border): Use macros instead of magic numbers.
38477 (print_entry): Likewise.
38478 (print_entries): Likewise.
38479 (run_menu): Likewise. Also, handle the key 'e'.
38480 (run_menu_entry): Ignore empty command lines.
38481 (print_message): Added a new argument EDIT. If EDIT is true,
38482 print a different message.
38483 (init_page): Likewise.
38484 (edit_menu_entry): New function. Not implemented yet.
38485
b47efe30 384862004-09-17 Marco Gerards <metgerards@student.han.nl>
38487
38488 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
38489 can be loaded from normal mode.
f19dbdb7 38490
b47efe30 38491 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
38492 `multiboot.mod'.
38493 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
38494 (multiboot_mod_CFLAGS): New variables.
38495 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 38496 * loader/i386/pc/multiboot_normal.c: Likewise.
38497
b47efe30 38498 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
38499 attribute `unused'.
f19dbdb7 38500
b47efe30 38501 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
38502 `fdiro' to read the mode information from instead of `diro'.
38503
38504 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
38505 looking up a symlink.
38506
38507 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
38508 macro.
38509 * normal/command.c (grub_command_execute): Don't parse the
38510 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
38511 flags of the command.
38512
38513 * normal/menu.c (grub_menu_run): Fix typo.
38514
da75ac71 385152004-09-14 Hollis Blanchard <hollis@penguinppc.org>
38516
38517 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
38518
38519 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
38520 `y + 1' instead of `y - 1'.
38521
38522 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 38523
062b24c2 385242004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
38525
38526 From Hollis Blanchard <hollis@penguinppc.org>:
38527 * kern/misc.c (memmove): New alias for grub_memmove.
38528 (memcmp): New alias for grub_memcmp.
38529 (memset): New alias for grub_memset.
f19dbdb7 38530 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 38531 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 38532 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 38533 (grub_ieee1275_get_property): Likewise.
f19dbdb7 38534
8ddad845 385352004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
38536
38537 Added normal mode command `chainloader' as module chain.mod, which
38538 depends on normal.mod and _chain.mod.
f19dbdb7 38539
8ddad845 38540 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
38541 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
38542 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
38543 Deleted prototype.
38544 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
38545 but arguments parsing moved to ...
38546 (grub_chainloader_cmd): ... here. New function.
38547 * include/grub/i386/pc/chainloader.h: New file.
38548 * loader/i386/pc/chainloader_normal.c: Likewise.
38549
2c1f4ce3 385502004-09-11 Marco Gerards <metgerards@student.han.nl>
38551
38552 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
38553 (grub_mkimage_LDFLAGS): Likewise.
38554 (grub_emu_SOURCES): Likewise.
38555 (kernel_img_HEADERS): Added fshelp.h.
38556 * fs/ext2.c: Include <grub/fshelp.h>.
38557 (FILETYPE_REG): New macro.
38558 (FILETYPE_INO_REG): Likewise.
38559 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
38560 Changed all users.
38561 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
38562 all users.
38563 (grub_fshelp_node): New struct.
38564 (grub_ext2_data): Added member `diropen'. Changed member `inode'
38565 to a pointer.
38566 (grub_ext2_get_file_block): Removed function.
38567 (grub_ext2_read_block): New function.
38568 (grub_ext2_read_file): Replaced parameter `data' by `node'.
38569 This function was written.
38570 (grub_ext2_mount): Read the root inode. Create a diropen struct.
38571 (grub_ext2_find_file): Removed function.
38572 (grub_ext2_read_symlink): New function.
38573 (grub_ext2_iterate_dir): Likewise.
38574 (grub_ext2_open): Rewritten.
38575 (grub_ext2_dir): Rewritten.
38576 * include/grub/fshelp.h: New file.
38577 * fs/fshelp.c: Likewise.
38578
3c52136a 385792004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
38580
38581 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
38582 (print_message): Add a missing newline.
38583 (run_menu): Added timeout support.
38584 (run_menu_entry): New local function.
38585 (grub_menu_run): Added support for booting.
38586
38587 * kern/loader.c (grub_loader_is_loaded): New function.
38588
38589 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
38590 (grub_get_rtc): Exported.
38591
38592 * include/grub/i386/pc/time.h: Include grub/symbol.h.
38593 (grub_get_rtc): Exported.
38594
38595 * include/grub/normal.h (struct grub_command_list): Remove
38596 constant from the member `command'.
38597
38598 * include/grub/loader.h (grub_loader_is_loaded): Declared.
38599
38600 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
38601
38602 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
38603
aa033560 386042004-08-28 Marco Gerards <metgerards@student.han.nl>
38605
38606 Add support for the JFS filesystem.
38607
38608 * fs/jfs.c: New file.
38609 * include/grub/fs.h (grub_jfs_init): New prototype.
38610 (grub_jfs_fini): New prototype.
38611 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
38612 (grub_emu_SOURCES): Likewise.
38613 (pkgdata_MODULES): Add jfs.mod.
38614 (jfs_mod_SOURCES): New variable.
38615 (jfs_mod_CFLAGS): Likewise.
38616 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
38617 (grubof_SOURCES): Likewise.
38618 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
38619
38620 * fs/fat.c (grub_fat_find_dir): Convert the filename little
38621 endian to the host endian.
38622 (grub_fat_utf16_to_utf8): Move function from there...
38623 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 38624 the endianness of the source string anymore.
aa033560 38625 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
38626
94bc45af 386272004-08-24 Marco Gerards <metgerards@student.han.nl>
38628
38629 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
38630 (grub_boot_fini) [GRUB_UTIL]: Likewise.
38631 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
38632 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 38633
94bc45af 38634 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
38635 (grub_hfs_iterate_dir): Make the function static. Add prototypes
38636 for `node_found' and `it_dir'.
38637 (grub_hfs_dir): Add prototype for `dir_hook'.
38638
38639 * fs/minix.c (grub_minix_get_file_block): Add prototype for
38640 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
38641 and `indir32' to silence a gcc warning.
38642
38643 * include/grub/fs.h (grub_hfs_init): New prototype.
38644 (grub_hfs_fini): Likewise.
f19dbdb7 38645
38646
97543f08 386472004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
38648
38649 Each disk device has its own id now. This is useful to make use
38650 of multiple disk devices.
f19dbdb7 38651
97543f08 38652 * include/grub/disk.h (grub_disk_dev_id): New enum.
38653 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
38654 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
38655
38656 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
38657 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
38658
38659 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
38660 GRUB_DISK_DEVICE_OFDISK_ID as an id.
38661
38662 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
38663 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
38664
38665 * include/grub/disk.h (struct grub_disk_dev): Added a new member
38666 "id" which is used by the cache manager.
38667
38668 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
38669 of just "GRUB".
38670
64372eb4 386712004-08-18 Marco Gerards <metgerards@student.han.nl>
38672
38673 * fs/hfs.c: New file.
38674 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
38675 (grub_emu_SOURCES): Likewise.
38676 (pkgdata_MODULES): Add hfs.mod.
38677 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
38678 (grubof_SOURCES): Likewise.
38679 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
38680
38681 * include/grub/misc.h (grub_strncasecmp): Add prototype.
38682 * kern/misc.c (grub_strncasecmp): Add function.
38683
cc61b58f 386842004-08-14 Marco Gerards <metgerards@student.han.nl>
38685
38686 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
38687 with parentheses.
38688
38689 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
38690 (grub_ext2_dir): In case the directory entry type is unknown, read
38691 it from the inode.
38692
0ef123f6 386932004-08-02 Peter Bruin <pjbruin@dds.nl>
38694
38695 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
38696 grub_load_linux instead of grub_rescue_cmd_linux as second
38697 argument of grub_rescue_register_command.
38698
38699 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
38700
a447c5df 387012004-07-27 Marco Gerards <metgerards@student.han.nl>
38702
38703 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
38704 function.
38705 * commands/boot.c: Remove the check for `GRUB_UTIL'.
38706 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
38707 `loader/powerpc/ieee1275/linux.c',
38708 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
38709 * include/grub/powerpc/ieee1275/ieee1275.h
38710 (grub_ieee1275_release): New prototype.
38711 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
38712 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
38713 normal, boot, linux and linux_normal.
38714 * loader/powerpc/ieee1275/linux.c: New file.
38715 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38716
5a9e3546 387172004-07-12 Marco Gerards <metgerards@student.han.nl>
38718
38719 * normal/arg.c (grub_arg_parse): Correct error handling after
38720 reallocating the argumentlist (check if `argl' is not null instead
38721 of checking if `args' is not null).
38722 * kern/mm.c (grub_realloc): Return the same pointer when using the
38723 same region, instead of returning the header address.
38724
e15199cb 387252004-07-11 Marco Gerards <metgerards@student.han.nl>
38726
38727 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
38728 one block instead of two when looking for the initial partition.
38729 (grub_partition_probe): Initialize the local variable `p' with 0.
38730 Use base 10 for the grub_strtoul call.
38731 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
38732 need for one local variable.
38733 (grub_strtoul): Don't add the new value to `num', instead of that
38734 just assign it.
38735
020616c2 387362004-07-11 Marco Gerards <metgerards@student.han.nl>
38737
38738 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
38739 (pxeboot_img_SOURCES): New variable.
38740 (pxeboot_img_ASFLAGS): Likewise.
38741 (pxeboot_img_LDFLAGS): Likewise.
38742 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
38743 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
38744 <lode_leroy@hotmail.com>.
38745
6c51eb64 387462004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
38747
38748 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
38749 there was no input.
38750
cfb12aff 387512004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
38752
38753 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
38754 the history buffer logic.
38755
6eabba74 387562004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
38757
38758 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
38759 (FILETYPE_INO_SYMLINK): New macros.
38760 (grub_ext2_find_file): Check if the node is a directory using the
38761 inode stat information instead of using the filetype in the
38762 dirent. Exclude the first character of an absolute symlink.
38763 (grub_ext2_dir): Mask out the filetype part of the mode member of
38764 the inode.
38765
66e19ef8 387662004-05-24 Marco Gerards <metgerards@student.han.nl>
38767
38768 Add support for UFS version 1 and 2. Add support for the minix
38769 filesystem version 1 and 2, both the variants with 14 and 30 long
38770 filenames.
f19dbdb7 38771
66e19ef8 38772 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
38773 fs/minix.c.
38774 (grub_emu_SOURCES): Likewise.
38775 (pkgdata_MODULES): Add ufs.mod and minix.mod.
38776 (ufs_mod_SOURCES): New variable.
38777 (ufs_mod_CFLAGS): Likewise.
38778 (minix_mod_SOURCES): Likewise.
38779 (minix_mod_CFLAGS): Likewise.
38780 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
38781 fs/minix.c.
38782 (grubof_SOURCES): Likewise.
38783 * fs/ufs.c: New file.
38784 * fs/minix.c: New file.
38785 * include/grub/fs.h (grub_ufs_init): New prototype.
38786 (grub_ufs_fini): Likewise.
38787 (grub_minix_init): Likewise.
38788 (grub_minix_fini): Likewise.
38789 * util/grub-emu.c (main): Initialize and deinitialize UFS and
38790 minix fs.
38791
cc2e748a 387922004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
38793
38794 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
38795 commands/ls.c, commands/terminal.c, commands/boot.c,
38796 commands/cmp.c and commands/cat.c.
38797 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
38798
38799 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
38800 "env.h"
38801
4b13b216 388022004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
38803
38804 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
38805 and grub_, respectively. Because the conversion is trivial and
38806 mechanical, I omit the details here. Please refer to the CVS
38807 if you need more information.
38808
6a142551 388092004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
38810
38811 * include/pupa: Renamed to ...
38812 * include/grub: ... this.
38813 * util/i386/pc/pupa-mkimage.c: Renamed to ...
38814 * util/i386/pc/grub-mkimage.c: ... this.
38815 * util/i386/pc/pupa-setup.c: Renamed to ...
38816 * util/i386/pc/grub-setup.c: ... this.
38817 * util/pupa-emu.c: Renamed to ...
38818 * util/grub-emu.c: ... this.
38819
e56cdf21 388202004-03-29 Marco Gerards <metgerards@student.han.nl>
38821
38822 Add support for the newworld apple macintosh (PPC). This has been
38823 tested on the powerbook 2000 only. It only adds support for
38824 generic ieee1275 functions, console and disk support. This should
38825 be easy to port to other architectures with support for Open
38826 Firmware.
f19dbdb7 38827
e56cdf21 38828 * configure.ac: Accept the powerpc as host_cpu. In the case of
38829 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
38830 specific tests are only executed while building for the i386.
38831 Inverse test for crosscompile.
38832 * genmk.rb (Utility): Allow assembler files.
38833 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
38834 * conf/powerpc-ieee1275.rmk: New file.
38835 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
38836 * disk/powerpc/ieee1275/partition.c: Likewise.
38837 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
38838 * include/pupa/powerpc/ieee1275/console.h: Likewise.
38839 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
38840 * include/pupa/powerpc/ieee1275/time.h: Likewise.
38841 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
38842 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
38843 * include/pupa/powerpc/ieee1275/loader.h
38844 * include/pupa/powerpc/setjmp.h: Likewise.
38845 * include/pupa/powerpc/types.h: Likewise.
38846 * kern/powerpc/ieee1275/init.c: Likewise.
38847 * kern/powerpc/ieee1275/openfw.c: Likewise.
38848 * term/powerpc/ieee1275/ofconsole.c: Likewise.
38849
38850 These files were written by Johan Rydberg
38851 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 38852
e56cdf21 38853 * boot/powerpc/ieee1275/cmain.c: New file.
38854 * boot/powerpc/ieee1275/crt0.S: Likewise.
38855 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
38856 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
38857
8c8cc205 388582004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
38859
38860 * Makefile.in: Update copyright.
38861 * genmodsrc.sh: Likewise.
38862 * gensymlist.sh: Likewise.
38863 * term/i386/pc/vga.c: Indent correctly.
38864
38865 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
38866 bugreporting address.
38867 * util/i386/pc/pupa-setup.c (usage): Likewise,
38868 (main): Call pupa_ext2_init and pupa_ext2_fini.
38869
f19dbdb7 38870 * fs/fat.c (log2): Renamed to ...
8c8cc205 38871 (fat_log2): ... this.
38872 All callers changed.
38873 * kern/misc.c (memcpy): Alias to pupa_memmove.
38874 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
38875 lvalue cast.
38876 * util/console.c (pupa_ncurses_fini): Return 0.
38877
38878 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
38879 Move fail label here.
38880 [__GNU__]: Don't warn when using stat.
38881 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
38882 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
38883 long int. Use strtol instead of strtoul.
f19dbdb7 38884
db1771cf 388852004-03-14 Marco Gerards <metgerards@student.han.nl>
38886
38887 * commands/boot.c: New file.
38888 * commands/cat.c: Likewise.
38889 * commands/cmp.c: Likewise.
38890 * commands/ls.c: Likewise.
38891 * commands/terminal.c: Likewise.
38892 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
38893 (pupa_register_command): Changed interface to match the new
38894 argument parser.
38895 (pupa_command_execute): Changed (almost rewritten) so it uses
38896 pupa_split_command. Added support for setting variables using the
38897 syntax `foo=bar'.
38898 (rescue_command): Changed to work with the new argument parser.
38899 (terminal_command): Moved from here to commands/terminal.c.
38900 (set_command): New function.
38901 (unset_command): New function.
38902 (insmod_command): New function.
38903 (rmmod_command): New function.
38904 (lsmod_command): New function.
38905 (pupa_command_init): Don't initialize the command terminal
38906 anymore. Initialize the commands set, unset, insmod, rmmod and
38907 lsmod.
38908 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
38909 (kernel_img_HEADERS): Add arg.h and env.h.
38910 (pupa_mkimage_LDFLAGS): Add kern/env.c.
38911 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
38912 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
38913 normal/arg.c.
38914 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
38915 terminal.mod.
38916 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
38917 (boot_mod_SOURCES): New variable.
38918 (terminal_mod_SOURCES): Likewise.
38919 (ls_mod_SOURCES): Likewise.
38920 (cmp_mod_SOURCES): Likewise.
38921 (cat_mod_SOURCES): Likewise.
38922
38923 * normal/arg.c: New file.
38924 * kern/env.c: Likewise.
38925 * include/pupa/arg.h: Likewise.
38926 * include/pupa/env.h: Likewise.
38927 * font/manager.c (font_command): Changed to match argument parsing
38928 interface changes.
38929 (PUPA_MOD_INIT): Likewise.
38930 * hello/hello.c (pupa_cmd_hello): Likewise.
38931 (PUPA_MOD_INIT): Likewise.
38932 * include/pupa/disk.h: Include <pupa/device.h>.
38933 (pupa_print_partinfo): New prototype.
38934 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
38935 (pupa_dl_get_prefix): Likewise.
38936 * include/pupa/misc.h: Include <pupa/err.h>.
38937 (pupa_isgraph): New prototype.
38938 (pupa_isdigit): Likewise.
38939 (pupa_split_cmdline): Likewise.
38940 * include/pupa/normal.h: Include <pupa/arg.h>.
38941 (pupa_command): Changed the prototype of the member `func' to
38942 match the argument parsing interface. Added member `options'.
38943 (pupa_register_command): Updated to match function.
38944 (pupa_arg_parse): New prototype.
38945 (pupa_hello_init) [PUPA_UTIL]: New prototype.
38946 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
38947 (pupa_ls_init) [PUPA_UTIL]: Likewise.
38948 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
38949 (pupa_cat_init) [PUPA_UTIL]: Likewise.
38950 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
38951 (pupa_boot_init) [PUPA_UTIL]: Likewise.
38952 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
38953 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
38954 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
38955 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
38956 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
38957 * kern/disk.c: Include <pupa/file.h>.
38958 (pupa_print_partinfo): New function.
38959 * kern/dl.c: Include <pupa/env.h>.
38960 (pupa_dl_dir): Variable removed.
38961 (pupa_dl_load): Use the environment variable `prefix' instead of
38962 the variable pupa_dl_dir.
38963 (pupa_dl_set_prefix): Function removed.
38964 (pupa_dl_get_prefix): Likewise.
38965 * kern/i386/pc/init.c: Include <pupa/env.h>.
38966 (pupa_machine_init): Use the environment variable `prefix' instead of
38967 using pupa_dl_set_prefix to set the prefix.
38968 * kern/main.c: Include <pupa/env.h>.
38969 (pupa_set_root_dev): Use the environment variable `prefix' instead of
38970 using pupa_dl_get_prefix to get the prefix.
38971 * kern/misc.c: Include <pupa/env.h>.
38972 (pupa_isdigit): New function.
38973 (pupa_isgraph): Likewise.
38974 (pupa_ftoa): Likewise.
38975 (pupa_vsprintf): Added support for printing values of the type
38976 `double'. Make it possible to format variable output when using
38977 formatting like `%1.2%f'.
38978 (pupa_split_cmdline): New function.
38979 * kern/rescue.c: Include <pupa/env.h>.
38980 (next_word): Removed function.
38981 (pupa_rescue_cmd_prefix): Likewise.
38982 (pupa_rescue_cmd_set): New function.
38983 (pupa_rescue_cmd_unset): New function.
38984 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
38985 split the command line instead of splitting it here. Added
38986 support for setting variables using the syntax `foo=bar'. Don't
38987 initialize the prefix command anymore. Initialized the set and
38988 unset commands.
38989 * normal/cmdline.c: Include <pupa/env.h>.
38990 (pupa_tab_complete): Added prototypes for print_simple_completion,
38991 print_partition_completion, add_completion, iterate_commands,
38992 iterate_dev, iterate_part and iterate_dir. Moved code to print
38993 partition information from here to kern/disk.c.
fe6b695a 38994 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 38995 * normal/main.c: Include <pupa/env.h>.
38996 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
38997 instead of using pupa_dl_get_prefix to get the prefix.
38998 * term/i386/pc/vga.c: Include <pupa/arg.h>.
38999 (check_vga_mem): Cast pointers to `void *' to silence a gcc
39000 warning.
39001 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
39002 (pupa_vga_setcolor): Declare unused variables with `__attribute__
39003 ((unused))' to silence a gcc warning.
39004 (pupa_vga_setcolor): Likewise.
39005 (debug_command): Changed to match argument parsing
39006 interface changes.
39007 * util/pupa-emu.c: Include <pupa/env.h>.
39008 (options): Added 0's for unused fields to silence a gcc warning.
39009 (argp): Likewise.
39010 (main): Use the environment variable `prefix' instead of using
39011 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
39012 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
39013 and terminal.
39014
39015 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
39016 * util/misc.c: Include <malloc.h>.
39017 (pupa_malloc): Rewritten so errors are correctly reported.
39018 (pupa_realloc): Likewise.
39019 (pupa_memalign): Likewise.
39020 (pupa_mm_init_region): Declare unused variables with
39021 `__attribute__ ((unused))' to silence a gcc warning.
39022 * normal/i386/setjmp.S: Remove tab at the end of the file to
39023 silence a gcc warning.
39024 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
39025 variables with `__attribute__ ((unused))' to silence a gcc
39026 warning.
39027 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
39028 local variable i unsigned to silence a gcc warning.
39029
39030 * kern/term.c: Include <pupa/misc.h>.
39031 (pupa_more_lines): New variable.
39032 (pupa_more): Likewise.
39033 (pupa_putcode): When the pager is active pause at the end of every
39034 screen.
39035 (pupa_set_more): New function.
39036 * include/pupa/term.h (pupa_set_more): New prototype.
39037
39038
3b1139cb 390392004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
39040
39041 Now this project is GRUB 2 rather than PUPA. The location of
39042 the CVS repository was moved to GRUB's.
f19dbdb7 39043
3b1139cb 39044 * configure.ac: Use bug-grub as the reporting address.
39045 Use GRUB instead of PUPA.
39046 Change the version number to 1.90.
39047
8367695c 390482004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
39049
39050 * genkernsyms.sh: Updated copyright information.
39051 * genmk.rb: Likewise.
39052 * genmodsrc.sh: Likewise.
39053 * gensymlist.sh: Likewise.
39054 * boot/i386/pc/boot.S: Likewise.
39055 * boot/i386/pc/diskboot.S: Likewise.
39056 * disk/i386/pc/biosdisk.c: Likewise.
39057 * disk/i386/pc/partition.c: Likewise.
39058 * font/manager.c: Likewise.
39059 * fs/ext2.c: Likewise.
39060 * fs/fat.c: Likewise.
39061 * include/pupa/boot.h: Likewise.
39062 * include/pupa/device.h: Likewise.
39063 * include/pupa/disk.h: Likewise.
39064 * include/pupa/dl.h: Likewise.
39065 * include/pupa/elf.h: Likewise.
39066 * include/pupa/err.h: Likewise.
39067 * include/pupa/file.h: Likewise.
39068 * include/pupa/font.h: Likewise.
39069 * include/pupa/fs.h: Likewise.
39070 * include/pupa/kernel.h: Likewise.
39071 * include/pupa/loader.h: Likewise.
39072 * include/pupa/misc.h: Likewise.
39073 * include/pupa/mm.h: Likewise.
39074 * include/pupa/net.h: Likewise.
39075 * include/pupa/normal.h: Likewise.
39076 * include/pupa/rescue.h: Likewise.
39077 * include/pupa/setjmp.h: Likewise.
39078 * include/pupa/symbol.h: Likewise.
39079 * include/pupa/term.h: Likewise.
39080 * include/pupa/types.h: Likewise.
39081 * include/pupa/i386/setjmp.h: Likewise.
39082 * include/pupa/i386/types.h: Likewise.
39083 * include/pupa/i386/pc/biosdisk.h: Likewise.
39084 * include/pupa/i386/pc/boot.h: Likewise.
39085 * include/pupa/i386/pc/console.h: Likewise.
39086 * include/pupa/i386/pc/init.h: Likewise.
39087 * include/pupa/i386/pc/kernel.h: Likewise.
39088 * include/pupa/i386/pc/linux.h: Likewise.
39089 * include/pupa/i386/pc/loader.h: Likewise.
39090 * include/pupa/i386/pc/memory.h: Likewise.
39091 * include/pupa/i386/pc/multiboot.h: Likewise.
39092 * include/pupa/i386/pc/partition.h: Likewise.
39093 * include/pupa/i386/pc/time.h: Likewise.
39094 * include/pupa/i386/pc/vga.h: Likewise.
39095 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
39096 * include/pupa/util/getroot.h: Likewise.
39097 * include/pupa/util/misc.h: Likewise.
39098 * include/pupa/util/resolve.h: Likewise.
39099 * kern/device.c: Likewise.
39100 * kern/disk.c: Likewise.
39101 * kern/dl.c: Likewise.
39102 * kern/err.c: Likewise.
39103 * kern/file.c: Likewise.
39104 * kern/fs.c: Likewise.
39105 * kern/loader.c: Likewise.
39106 * kern/main.c: Likewise.
39107 * kern/misc.c: Likewise.
39108 * kern/mm.c: Likewise.
39109 * kern/rescue.c: Likewise.
39110 * kern/term.c: Likewise.
39111 * kern/i386/dl.c: Likewise.
39112 * kern/i386/pc/init.c: Likewise.
39113 * kern/i386/pc/lzo1x.S: Likewise.
39114 * kern/i386/pc/startup.S: Likewise.
39115 * loader/i386/pc/chainloader.c: Likewise.
39116 * loader/i386/pc/linux.c: Likewise.
39117 * loader/i386/pc/multiboot.c: Likewise.
39118 * normal/cmdline.c: Likewise.
39119 * normal/command.c: Likewise.
39120 * normal/main.c: Likewise.
39121 * normal/menu.c: Likewise.
39122 * normal/i386/setjmp.S: Likewise.
39123 * term/i386/pc/console.c: Likewise.
39124 * term/i386/pc/vga.c: Likewise.
39125 * util/console.c: Likewise.
39126 * util/genmoddep.c: Likewise.
39127 * util/misc.c: Likewise.
39128 * util/pupa-emu.c: Likewise.
39129 * util/resolve.c: Likewise.
39130 * util/unifont2pff.rb: Likewise.
39131 * util/i386/pc/biosdisk.c: Likewise.
39132 * util/i386/pc/getroot.c: Likewise.
39133 * util/i386/pc/pupa-mkimage.c: Likewise.
39134 * util/i386/pc/pupa-setup.c: Likewise.
39135
e6eced71 391362004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
39137
39138 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
39139 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
39140 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
39141 reading and reset it after reading.
39142 (pupa_ext2_close): Return PUPA_ERR_NONE.
39143
39144 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
39145 Correct value.
39146 (struct linux_kernel_header): Add kernel_version and
39147 initrd_addr_max.
39148 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
39149 pupa_file_read succeeds.
39150 (pupa_rescue_cmd_initrd): Implement.
39151
5aded270 391522003-12-03 Marco Gerards <metgerards@student.han.nl>
39153
39154 * fs/ext2.c (pupa_ext2_label): New function.
39155 (pupa_ext2_fs): Added label.
39156 * fs/fat.c (pupa_fat_label): New function.
39157 (pupa_fat_fs): Added label.
39158 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
39159
39160 * kern/misc.c (pupa_strndup): New function.
39161 * include/pupa/misc.h (pupa_strndup): New prototype.
39162
39163 * include/pupa/normal.h: Include <pupa/err.h>.
39164 (pupa_set_history): New prototype.
39165 (pupa_iterate_commands): New prototype.
39166 * normal/cmdline.c: Include <pupa/machine/partition.h>,
39167 <pupa/disk.h>, <pupa/file.h>.
39168 (hist_size): New variable.
39169 (hist_lines): Likewise.
39170 (hist_end): Likewise.
39171 (hist_used): Likewise.
39172 (pupa_set_history): New function.
39173 (pupa_history_get): Likewise.
39174 (pupa_history_add): Likewise.
39175 (pupa_history_replace): Likewise.
39176 (pupa_tab_complete): Likewise.
39177 (pupa_cmdline_run): Added tab completion and history buffer. Tab
39178 completion shows partitionnames while completing partitions, this
39179 feature was suggested by Jeff Bailey.
39180 * normal/command.c (pupa_iterate_commands): New function.
39181 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
39182 (pupa_normal_init): Initialize history buffer.
39183 (PUPA_MOD_INIT): Likewise.
39184 (pupa_normal_fini): Free the history buffer.
39185 (PUPA_MOD_FINI): Likewise.
39186
39187 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
39188 key.
39189
39190 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
39191 * configure.ac [i386]: Check for regparam bug.
39192 (NESTED_FUNC_ATTR) [! i386]: Defined.
39193
1f7315a3 391942003-11-17 Marco Gerards <metgerards@student.han.nl>
39195
39196 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
39197 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
39198 (pupa_emu_SOURCES): New variable.
39199 (pupa_emu_LDFLAGS): Likewise.
39200 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
39201 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
39202 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
39203 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
39204 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
39205 (pupa_jmp_buf): New typedef.
39206 (pupa_setjmp) [PUPA_UTIL]: New macro.
39207 (pupa_longjmp) [PUPA_UTIL]: Likewise.
39208 * include/pupa/term.h (struct pupa_term): New member `refresh'.
39209 (pupa_refresh): New prototype.
39210 * include/pupa/util/getroot.h: New file.
39211 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
39212 it.
39213 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
39214 (pupa_rescue_cmd_cat): Likewise.
39215 (pupa_rescue_cmd_ls): Likewise.
39216 (pupa_rescue_cmd_testload): Likewise.
39217 (pupa_rescue_cmd_lsmod): Likewise.
39218 * normal/cmdline.c (pupa_cmdline_get): Likewise.
39219 * normal/menu.c (run_menu): Likewise.
39220 * kern/term.c (pupa_cls): Likewise.
39221 (pupa_refresh): New function.
39222 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
39223 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
39224 * util/console.c: New file.
f19dbdb7 39225
1f7315a3 39226 * util/i386/pc/getroot.c: New file.
39227 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
39228 (pupa_putchar): New function.
39229 (pupa_refresh): Likewise.
39230 (xgetcwd): Function moved to ...
39231 (strip_extra_slashes): Likewise.
39232 (get_prefix): Likewise.
f19dbdb7 39233 * util/i386/pc/getroot.c: ... here.
1f7315a3 39234 (find_root_device): Function moved and renamed to...
39235 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
39236 Changed all callers.
39237 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
39238 and renamed to...
39239 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
39240 Changed all callers.
39241 * util/misc.c (pupa_memalign): New function.
39242 (pupa_mm_init_region): Likewise.
39243 (pupa_register_exported_symbols): Likewise.
39244 (pupa_putchar): Function removed.
39245 * util/pupa-emu.c: New file.
39246
9a5c1ade 392472003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
39248
39249 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
39250 (_multiboot_mod_SOURCES): New variable.
39251 (_multiboot_mod_CFLAGS): Likewise.
39252 * loader/i386/pc/multiboot.c: New file.
39253 * include/pupa/i386/pc/multiboot.h: Likewise.
39254 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
39255 (pupa_multiboot_real_boot): New function.
39256 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
39257 (pupa_multiboot_real_boot): New prototype.
39258 (pupa_rescue_cmd_multiboot): Likewise
39259 (pupa_rescue_cmd_module): Likewise.
39260
39261 * kern/loader.c (pupa_loader_set): Continue when
39262 pupa_loader_unload_func() fails.
39263 (pupa_loader_unset): New function.
39264 * include/pupa/loader.h (pupa_loader_unset): New prototype.
39265
39266 * kern/misc.c (pupa_stpcpy): New function.
39267 * include/pupa/misc.h (pupa_stpcpy): New prototype.
39268
8e72a9c0 392692003-11-12 Marco Gerards <metgerards@student.han.nl>
39270
39271 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
39272 for available extensions.
39273
39274 * include/pupa/i386/pc/time.h: New file.
39275 * kern/disk.c: Include <pupa/machine/time.h>.
39276 (PUPA_CACHE_TIMEOUT): New macro.
39277 (pupa_last_time): New variable.
39278 (pupa_disk_open): Flush the cache when there was a timeout.
39279 (pupa_disk_close): Reset the timer.
39280 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
39281 pupa_currticks.
39282 * util/misc.c: Include <sys/times.h>
39283 (pupa_get_rtc): New function.
39284
c4adbd32 392852003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
39286
39287 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
39288 as blocks.
39289 (pupa_ext2_get_file_block): Use blocks member.
39290
39291 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
39292 first block. Return -1 instead of pupa_errno on error.
39293
bfd30f06 392942003-10-27 Marco Gerards <metgerards@student.han.nl>
39295
39296 * README: In the pupa-mkimage example use _chain instead of chain
39297 and ext2 instead of fat.
39298 * TODO: Replace ext2fs with jfs as an example. Add an item for
39299 adding journal playback for ext2fs.
39300 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
39301 (pkgdata_MODULES): Added ext2.mod.
39302 (ext2_mod_SOURCES): New variable.
39303 (ext2_mod_CFLAGS): Likewise.
39304 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
39305 * include/pupa/misc.h (pupa_strncpy): New prototype.
39306 (pupa_strcat): Likewise.
39307 (pupa_strncmp): Likewise.
39308 * kern/misc.c (pupa_strcat): Enable function.
39309 (pupa_strncpy): New function.
39310 (pupa_strncmp): Likewise.
39311 * fs/ext2.c: New file.
f19dbdb7 39312
bfd30f06 39313 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
39314 when the read failed before retrying.
39315 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
39316 (_FILE_OFFSET_BITS): Likewise.
39317 * configure.ac: Added AC_SYS_LARGEFILE.
39318
98d15063 393192003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
39320
39321 * genmk.rb (PModule#rule): Make sure to get only symbol names
39322 from the output of nm.
59cad637 39323 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 39324
18d9c7cd 393252003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
39326
39327 I forgot to check in these changes for a long time. This adds
39328 incomplete support for VGA console, and this is still very
39329 buggy. Also, a lot of consideration is required for I18N,
39330 UNICODE, and VGA font issues. Therefore, assume that this is
39331 such that "better than nothing".
f19dbdb7 39332
18d9c7cd 39333 * font/manager.c: New file.
39334 * include/pupa/font.h: Likewise.
39335 * include/pupa/i386/pc/vga.h: Likewise.
39336 * term/i386/pc/vga.c: Likewise.
39337 * util/unifont2pff.rb: Likewise.
39338
39339 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
39340 (pkgdata_MODULES): Added vga.mod and font.mod.
39341 (vga_mod_SOURCES): New variables.
39342 (vga_mod_CFLAGS): Likewise.
39343 (font_mod_SOURCES): Likewise.
39344 (font_mod_CFLAGS): Likewise.
39345
39346 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
39347
39348 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 39349 (struct pupa_term): Added init and fini.
18d9c7cd 39350 Changed the argument of putchar to pupa_uint32_t.
39351
39352 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
39353 (pupa_console_real_putchar): New prototype.
39354 (pupa_console_putchar): Removed.
39355 (pupa_console_checkkey): Exported.
39356 (pupa_console_getkey): Likewise.
39357
39358 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
39359 characters.
39360
39361 * kern/term.c (pupa_term_set_current): Rewritten.
39362 (pupa_putchar): Likewise.
39363 (pupa_putcode): New function.
39364
39365 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
39366 (pupa_console_real_putchar): ... this.
39367 (pupa_vga_set_mode): New function.
39368 (pupa_vga_get_font): Likewise.
39369
39370 * normal/command.c: Include pupa/term.h.
39371 (terminal_command): New function.
39372 (pupa_command_init): Register the command "terminal".
39373
39374 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
39375 (DISP_UP): Likewise.
39376 (DISP_RIGHT): Likewise.
39377 (DISP_DOWN): Likewise.
39378 (DISP_HLINE): Likewise.
39379 (DISP_VLINE): Likewise.
39380 (DISP_UL): Likewise.
39381 (DISP_UR): Likewise.
39382 (DISP_LL): Likewise.
39383 (DISP_LR): Likewise.
39384
39385 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 39386
977329f5 393872003-02-08 NIIBE Yutaka <gniibe@m17n.org>
39388
39389 * util/resolve.c (pupa_util_resolve_dependencies): BUG
39390 FIX. Reverse the path_list.
39391
39392 * include/pupa/normal.h: Export pupa_register_command and
39393 pupa_unregister_command.
39394
39395 * hello/hello.c (pupa_cmd_hello): New module.
39396 * conf/i386-pc.rmk: Added hello.mod.
39397
1f5ab428 393982003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
39399
39400 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 39401
1f5ab428 39402 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
39403 (compress_kernel): New variable.
39404 (generate_image): Heavily modified to support compressing a
39405 large part of the core image.
39406
39407 * util/misc.c (pupa_util_read_image): Fix a file descriptor
39408 leak.
39409 (pupa_util_load_image): New function.
39410
39411 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
39412 (pupa_compressed_size): New variable.
39413 (codestart): Enable Gate A20 here.
39414 Decompress the compressed part of the core image.
39415 Rearrange the code to put functions and variables which are
39416 required for initialization in the non-compressed part.
39417 Include lzo1x.S.
39418
39419 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
39420 here.
39421
39422 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
39423
f19dbdb7 39424 * include/pupa/i386/pc/kernel.h
1f5ab428 39425 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
39426 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
39427 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
39428 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
39429 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
39430
39431 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
39432
39433 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
39434 (Utility#rule): Likewise.
39435
39436 * configure.ac: Check if LZO is available.
39437
ce5bf700 394382003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
39439
39440 * include/pupa/normal.h: New file.
39441 * include/pupa/setjmp.h: Likewise.
39442 * include/pupa/i386/setjmp.h: Likewise.
39443 * normal/cmdline.c: Likewise.
39444 * normal/command.c: Likewise.
39445 * normal/main.c: Likewise.
39446 * normal/menu.c: Likewise.
39447 * normal/i386/setjmp.S: Likewise.
f19dbdb7 39448
ce5bf700 39449 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
39450 (pupa_rescue_cmd_initrd): Likewise.
39451
39452 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
39453 Likewise.
39454
39455 * kern/i386/pc/startup.S (translation_table): New variable.
39456 (translate_keycode): New function.
39457 (pupa_console_getkey): Call translate_keycode.
39458
39459 * kern/rescue.c (attempt_normal_mode): New function.
39460 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
39461 it failed, print a message.
39462
39463 * kern/mm.c (pupa_real_malloc): Print more information when a
39464 free magic is broken.
39465 (pupa_free): If the first free header is not free actually, set
39466 it to P.
39467
39468 * kern/main.c (pupa_load_normal_mode): Just load the module
39469 "normal".
39470 (pupa_main): Don't print the message
39471 "Entering into rescue mode..." here.
39472
39473 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
39474 Declared.
39475 (pupa_rescue_cmd_initrd): Likewise.
39476 (pupa_rescue_cmd_initrd): Likewise.
39477
39478 * include/pupa/symbol.h (FUNCTION): Specify the type.
39479 (VARIABLE): Likewise.
39480
39481 * include/pupa/err.h (pupa_err_t): Added
39482 PUPA_ERR_UNKNOWN_COMMAND.
39483
39484 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
39485 (pupa_dl_get_prefix): Likewise.
39486
39487 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
39488 Added _chain.mod and _linux.mod instead of chain.mod and
39489 linux.mod.
39490 (chain_mod_SOURCES): Renamed to ...
39491 (_chain_mod_SOURCES): ... this.
39492 (chain_mod_CFLAGS): Renamed to ...
39493 (_chain_mod_CFLAGS): ... this.
39494 (linux_mod_SOURCES): Renamed to ...
39495 (_linux_mod_SOURCES): ... this.
39496 (linux_mod_CFLAGS): Renamed to ...
39497 (_linux_mod_CFLAGS): ... this.
39498 (normal_mod_SOURCES): New variable.
39499 (normal_mod_CFLAGS): Likewise.
39500 (normal_mod_ASFLAGS): Likewise.
39501
395022003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
39503
39504 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
39505 possible.
39506
fe6b695a 39507 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 39508 recursively.
39509 (pupa_dl_unref): Unrefer depending modules recursively.
39510 Don't call pupa_dl_unload implicitly, because PUPA can crash if
39511 a module is unloaded before one depending on that module is
39512 unloaded.
39513 (pupa_dl_unload): Unload depending modules explicitly,
39514 if possible.
39515
c04da074 395162003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
39517
39518 * include/pupa/i386/pc/linux.h: New file.
39519 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 39520
c04da074 39521 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
39522 Removed.
39523 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
39524 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
39525 of PUPA_CHAINLOADER_BOOT_SECTOR.
39526
39527 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
39528 (pupa_linux_prot_size): New variable.
39529 (pupa_linux_tmp_addr): Likewise.
39530 (pupa_linux_real_addr): Likewise.
39531 (pupa_linux_boot_zimage): New function.
39532 (pupa_linux_boot_bzimage): Likewise.
39533
39534 * kern/i386/pc/init.c (struct mem_region): New structure.
39535 (MAX_REGIONS): New macro.
39536 (mem_regions): New variable.
39537 (num_regions): Likewise.
39538 (pupa_os_area_addr): Likewise.
39539 (pupa_os_area_size): Likewise.
39540 (pupa_lower_mem): Likewise.
39541 (pupa_upper_mem): Likewise.
39542 (add_mem_region): New function.
39543 (compact_mem_regions): Likewise.
39544 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
39545 the size of the conventional memory and that of so-called upper
39546 memory (before the first memory hole).
39547 Instead of adding each found region to free memory, use
39548 add_mem_region and add them after removing overlaps.
39549 Also, add only 1/4 of the upper memory to free memory. The rest
39550 is used for loading OS images. Maybe this is ad hoc, but this
39551 makes it much easier to relocate OS images when booting.
39552
39553 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
39554 (pupa_enter_rescue_mode): Don't register initrd and module.
39555
39556 * kern/mm.c: Include pupa/dl.h.
39557
39558 * kern/main.c: Include pupa/file.h and pupa/device.h.
39559
39560 * kern/loader.c (pupa_loader_load_module_func): Removed.
39561 (pupa_loader_load_module): Likewise.
39562
39563 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
39564 ``.o''.
39565
39566 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
39567 (pupa_linux_tmp_addr): Likewise.
39568 (pupa_linux_real_addr): Likewise.
39569 (pupa_linux_boot_zimage): Likewise.
39570 (pupa_linux_boot_bzimage): Likewise.
39571
39572 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
39573 (pupa_upper_mem): Likewise.
39574 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
39575 module is too dangerous.
39576
39577 * include/pupa/loader.h (pupa_os_area_addr): Declared.
39578 (pupa_os_area_size): Likewise.
39579 (pupa_loader_set): Remove the first argument. Loader doesn't
39580 manage modules or initrd any longer.
39581 (pupa_loader_load_module): Removed.
39582
39583 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
39584 (linux_mod_SOURCES): New variable.
39585 (linux_mod_CFLAGS): Likewise.
39586
a13f9237 395872003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
39588
39589 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
39590 the length of a blocklist correctly.
39591
39592 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
39593 Use ioctl only if the OS file is a block device.
39594 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
39595 not very useful for normal files.
39596
39597 * kern/main.c (pupa_set_root_dev): New function.
39598 (pupa_load_normal_mode): Likewise.
39599 (pupa_main): Call those above.
39600
39601 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
39602 pupa_uint16_t.
39603
39604 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
39605
a5ffe966 396062003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
39607
39608 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
39609 (setup): Configure the installed partition information and the
39610 dl prefix.
39611
39612 * loader/i386/pc/chainloader.c (my_mod): New variable.
39613 (pupa_chainloader_unload): New function.
39614 (pupa_rescue_cmd_chainloader): Refer itself.
39615 (PUPA_MOD_INIT): Save its own module in MY_MOD.
39616
39617 * kern/i386/pc/startup.S (install_partition): Removed.
39618 (version_string): Likewise.
39619 (config_file): Likewise.
39620 (pupa_install_dos_part): New variable.
39621 (pupa_install_bsd_part): Likewise.
39622 (pupa_prefix): Likewise.
39623 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
39624
39625 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
39626 and pupa/misc.h.
39627 (make_install_device): New function.
39628 (pupa_machine_init): Set the dl prefix.
39629
39630 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
39631 (buf): Renamed to ...
39632 (linebuf): ... this.
39633 (pupa_rescue_cmd_prefix): New function.
39634 (pupa_rescue_cmd_insmod): Likewise.
39635 (pupa_rescue_cmd_rmmod): Likewise.
39636 (pupa_rescue_cmd_lsmod): Likewise.
39637 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
39638 rmmod and lsmod.
39639
39640 * kern/mm.c (pupa_memalign): If failed even after invalidating
39641 disk caches, unload unneeded modules and retry.
39642
39643 * kern/misc.c (pupa_memmove): New function.
39644 (pupa_memcpy): Removed.
39645 (pupa_strcpy): New function.
39646 (pupa_itoa): Made static.
39647
39648 * kern/dl.c (pupa_dl_iterate): New function.
39649 (pupa_dl_ref): Likewise.
39650 (pupa_dl_unref): Likewise.
39651 (pupa_dl_unload): Return if succeeded or not.
39652 (pupa_dl_unload_unneeded): New function.
39653 (pupa_dl_unload_all): Likewise.
39654 (pupa_dl_init): Renamed to ...
39655 (pupa_dl_set_prefix): ... this.
39656 (pupa_dl_get_prefix): New function.
39657
39658 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
39659 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
39660 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
39661 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
39662 (pupa_install_dos_part): Declared.
39663 (pupa_install_bsd_part): Likewise.
39664 (pupa_prefix): Likewise.
39665 (pupa_boot_drive): Likewise.
39666
39667 * include/pupa/types.h: Fix a typo.
39668
39669 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
39670 pupa_memmove.
39671 (pupa_memmove): Declared.
39672 (pupa_strcpy): Likewise.
39673
39674 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
39675 pupa_mod_init takes one argument, its own module.
39676 (pupa_dl_unload_unneeded): Declared.
39677 (pupa_dl_unload_all): Likewise.
39678 (pupa_dl_ref): Likewise.
39679 (pupa_dl_unref): Likewise.
39680 (pupa_dl_iterate): Likewise.
39681 (pupa_dl_init): Renamed to ...
39682 (pupa_dl_set_prefix): ... this.
39683 (pupa_dl_get_prefix): Declared.
39684
39685 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 39686 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 39687 unloaded.
39688 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
39689 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
39690
39691 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
39692 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
39693
012d7999 396942003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
39695
39696 * util/i386/pc/pupa-setup.c (setup): Define the internal
39697 function find_first_partition_start at the top level, because GCC
39698 3.0.x cannot compile internal functions in deeper scopes
39699 correctly.
39700 (find_root_device): Use lstat instead of stat.
39701 Don't follow symbolic links.
39702 Fix the path-constructing code.
39703
39704 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
39705 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
39706 by a BLKGETSIZE ioctl first, because block devices don't fill
39707 the member st_mode of the structure stat on Linux.
39708 [__linux__] (linux_find_partition): Use a temporary buffer
39709 REAL_DEV for the working space. Copy it to DEV before returning.
39710 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
39711 buffer cache consistent.
39712 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
39713 strncmp. The previous value was merely wrong.
39714 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
39715
39716 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
39717 FAT size is 12. The previous value was merely wrong.
39718
39719 * kern/main.c (pupa_main): Don't split the starting message from
39720 newlines.
39721
39722 * kern/term.c (pupa_putchar): Put CR after LF instead of before
39723 LF, because BIOS goes crazy about character attributes in this
39724 case.
39725
1cc73a62 397262003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
39727
39728 * include/i386/pc/util/biosdisk.h: New file.
39729 * util/i386/pc/biosdisk.c: Likewise.
39730 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 39731
1cc73a62 39732 * Makefile.in (INCLUDE_DISTFILES): Added
39733 include/pupa/i386/pc/util/biosdisk.h.
39734 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
39735 directory util/i386/pc.
39736 (install-local): Added a rule for sbin_UTILITIES.
39737 (uninstall): Likewise.
39738
39739 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
39740
39741 * util/misc.c (xrealloc): New function.
39742 (pupa_malloc): Likewise.
39743 (pupa_free): Likewise.
39744 (pupa_realloc): Likewise.
39745 (pupa_stop): Likewise.
39746 (pupa_putchar): Likewise.
39747
39748 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
39749
39750 * include/pupa/util/misc.h (xrealloc): Declared.
39751
39752 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
39753 macro.
39754 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
39755 (PUPA_BOOT_MACHINE_BPB_END): ... this.
39756
39757 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
39758 [PUPA_UTIL] (pupa_fat_fini): Likewise.
39759
39760 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
39761 way should be implemented.
39762 [PUPA_UTIL] (pupa_fat_fini): Likewise.
39763
39764 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
39765 the size of NAME for safety.
39766 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
39767 0x88.
39768
39769 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
39770 (pupa_setup_SOURCES): Likewise.
39771
39772 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
39773
08b70fe8 397742002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
39775
39776 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
39777 bunch of pushl's from pusha, because this destroys the return
39778 value.
39779
62ddcc8f 397802002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
39781
39782 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
39783 This means that any missing prototypes could be fatal. Also, you
39784 must take care when writing assembly code. See the comments at
39785 the beginning of startup.S, for more details.
f19dbdb7 39786
62ddcc8f 39787 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
39788 compilation mechanism.
39789 (pupa_chainloader_real_boot): Likewise.
39790 (pupa_biosdisk_rw_int13_extensions): Likewise.
39791 (pupa_biosdisk_rw_standard): Likewise.
39792 (pupa_biosdisk_check_int13_extensions): Likewise.
39793 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
39794 (pupa_biosdisk_get_diskinfo_standard): Likewise.
39795 (pupa_get_memsize): Likewise.
39796 (pupa_get_mmap_entry): Likewise.
39797 (pupa_console_putchar): Likewise.
39798 (pupa_console_setcursor): Likewise.
39799 (pupa_getrtsecs): Use pushl instead of push.
39800
39801 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
39802 memory instead of the stack for a mmap entry, because some
39803 BIOSes may ignore the maximum size and overflow.
39804
39805 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
39806
39807 * genmk.rb (PModule#rule): Compile automatically generated
39808 sources with module-specific CFLAGS as well as other sources.
39809
9962ed99 398102002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
39811
39812 * configure.ac: Check ld.
39813 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
39814 respectively, before checking endianness and sizes.
39815
39816 * Makefile.in (LD): New variable.
f19dbdb7 39817
abdfc3c5 398182002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
39819
39820 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
39821
6a161fa9 398222002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
39823
39824 * Changelog: New file.
39825