]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/mmap/i386/pc/mmap.c (malloc_hook):
[grub2.git] / ChangeLog
CommitLineData
efbeefe9
VS
12012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
4 Allocate in multiples of 16 to avoid adding a few bytes free region the
5 windows bugs upon.
6
15a940bb
VS
72012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
8
9 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
10 Allocate in multiples of 16 to avoid adding a few bytes free region the
11 windows bugs upon.
12 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
13
6e5efd60
VS
142012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15
16 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
17 resolutions.
18 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
19 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
20
0d3d137e
IS
212012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
22
23 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
24
45dbe300
VS
252012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26
27 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
28 resulted in \\ at the end of the line.
29
6d8db947
VS
302012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
31
32 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
33 (grub_parser_cmdline_state): Likewise.
34 (grub_parser_split_cmdline): Likewise.
35
de89d338
VS
362012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
37
38 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
39 /dev/root and /dev/dm-*.
40
00d41dee
VS
412012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
42
43 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
44 fix partially stale display.
45
f95d1f11
VS
462012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
47
48 * grub-core/normal/menu_entry.c (backward_char): Use right line for
49 substraction.
50
6297e197
VS
512012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
52
53 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
54 Fix MBR remapping workaround.
55 (grub_util_biosdisk_read) [__linux__]: Likewise.
56
8a7ecad3
VS
572012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
58
59 * util/grub-install.in: Check for ieee1275 and not ieee1276.
60
2b34f944
VS
612012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
62
63 * configure.ac: Bump to beta6.
64
684aef11
CW
652012-05-31 Christer Weinigel <christer@weinigel.se>
66
67 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
68
05b0bb91
VS
692012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
70
71 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
72 (grub_cmd_linux): Likewise.
73
bda36bfa
CW
742012-05-31 Christer Weinigel <christer@weinigel.se>
75
76 Fix EHCI low-speed.
77
78 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
79 (GRUB_EHCI_MULT_TWO): Likewise.
80 (GRUB_EHCI_MULT_THREE): Likewise.
81 (GRUB_EHCI_CMASK_MASK): New enum value.
82 (GRUB_EHCI_SMASK_MASK): Likewise.
83 (GRUB_EHCI_CMASK_OFF): Likewise.
84 (GRUB_EHCI_SMASK_OFF): Likewise.
85 (grub_ehci_pci_iter): Enable periodic schedule.
86 (grub_ehci_parse_notrun): Likewise.
87 (grub_ehci_restore_hw): Likewise.
88 (grub_ehci_setup_qh): Set flags for low speed transfers.
89 (grub_ehci_find_qh): Use periodic list for low speed.
90 (grub_ehci_setup_transfer): Check periodic queue as well.
91 (grub_ehci_check_transfer): Likewise.
92 (grub_ehci_cancel_transfer): Cancel periodic transfer.
93
e12bcb1c
PFS
942012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
95
96 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
97 parameter is used.
98
bcc75fb3
PJ
992012-05-31 Peter Jones <pjones@redhat.com>
100
101 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
102 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
103 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
104
f19cb95e
VS
1052012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
106
107 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
108 uninited variable. Allocate at least setup_sects.
109
a4e5ca80
VS
1102012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
111
112 Fix handling of EFI with big memory maps.
113
114 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
115 (real_mode_mem): Likewise.
116 (real_mode_target): Likewise.
117 (real_mode_pages): Likewise.
118 (prot_mode_pages): Likewise.
119 (linux_params): New var.
120 (linux_cmdline): Likewise.
121 (free_pages): Don't set real mode variables.
122 (allocate_pages): Don't allocate real mode memory.
123 (grub_e820_add_region): Remove the limit.
124 (grub_linux_boot): Allocate and copy real mode memory.
125 (grub_linux_unload): Free linux_cmdline.
126 (grub_cmd_linux): Use temporary storage for parameters.
127 (grub_cmd_initrd): Likewise.
128 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
129 (linux_kernel_params): Make it 1K big.
130
ddb73558
VS
1312012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
132
133 * Makefile.util.def: Remove -Wno-format.
134 * grub-core/Makefile.core.def: Likewise.
135
1c4afb60
VS
1362012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
137
138 * tests/cmp_unit_test.c: Add missing failure message.
139 * tests/example_unit_test.c: Likewise.
140 * tests/printf_unit_test.c: Likewise.
141
941e3a6d
VS
1422012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
143
144 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
145 relaxation of protective MBR requirements.
146
b105df76
VS
1472012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
148
149 * configure.ac: Add condition for COND_HOST_XNU.
150 * Makefile.util.def (10_xnu): New script.
151 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
152
84e1569e
VS
1532012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
154
155 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
156 objconv bug.
157
130c0f77
VS
1582012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
159
160 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
161 Binary on other platforms stays identical.
162
6fd0b143
VS
1632012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
164
165 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
166 Apple.
167
0af1751d
VS
1682012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
169
170 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
171
176d5f7d
VS
1722012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
173
174 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
175 rather than defining size_t ourselves to avoid conflict.
176
7de5e20a
VS
1772012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
178
179 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
180 initialisation to avoid __bzero reference.
181
f7143efe
VS
1822012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
185 version.
186 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
187 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
188 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
189 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
190 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
191
e6ad0555
VS
1922012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
193
194 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
195 * grub-core/kern/misc.c: Likewise.
196 * grub-core/loader/i386/xnu.c: Likewise.
197 * include/grub/i386/tsc.h: Likewise.
198 * include/grub/symbol.h: Likewise.
199
4a5a3c4a
VS
2002012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
201
202 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
203 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
204 on older compiler.
205
037f6d90
VS
2062012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
207
208 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
209 Implement Apple flavour.
210 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
211
f7194551
VS
2122012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
213
214 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
215 (memmove) [__APPLE__]: Likewise.
216 (memcpy) [__APPLE__]: Likewise.
217 (memset) [__APPLE__]: Likewise.
218 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
219 (memmove) [__APPLE__]: Likewise.
220 (memcpy) [__APPLE__]: Likewise.
221 (memset) [__APPLE__]: Likewise.
222
85a730ca
VS
2232012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
224
225 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
226 dependency discard.
227
40e80b94
VS
2282012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * grub-core/normal/main.c (read_config_file): Provide config_file and
231 config_directory.
232 * util/grub.d/41_custom.in: Use config_directoy when available.
233
9da59c32
VS
2342012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
235
236 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
237 (grub_bfs_dir): Likewise.
238
2787ae53
PJ
2392012-05-27 Peter Jones <pjones@redhat.com>
240
241 The old code gives arguments to a printf function which can't work
242 correctly, and the compiler complains.
243
244 * grub-core/tests/example_functional_test.c (example_test): Add
245 missing text.
246 * grub-core/tests/lib/test.c (add_failure): Rewrite.
247 * include/grub/test.h (grub_test_assert_helper): New declaration.
248 (grub_test_assert): Use grub_test_assert_helper.
249
526ef13d
VS
2502012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
251
252 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
253 (exfctest): ... this to avoid overlong filenames.
254 All users updated.
255
20dd511c
VS
2562012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
257
258 Handle "." and ".." on squashfs.
259
260 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
261 Make inode numbers into stack.
262 (grub_squash_read_symlink): Use stack.
263 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
264 (make_root_node): Fill stack.
265 (grub_squash_open): Use stack.
266
1d80c62a
VS
2672012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
268
269 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
270 freeing.
271
d336f652
VS
2722012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
273
274 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
275 stderr on test calls.
276
8b43f587
VS
2772012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
278
279 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
280
80a3dc3f
VS
2812012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
282
283 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
284
47e297d4
VS
2852012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
286
287 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
288 "..".
289
df042ccb
VS
2902012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
291
292 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
293 (grub_hfsplus_iterate_dir): Add "." and "..".
294
fc977f48
VS
2952012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
296
297 * grub-core/fs/cpio.c (canonicalize): Handle "..".
298 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
299
f3250e5f
VS
3002012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
301
302 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
303 (find_path): Handle "." and "..".
304
fd8ed4c5
VS
3052012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
306
307 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
308 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
309 (grub_affs_iterate_dir): Handle hardlinks.
310
4ce776d2
MG
3112012-05-26 Matthew Garrett <mjg@redhat.com>
312
313 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
314 (grub_efi_console_fini): Likewise.
315 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
316 (grub_video_gop_fill_mode_info): Rename to ...
317 (grub_video_gop_fill_real_mode_info): ... this.
318 (grub_video_gop_fill_mode_info): New function.
319 (grub_video_gop_setup): Setup double framebuffer.
320 (grub_video_gop_get_info_and_fini): Use original framebuffer.
321 Free offscreen.
322 (grub_video_gop_swap_buffers): Copy framebuffer.
323 (grub_video_gop_fini): Free offscreen buffer.
324 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
325 New enum.
326 (grub_efi_gop_blt_pixel): New struct.
327
683031ba
VS
3282012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
329
330 * gentpl.py: Remove error disabling for objconv.
331
c2deb798
VS
3322012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
333
334 * configure.ac: Remove -Wunitialized as it's not available on older
335 compilers.
336
3372012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
338
339 Fix extent overflow comparator.
340
341 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
342 (grub_hfsplus_read_block): Set type.
343 (grub_hfsplus_cmp_extkey): Compare type.
344
d6b1fd36
VS
3452012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
346
347 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
348
0a9aa0f6
VS
3492012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
350
351 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
352 than 0.
353
8360e159
VS
3542012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
355
356 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
357 (dejavu_bold_14.pf2): New target.
358
501b9e4b
VS
3592012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
360
361 * configure.ac: Fix djvu font detection.
362
7026b0e2
VS
3632012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
364
365 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
366 ext* instead of ext2.
367
c2a51ade
VS
3682012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
369
370 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
371 name with \0.
372
8f803a5d
JU
3732012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
374
375 * docs/grub-dev.texi: Remove dot from .png.
376
13c6353f
VS
3772012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
378
379 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
380 protective entry in any slot.
381 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
382 if protective entry is found in any slot.
383
384 Protective entry in non-first slot make no sense but is a widespread
385 brain damage.
386
4cf6be1b
VS
3872012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
388
389 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
390
937d1c44
VS
3912012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
392
393 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
394 with old reiserfs.
395 (grub_reiserfs_open): Don't free root.
396
021d90ec
VS
3972012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
398
399 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
400 after freeing for safety.
401
967b2b64
VS
4022012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
403
404 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
405 Reported by: Jordan Uggla.
406
34274d02
JU
4072012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
408
967b2b64
VS
409 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
410 actual implementation. Specifically, clarify that the grub menu will
411 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
412 passed.
34274d02 413
dcaaae9d
BH
4142012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
415
416 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
417 of r0.
418
7086ad52
VS
4192012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
420
421 Remove unjustified hard dependency of normal.mod on gfxterm.
422
423 * include/grub/term.h (grub_term_output): New member fullscreen.
424 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
425 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
426 (grub_gfxterm): Set .fullscreen.
427 * grub-core/normal/menu.c (menu_init): Use fullscreen.
428 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
429
37ed2c9b
VS
4302012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
431
432 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
433 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 434 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 435
a4469c88
VS
4362012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
437
438 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
439
4e461486
VS
4402012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
441
442 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
443 a bad FS.
444
aa78f5c4
VS
4452012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
446
447 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
448 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
449
197626b5
VS
4502012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
451
452 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
453 (grub_jfs_mount): Fill caseins.
454 (grub_jfs_find_file): Respect caseins.
455
8ad3f28c
VS
4562012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
457
458 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
459 through UTF-16.
460
0c6c324e
VS
4612012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
462
463 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
464 New argument origpath. All users updated.
465
c6666ba6
VS
4662012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
467
468 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
469 (read_attr): Ensure that we read start of possibly compressed block.
470
e28e5fe5
VS
4712012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
472
473 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
474 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
475 All users updated.
476
5fc23ab2
VS
4772012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
478
479 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
480 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
481 (dejavu.pf2): Replace with ...
482 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
483 this.
484
79dbc21c
VS
4852012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
486
487 * util/grub.d/20_linux_xen.in: Add missing line.
488
d2fcfb0c
VS
4892012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
490
491 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
492 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
493 (grub_utf16_to_utf8): Likewise.
494
5560e9d6
VS
4952012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
496
497 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
498 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
499 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
500 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
501 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
502 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
503
5042012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
505
506 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
507 a bad FS.
508
5560e9d6 5092012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
510
511 * grub-core/fs/udf.c (read_string): Bail out on size=0.
512 (grub_udf_read_symlink): Handle read_string failure.
513
5eae3175
VS
5142012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
515
516 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
517 comment.
518
c1ad82db
VS
5192012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
520
521 Fix handling of UDF symlinks.
522
523 * grub-core/fs/udf.c (read_string): New argument outbuf.
524 All users updated.
525 (grub_ufs_read_symlink): Rename to ...
526 (grub_udf_read_symlink): ... this. All users updated.
527 Handle symlinks with more than one component.
528
33eca6e0
VS
5292012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
530
531 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
532 symlinks. Replace leading colon with a slash.
533
57f4a70b
VS
5342012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
535
536 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
537 filename.
538
38c8ee20
VS
5392012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
540
541 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
542 match in inner node.
543
2e57f28f
VS
5442012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
547 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
548 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
549 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
550 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
551 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
552 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
553 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
554 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
555
fe8c2f11
VS
5562012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
557
558 Use grub-probe and not cmp to check that disk is empty.
559
560 * util/grub-install.in: Use grub-probe for zero-check.
561 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
562 (probe): Handle PRINT_ZERO_CHECK.
563 (argp_parser): Handle -t zero_check.
564
5652012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
566
567 Flush block cache on adding disk to device map.
568
569 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
570 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
571 adding.
572 (read_device_map): Likewise.
573 (open_device): Flush on opening.
574
690434e8
VS
5752012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
576
577 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
578 (handle_symlink): Fix off-by-one error.
579 Canonicalize the target.
580 (grub_cpio_dir): Canonicalize the name.
581 Fix memory leak.
582 Set directory.
583 (grub_cpio_open): Canonicalize the name.
584
742d2be6
VS
5852012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
588 handling.
589
3244fe96
VS
5902012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
591
592 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
593 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
594
8aeb1837
VS
5952012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
596
597 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
598 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 599 All users updated.
8aeb1837 600
9133fd05
VS
6012012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
602
603 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
604 counterpart.
605
6d521c5b
VS
6062012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
607
608 Fix UFS1 big file support.
609
610 * grub-core/fs/ufs.c (INODE): Removed.
611 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
612 64-bit.
613 (INODE_MODE): Simplify.
614 (grub_ufs_inode): Use uint64_t for size and not int64_t.
615 (grub_ufs_lookup_symlink): Don't use INODE.
616
21b82e17
VS
6172012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
618
619 Fix minixfs with non-power-of-two blocks since it's supported by minix.
620
621 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
622 (grub_minix_data): Replace log_block_size with block_size.
623 (grub_minix_read_file): Use block_size but avoid 64-bit division.
624 (grub_minix_mount): Fill block_size.
625
6262012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
627
628 * configure.ac: Bump to beta5.
629
f417ed04
VS
6302012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
631
632 Fix wrapped HFS+ handling.
633
634 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
635 blocks_start. All users updated.
636 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
637 wrapping offset.
638 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
639
607d282b
VS
6402012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
641
642 Fix long symlinks on reiserfs.
643
644 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
645 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
646 (grub_reiserfs_iterate_dir): Save size for non-directories.
647 (grub_reiserfs_open): Don't reread stat block as we already know the
648 size.
649 (grub_reiserfs_read): Split into...
650 (grub_reiserfs_read_real): ... and ...
651 (grub_reiserfs_read): ...this.
652
ae16024d
VS
6532012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
654
655 Fix non-indexed JFS.
656
657 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
658 (grub_jfs_data): New field namecomponentlen.
659 (grub_jfs_mount): Fill namecomponentlen.
660 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
661
eea1e26e
VS
6622012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
665 * tests/grub_script_echo1.in: Add tests.
666
df760f77
VS
6672012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
668
669 * util/grub-install.in: Ignore empty devicetree directory.
670
5efb817d
B
6712012-05-08 Bean <bean123ch@gmail.com>
672
673 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
674 All users updated.
675 (free_rsm): Free header as well.
676 (free_old_fragments): Fix memory leak.
677 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
678 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
679 (destroy_pq): Likewise.
680 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
681
668ea6d2
VS
6822012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
685 resulting hash as a precaution.
686
1739b1fe
VS
6872012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
688
689 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
690 '_' in variable names.
691 * grub-core/net/net.c (grub_net_network_level_interface_register):
692 Likewise.
693
6ae485aa
VS
6942012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
695
696 Fix AFFS with non-512B blocks.
697
698 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
699 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
700 (grub_affs_data): Replace blocksize with log_blocksize.
701 (grub_affs_read_block): Fix non-512B blocks.
702 (grub_affs_read_symlink): Likewise.
703 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
704 (grub_affs_read): Fix non-512B blocks.
705 (grub_affs_label): Likewise.
706 (grub_affs_mtime): Likewise.
707 (grub_affs_mount): Fix block detection routine.
708
d20fab84
VS
7092012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
710
711 Add filesystem mtime to AFFS.
712
713 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
714 (aftime2ctime): New function.
715 (grub_affs_dir): Use aftime2ctime.
716 (grub_affs_label): Fix return value.
717 (grub_affs_mtime): New function.
718 (grub_affs_fs): Add mtime.
719
e87b10f5
VS
7202012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
721
722 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
723 UTF-8.
724
7dceec9b
VS
7252012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
726
727 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
728 UTF-8.
729
2f48221f
VS
7302012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
731
732 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
733
dacd85cf
VS
7342012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
737 flags.
738 (FLAGS_CASE_SENSITIVE): New enum value.
739 (cache_entry): New struct.
740 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
741 cache_size and cache.
742 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
743 Add log_blocksize and fshelp_flags.
744 (grub_sfs_read_extent): Handle non-512 blocks.
745 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
746 (grub_sfs_read_file): Handle non-512 blocks.
747 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
748 fshelp_flags.
749 (grub_sfs_read_symlink): Handle non-512 blocks.
750 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
751 (grub_sfs_dir): Free cache.
752 (grub_sfs_close): Likewise.
753
24e9a854
VS
7542012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
755
756 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
757 filesystems.
758
62ace64d
VS
7592012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
760
761 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
762
83b2e89c
VS
7632012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
764
765 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
766
75ccaea3
VS
7672012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
768
769 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
770 (grub_sfs_read_extent): Likewise.
771 (grub_sfs_read_block): Likewise.
772 (grub_sfs_mount): Likewise.
773 (grub_sfs_iterate_dir): Likewise.
774 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
775 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
776
1b8463f2
VS
7772012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
778
779 Fix errors on compressed NTFS with 512B clusters.
780
781 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
782 types.
783 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
784 not 0.
785 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
786 Relax check for inline extents.
787 (ntfscomp): Return correct -1 on error and not 0.
788
4f8e368f
VS
7892012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
790
791 * util/grub-install.in: Fix handling of prefix containing spaces.
792
6f5d5ee8
VS
7932012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
794
795 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
796 (grub_squash_read_data): Fix offset byte-swapping.
797
ce41ab7a
VS
7982012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
799
800 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
801 per common usage and preffered in several parts of code.
802 (grub_memcmp): Likewise.
803 (grub_strncmp): Likewise.
804 * include/grub/misc.h (grub_strcasecmp): Likewise.
805 (grub_strncasecmp): Likewise.
806 * Makefile.util.def (cmp_test): New test.
807 (grub_script_strcmp): Likewise.
808 * tests/cmp_unit_test.c: New file.
809 * tests/grub_script_strcmp.in: Likewise.
810 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
811
49717bf4
VS
8122012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * include/grub/pci.h: Move enums into no-asm part.
815
0a308f64
VS
8162012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
819
1796965f
ST
8202012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
821
822 * util/getroot.c (find_hurd_root_device): Try to make error message
823 and comments to translators clearer.
824
4e9b2819
VS
8252012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
828
076aeb50
VS
8292012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
830
831 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
832 btrfs.
833
19424d94
VS
8342012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
835
836 * docs/grub.cfg: Update.
837
ebb73076
VS
8382012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
839
840 * docs/grub.texi (PXE): Remove not present variables.
841
9a1b669c
VS
8422012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
843
844 * grub-core/net/net.c (defserver_set_env): New function.
845 (defserver_get_env): Likewise.
846 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
847
d38bf7d3
VS
8482012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
849
850 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
851 entries.
852
8532012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
854
855 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
856 * grub-core/kern/emu/hostdisk.c: Likewise.
857
e5e4ca48
ST
8582012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
859
860 Handle hurd userspace partitions.
861
862 * util/getroot.c (find_hurd_root_device): New function.
863 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
864
56bb5dd5
VS
8652012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
868 names.
869 Reported by: Bastian Blank.
870
9e8bc27a
VS
8712012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
874 crossing page boundary.
875
aa01499d
VS
8762012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
877
878 Fix B-tree search in BFS, especially in presence of non-ASCII
879 characters.
880
881 * grub-core/fs/bfs.c (bfs_strcmp): New function.
882 (find_in_b_tree): Use standard bsearch + btree algorithm.
883
57006035
VS
8842012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
887 and so on.
888
9d34bb85
MG
8892012-05-03 Matthew Garrett <mjg@redhat.com>
8902012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
891
892 Suspend broadcom cards in order to stop their DMA.
893
894 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
895 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
896 (pci): Don't build on x86 EFI.
897 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
898 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
899 New function.
900 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
901 stop_broadcom if running on EFI.
902 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
903 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
904 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
905 (grub_pci_find_capability): New proto.
906
01aab997
VS
9072012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
908
909 * docs/grub.texi: Remove dot from the extension as it apparently
910 doesn't work with some makeinfo versions.
911
fbd8dca6
VS
9122012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
913
914 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
915 with GRUB expectance.
916
dab797f4
VS
9172012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
920
1516bfb4
VS
9212012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
922
923 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
924 zero after directory block since last entry may be not 0-terminated if
925 it ends on block boundary. Use continue instead of if spanning whole
926 loop.
927
a3a0eace
VS
9282012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
929
930 Support 4K sectors UDF inline files.
931
932 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
933 (grub_udf_extended_file_entry): Likewise.
934 (grub_fshelp_node): Name the anonymous union. Put block at the end.
935 All users updated.
936 (get_fshelp_size): New function.
937 (grub_udf_read_icb): Read whole block.
938 (grub_udf_iterate_dir): Likewise.
939 (grub_udf_dir): Likewise.
940 (grub_udf_open): Likewise.
941
c82f16c1
VS
9422012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
943
944 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
945
59fd2aac
VS
9462012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
947
948 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
949 inline symlinks in addition to workaround.
950
3b4afb4d
VS
9512012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
952
953 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
954
f45c794a
VS
9552012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
956
957 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
958
f25cecbd
VS
9592012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
960
961 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
962
bb9a34e8
VS
9632012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
964
965 Fix reiserfs big seek times.
966
967 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
968 exact. All users updated.
969 (grub_reiserfs_read): Use nearest btree search for seeking.
970 Fix return value on error.
971
dc478aea
VS
9722012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
973
974 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
975 entries.
976 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
977 * docs/grub.texi: Update menuentry description.
978
8db10f47
VS
9792012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
980
981 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
982 crash when embedding onto filesystem.
983
bcb288ed
VS
9842012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
985
986 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
987 name.
988
a626fdd7
VS
9892012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
990
991 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
992
b2f68477
VS
9932012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
996 commit.
997
ba15b2af
B
9982012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9992012-05-01 Bean <bean123ch@gmail.com>
1000
1001 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
1002
a188012e
VS
10032012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1004
1005 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
1006 Special behaviour for len = 0 to read whole file isn't used anywhere and
1007 can cause buffer ovewrflows in several places.
1008
f0a53ed2
VS
10092012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1010
1011 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
1012
5ed554f0
VS
10132012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1014
1015 Handle RAIDZ on non-512B sectors.
1016
1017 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
1018 max_children_ashift.
1019 (fill_vdev_info_real): Fill max_children_ashift.
1020 (read_device): Use max_children_ashift.
1021
ddc58357
VS
10222012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1023
1024 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
1025
e3282399
VS
10262012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
1029 disk names.
1030 * docs/grub.texi: Update device.map parts.
1031
ee618bd4
VS
10322012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 Don't scan into non-diskfilter devices having diskfilter names.
1035
1036 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
1037 (scan_disk): New argument accept_diskfilter. Fix recursion depth
1038 handling.
1039 (scan_disk_hook): New function.
1040
bdf88864
B
10412012-04-29 Bean <bean123ch@gmail.com>
1042
1043 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
1044 allocation.
1045
32745f51
MK
10462012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
1047
1048 * configure.ac: Detect starfield theme font path
1049 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
1050
bc95c8c0
VS
10512012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
1054 geometry on serial consoles.
1055
147fbcab
VS
10562012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
1059 because of network consoles.
1060
0f42c889
VS
10612012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1062
1063 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
1064 handling.
1065
4a3594c9
VS
10662012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1067
1068 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
1069 falls on Q syndrom.
1070
5cb53879
VS
10712012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1072
1073 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
1074 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
1075
b282dfe5
VS
10762012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
1079 Allocate at lest 8192 for temporary buffer as required for lzo.
1080
daa59f47
VS
10812012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
1084 to cluster_bits, since it's already added in.
1085 (grub_fat_read_data): Likewise.
1086
986748ce
VS
10872012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
1090 as long as cluster size is multiple of 512 bytes.
1091
a20f6ad0
VS
10922012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * util/grub-mkrescue.in: Fix locale directory.
1095
385f9abb
VS
10962012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 * grub-core/kern/emu/hostdisk.c (map): Make static.
1099
1c557d30
B
11002012-04-23 Bean <bean123ch@gmail.com>
1101
1102 * util/grub-fstest.c (fstest): Add missing break.
1103
524b5d3a
ST
11042012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
1105
1106 Fix hurd build.
1107
1108 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
1109 not define nr variable.
fe4824e9 1110 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
1111 find_root_devices_from_poolname, find_root_devices_from_libzfs,
1112 grub_find_device): Do not define.
524b5d3a 1113
9a06490c
VS
11142012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 Fix kfreebsd compile and behaviour.
1117
1118 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
1119 format-security.
1120 * util/getroot.c: Fix wait.h include.
1121 (grub_guess_root_devices): Error if grub_find_device fails.
1122 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
1123 (grub_util_get_dev_abstraction): Likewise.
1124 (grub_util_pull_device): Likewise.
1125 (grub_util_get_grub_dev): Likewise.
1126 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
1127
48143d96
VS
11282012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 Fix and unify wholedisk detection.
1131
1132 * util/getroot.c (convert_system_partition_to_system_disk): New argument
1133 is_part. All users updated.
1134 (device_is_wholedisk): Removed.
1135 (grub_util_biosdisk_get_grub_dev): Use is_part.
1136
ebbd24f3
VS
11372012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
1140 mode.
1141
56f7aa1e
VS
11422012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1143
1144 * configure.ac: Bump to beta4.
1145
9c815e01
VS
11462012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1147
1148 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
1149 --fs-uuid --set UUID syntax.
1150
59e2651a
VS
11512012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1152
1153 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
1154 disunification.
1155
54e03cfc
VS
11562012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
1159
81092a75
MK
11602012-04-18 Mads Kiilerich <mads@kiilerich.com>
1161
1162 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
1163
f8315e14
MG
11642012-04-18 Mike Gilbert <floppym@gentoo.org>
1165
1166 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
1167
1501ac21
B
11682012-04-18 Bean <bean123ch@gmail.com>
1169
1170 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
1171 place.
1172
cb7f944e
VS
11732012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1174
1175 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
1176 users updated.
1177 (grub_util_biosdisk_read): Handle Linux partitions not exactly
1178 corresponding to GRUB partitions.
1179 (grub_util_biosdisk_write): Likewise.
1180
b72d44a1
VS
11812012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1182
1183 Scan mdraid before LVM.
1184
1185 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
1186 (grub_diskfilter_register_front): ... this.
1187 (grub_diskfilter_register_back): New function.
1188 All users of grub_diskfilter_register updated.
1189
33d918b8
VS
11902012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 * util/grub-install.in: Fix an automatic target detection bug.
1193
c6ca973d
VS
11942012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1195
1196 * util/grub-install.in: New option --efi-directory.
1197
b41be562
VS
11982012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
1201 boot services if we have no other choice.
1202
12032012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1204
1205 * util/grub-mknetdir.in: Rename --override-directory to --directory and
1206 document it.
1207 * tests/util/grub-shell.in: Update to --directory.
1208
e0595a73
VS
12092012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
1212
4ed80652
VS
12132012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1214
1215 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
1216 (grub_minix_read_file): Likewise.
1217 (grub_minix_read_inode): Likewise.
1218 (grub_minix_find_file): Likewise.
1219 (grub_minix_dir): Likewise.
1220
56008077
VS
12212012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1222
1223 * util/grub-setup.c (setup): Fix partition handling and blocklist
1224 check.
1225
ee520775
VS
12262012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1227
1228 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
1229 redundant buggy overlap check.
1230
16fc9293
VS
12312012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1232
1233 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
1234 and grub-mknetdir.
1235
9bab65c4
VS
12362012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1237
1238 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
1239 kh.loadflags on pre-2.00 kernels.
1240
3c491b47
VS
12412012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 Terminate UNDI and PXE before launching the payload to avoid problems
1244 with DMA.
1245
1246 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
1247 (grub_loader_flags): ... this. All users updated.
1248 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
1249 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
1250 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
1251 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
1252 function.
1253 (grub_pxe_restore): Likewise.
1254 (fini_hnd): New var.
1255 (GRUB_MOD_INIT): Register shutdown hook.
1256 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
1257 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
1258 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
1259 (grub_loader_set): Rename second argument to flags.
1260
851ffada
VS
12612012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
1264 written bytes.
1265 (grub_get_num_of_utf8_bytes): New function.
1266 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
1267 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
1268 executing it.
1269 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
1270 (grub_ucs4_to_utf8): Change return type.
1271
491c57a8
VS
12722012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1273
1274 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
1275 warning.
851ffada
VS
1276 * grub-core/fs/bfs.c (hop_level): Likewise.
1277 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 1278
756773df
VS
12792012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1280
1281 * grub-core/lib/adler32.c: Recode due to license unclearness.
1282
fd556a96
VS
12832012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1284
1285 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
1286 (test_header): Likewise.
1287
9f9d3f69
VS
12882012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1289
1290 Fix --help formatting.
1291
1292 * util/grub-mkconfig_lib.in (print_option_help): New function.
1293 (grub_fmt): Likewise.
1294 * util/grub-install.in: Use print_option_help and grub_fmt.
1295 * util/grub-kbdcomp.in: Likewise.
1296 * util/grub-mkconfig.in: Likewise.
1297 * util/grub-mknetdir.in: Likewise.
1298 * util/grub-mkrescue.in: Likewise.
1299 * util/grub-mkstandalone.in: Likewise.
1300 * util/grub-reboot.in: Likewise.
1301 * util/grub-set-default.in: Likewise.
1302 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1303
561ec77e
VS
13042012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1305
1306 * linguas.sh: Remove autogenerated *.po.
1307
7ec2b021
VS
13082012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1309
1310 * po/README: Move language fetcing to ...
1311 * linguas.sh: ... here.
1312 * po/README: Point to linguas.sh.
1313
a88f3270
VS
13142012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1315
1316 * po/README: Exclude ko.po due to disclaimer problems.
1317
d61357ce
VS
13182012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1319
1320 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
1321 len = 0.
1322 (grub_gettext_translate_real): Handle 0th string.
1323 (grub_gettext_translate): Ensure that "" isn't translated.
1324
505e41dc
VS
13252012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
1328 TRANSLATORS comment.
1329 (grub_diskfilter_print_partmap): Propagate changing of error into
1330 warning.
1331
e44092db
VS
13322012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1333
1334 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
1335 to uint64_t to prevent overflow.
1336 (grub_diskfilter_lv): Increase start_extent and extent_count
1337 to uint64_t to prevent overflow.
1338
9b83956a
VS
13392012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * configure.ac: Increase version.
1342
da0d5b3f
VS
13432012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1344
1345 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
1346
1347 * po/Rules-translit: New file.
1348 * po/arabic.sed: Likewise.
1349 * po/cyrillic.sed: Likewise.
1350 * po/greek.sed: Likewise.
1351 * po/hebrew.sed: Likewise.
1352 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
1353 * po/Makefile.in.in: Add extra_dist4.
1354
ac66b453
VS
13552012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 Handle big-endian minixfs (fixes minixfs tests on bigendian).
1358
1359 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
1360 modify names. Introduce MODE_BIGENDIAN.
1361 * grub-core/fs/minix_be.c: New file.
1362 * grub-core/fs/minix2_be.c: Likewise
1363 * grub-core/fs/minix3_be.c: Likewise.
1364 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
1365 minix3_be.
1366 * grub-core/Makefile.core.def (minix_be): New module.
1367 (minix2_be): Likewise.
1368 (minix3_be): Likewise.
1369
13702012-04-01 Felix <email@hamburg.de>
1371
1372 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
1373 (devs): Add MBP 2011.
1374
0a2d5a82
VS
13752012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1376
1377 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
1378
d1625889
VS
13792012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1380
1381 * grub-core/normal/cmdline.c (print_completion): New field
1382 prompt_len.
1383 (grub_cmdline_get): Handle width properly.
1384
6d36a236
VS
13852012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 * grub-core/commands/lsacpi.c (options): Add missing terminator.
1388
9576977e
VS
13892012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1390
1391 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 1392 after 29th of February.
9576977e 1393
d73ff15d
VS
13942012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 Fix exfat endianness handling.
1397
1398 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
1399 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
1400 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
1401 Byte-swap utf16 when necessary.
1402 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
1403
bbb39a45
AB
14042012-03-31 Anton Blanchard <anton@samba.org>
14052012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1406
1407 Fix btrfs endianness handling.
1408
1409 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
1410 (lower_bound): Make root uint64_t. Use root in le.
1411 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
1412 (find_path): Fix template key init.
1413 (grub_btrfs_dir): Fix mtime byteswap.
1414 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
1415
354e0af7
VS
14162012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1417
1418 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
1419 recursion_depth. Break infinite resursions. All users updated.
1420
4e75f21c
VS
14212012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
1424 after free.
1425 Reported by: Peter Jones.
1426
25581802
AB
14272012-03-31 Anton Blanchard <anton@samba.org>
1428
1429 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
1430 8 bit values.
1431
08fbf92e
VS
14322012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1433
1434 * util/grub-install.in: Fix nvram call for PreP.
1435
5d1182a6
VS
14362012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1437
1438 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
1439 the error when some elements are missing into a warning.
1440
3f8cdd90
VS
14412012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
1444
51006716
CW
14452012-03-28 Colin Watson <cjwatson@ubuntu.com>
1446
1447 * docs/grub.texi (Invoking grub-probe): New section.
1448 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
1449
e1bd676b
VS
14502012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
1451
1452 Fix tab and wide character handling in editor and menu.
1453
1454 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
1455 agglomerate control characters with combining marks.
1456 (bidi_line_wrap): Allow break on tab.
1457 (grub_unicode_get_comb_start): New function.
1458 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
1459 and tab correctly.
1460 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
1461 with a space.
1462 * grub-core/normal/term.c (print_ucs4_terminal): New argument
1463 fixed_tab_size. All users updated.
1464 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
1465 (grub_term_getcharwidth): Handle \t.
1466 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
1467 and copy.
1468
22e6a774
VS
14692012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 Handle big-endian mdraid.
1472
1473 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
1474 * grub-core/Makefile.core.def (mdraid09_be): New module.
1475 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
1476 rather than grub_le_to_cpu* and grub_cpu_to_le*.
1477 * grub-core/disk/mdraid_linux_be.c: New file.
1478
3c0eae66
VS
14792012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
1482
b6cf74c9
VS
14832012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1484
1485 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
1486 missing quotes which caused confusion among translators.
1487
83c93b9c
VS
14882012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 * util/grub-mkconfig_lib.in: Fix typo.
1491
ac6fd218
VS
14922012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1493
1494 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
1495 spaces.
1496 * tests/grub_script_leading_whitespace.in: New file.
1497 * Makefile.util.def (grub_script_leading_whitespace): New test.
1498
ba287dd8
VS
14992012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
1502 to work.
1503
d2d58d0a
VS
15042012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1505
1506 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
1507 starts with control character.
1508
0382d9bb
VS
15092012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
1512 overflow.
1513 (grub_gdb_outbuf): Likewise.
1514
d83ff9f9
VS
15152012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
1518 zero terminator. Fixes a crash.
1519
2282da4a
VS
15202012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1521
1522 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
1523 beyond 4 GiB.
1524 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
1525 images independently of preffered adderss field.
1526
0ae4f0bd
VS
15272012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1528
1529 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
1530 * grub-core/commands/regexp.c: Likewise.
1531 * grub-core/loader/i386/linux.c: Likewise.
1532 * grub-core/partmap/msdos.c: Likewise.
1533 * grub-core/script/execute.c: Likewise.
1534 * grub-core/term/gfxterm.c: Likewise.
1535
546fbe9b
VS
15362012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 Add variable parsing in $"..." and fix several mismatches with bash.
1539
1540 * Makefile.util.def (grub_script_gettext): New test.
1541 * grub-core/script/execute.c (parse_string): New function.
1542 (gettext_append): Likewise.
1543 (grub_script_arglist_to_argv): Use gettext_append.
1544 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
1545 * tests/grub_script_gettext.in: New file.
1546
9fdb2d7b
VS
15472012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 Fix handling of leading spaces in scripts.
1550
1551 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
1552 spaces.
1553 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
1554 other than skipping \r. All users updated.
1555 * tests/grub_script_echo1.in: Add space-related tests.
1556 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
1557
1a1ac4f6
VS
15582012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
1561
b63d89b6
VS
15622012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 * configure.ac: Bump up the version to beta2.
1565
17f38c0f
VS
15662012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 Fix gettext reload bugs (e.g. inability to disable gettext
1569 once enabled).
1570
1571 * grub-core/gettext/gettext.c: Encapsulate all static variables in
1572 main_context and secondary_context. All functions updated.
1573 (grub_gettext_translate): Rename to ...
1574 (grub_gettext_translate_real): ... this. Return NULL on failed
1575 translate.
1576 (grub_gettext_translate): Handle secondary context.
1577 (grub_gettext_delete_list): Close file and zero-out the context.
1578 (grub_mofile_open): Don't call grub_gettext_delete_list.
1579 Don't close file.
1580 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
1581 if locale="" to avoid pointless error message.
1582 (grub_gettext_env_write_lang): Update lang even if load fails.
1583 Handle secondary context.
1584 (grub_gettext_reread_prefix): New function.
1585 (read_main): Likewise.
1586 (read_secondary): Likewise.
1587 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
1588 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
1589 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
1590 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
1591
8e56f870
VS
15922012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1593
1594 * configure.ac: Decrease warning level to avoid spurious warnings and
1595 to be able to compile with GCC 4.2.
1596 * Makefile.util.def: Remove -Wno-error=logical-op.
1597
82f6d455
WB
15982012-03-10 William Bittner <william.bittner@gmail.com>
1599
1600 * util/import_unicode.py: Add missing brackets around string for
1601 python 3 support.
1602
1ecd61a4
VS
16032012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 Fix efi chainloader on network root.
1606
1607 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
1608 network devices.
1609 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
1610 New function.
1611
14361ee8
VS
16122012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1613
1614 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
1615 unused show_text member.
1616 * docs/grub.texi: Document "text" property.
1617
922aabf3
VS
16182012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1619
1620 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
1621 in dprintf.
1622
ec316771
VS
16232012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 Fix IMSM handling on Fedora.
1626
1627 * util/getroot.c (grub_util_is_imsm): New function.
1628 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
1629
0f021838
VS
16302012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1631
1632 * Makefile.am: Strip gold section.
1633 * conf/Makefile.common: Likewise.
1634 * gentpl.py: Likewise.
1635 * grub-core/Makefile.core.def: Likewise.
1636 * grub-core/genmod.sh.in: Likewise.
1637
1039c8eb
VS
16382012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1639
1640 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
1641 * util/grub.d/20_linux_xen.in: Likewise.
1642 Based on Debian patch.
1643
6dd412cd
VS
16442012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1645
1646 * util/grub.d/10_linux.in: Fix syntax error resulting in
1647 Richard Laager's patch.
1648 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
1649
3fd8bae5
VS
16502012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
1653 dependencies.
1654
7eea1671
RL
16552012-03-10 Richard Laager <rlaager@wiktel.com>
1656
1657 * util/grub.d/10_linux.in: Fix ZFS root passing.
1658
e8e0566b
VS
16592012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1660
1661 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
1662 * grub-core/commands/xnu_uuid.c: Likewise.
1663 * grub-core/loader/efi/appleloader.c: Likewise.
1664 * grub-core/script/execute.c: Likewise.
1665 * grub-core/script/main.c: Likewise.
1666 * util/grub-mkfont.c: Likewise.
1667
1acc5b1f
VS
16682012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1669
1670 * util/grub-mkfont.c (options): Use more appropriate "select" that
1671 "set" for face index.
1672
35d70620
VS
16732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1674
1675 * util/grub-editenv.c (options): Gettextize command summaries.
1676
c9eb96b5
VS
16772012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1678
1679 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
1680 "out of memory" error messagge.
1681
1f493136
VS
16822012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1683
1684 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
1685 of diskfilter for diskfilter on diskfilter support.
1686
6d790129
VS
16872012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1688
1689 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
1690
005f46c9
VS
16912012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1692
1693 * util/grub-install.in: Check for themes/starfield/theme.txt and not
1694 themes/starfield.
1695
c8f778a0
VS
16962012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1697
1698 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
1699
de1e64eb
VS
17002012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1701
1702 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
1703
c6d54211
VS
17042012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1705
1706 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
1707 of error message.
1708
dd390777
VS
17092012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
1710
1711 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
1712
5fd1c522
VS
17132012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
1714
1715 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
1716 message.
c6d54211 1717 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 1718
fae01f6c
VS
17192012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1720
1721 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
1722 Gettextize.
1723 * util/grub-mount.c (options): Likewise.
1724
292fdaff
VS
17252012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1726
1727 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
1728 gettextize.
1729 * grub-core/commands/search_wrap.c (options): Likewise.
1730
ecdbae77
VS
17312012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
1734
52bfedfa
VS
17352012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1736
1737 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
1738 size calculation.
1739 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
1740 none is known.
1741
55b20e58
VS
17422012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1743
1744 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
1745 "temporary" since it's used in identifier and is limited in space.
1746
fda9d101
VS
17472012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1748
1749 * po/POTFILES.in: Regenerate. Include *.h since they contain
1750 translatable strings as well.
1751
6a0295e2
VS
17522012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
1755 byte-swap on big-endian.
1756 Reported by: Lennart Sorensen
1757
807fb77c
VS
17582012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
1759
1760 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
1761 (allocate_pages): Improve dprintf.
1762 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
1763 code32_start. Fill code32_start and kernel_alignment in params.
1764 (grub_cmd_initrd): Use prot_init_space.
1765
61ac50ba
VS
17662012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1767
1768 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
1769
abdd26dd
VS
17702012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1771
1772 * util/grub-install.in: Add missing dot at the end of sentence.
1773
6e69da9c
VS
17742012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1775
1776 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
1777 * grub-core/commands/videotest.c: Likewise.
1778 * grub-core/loader/i386/linux.c: Likewise.
1779
4a929343
VS
17802012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1781
1782 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
1783 sentence.
1784 Reported by: Milo Casagrande.
1785
bb51c6c6
VS
17862012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
1789 * grub-core/commands/gptsync.c: Likewise.
1790 * grub-core/commands/hashsum.c: Likewise.
1791 * grub-core/commands/i386/pc/sendkey.c: Likewise.
1792 * grub-core/commands/legacycfg.c: Likewise.
1793 * grub-core/io/gzio.c: Likewise.
1794 * grub-core/net/net.c: Likewise.
1795 * grub-core/term/gfxterm.c: Likewise.
1796 * grub-core/term/terminfo.c: Likewise.
1797 * grub-core/tests/test_blockarg.c: Likewise.
1798 * grub-core/video/video.c: Likewise.
1799 * util/grub-install.in: Likewise.
1800 * util/grub-mkfont.c: Likewise.
1801
b2b149cb
VS
18022012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1803
1804 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
1805
c7c080ad
VS
18062012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1807
1808 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 1809 Reported by: David Prévot.
c7c080ad 1810
f2e243c0
VS
18112012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
1814 description.
1815
09963c76
VS
18162012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1817
1818 * util/grub-script-check.c (main): Fix a syntax error message which was
1819 unclear.
1820
a50514a8
VS
18212012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
1824
4650daec
VS
18252012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1826
1827 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
1828 messages.
1829
18302012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
1831
1832 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
1833 without argument.
1834 * util/grub-mount.c (options): Likewise.
1835
bbc5a342
VS
18362012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1837
1838 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
1839
ef292a87
VS
18402012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1841
1842 * grub-core/net/http.c: Add TRANSLATORS comments.
1843 * grub-core/normal/cmdline.c: Likewise.
1844 * grub-core/normal/misc.c: Likewise.
1845 * grub-core/partmap/msdos.c: Likewise.
1846 * grub-core/parttool/msdospart.c: Likewise.
1847 * grub-core/script/execute.c: Likewise.
1848 * grub-core/script/main.c: Likewise.
1849 * grub-core/term/terminfo.c: Likewise.
1850 * grub-core/video/bitmap.c: Likewise.
1851 * util/grub-install.in: Likewise.
1852 * util/grub-mkimage.c: Likewise.
1853 * util/grub-mklayout.c: Likewise.
1854 * util/grub-setup.c: Likewise.
1855
0fc19bd0
VS
18562012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1857
1858 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
1859 with similar messages in grub-fstest.
1860
d95862ef
VS
18612012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1862
1863 * util/grub-install.in: Unify "option requires an argument" message
1864 with similar messages in other files.
1865 * util/grub-mkconfig.in: Likewise.
1866
b7308f90
VS
18672012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1868
1869 * util/grub-set-default.in: Replace printf with gettext_printf (the
1870 string in in question is already translated from grub-reboot)
1871
559dc587
VS
18722012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1873
1874 * configure.ac: Bump up the version to beta1.
1875
1a11761f
VS
18762012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
1879 case when min_align = 0.
1880
24539abd
VS
18812012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1882
1883 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
1884 and fix a case when line_start overflows.
1885
32bd735b
VS
18862012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1887
1888 * util/grub-reboot.in (usage): Mention id posibility.
1889 * util/grub-set-default.in (usage): Likewise.
1890
1a2fd1e6
VS
18912012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1892
1893 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
1894 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
1895 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
1896 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
1897 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
1898 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1899 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1900
90eeab76
VS
19012012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1902
1903 * grub-core/commands/menuentry.c (options): Remove
1904 GRUB_ARG_OPTION_REPEATABLE.
1905 Reported by: Andreas Vogel
1906
5ad1be82
AV
19072012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
1908
1909 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
1910
cb055286
HE
19112012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
1912
1913 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
1914 error.
1915
93b1cd79
VS
19162012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1917
1918 Use sort -V by the idea of Georgi Georgiev.
1919
1920 * util/grub-mkconfig_lib.in (version_sort): New function.
1921 (version_test_numeric): Use version_sort.
1922
0cdc126c
VS
19232012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1924
1925 Use submenus in grub-mkconfig.
1926
1927 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
1928 * util/grub-mkconfig_lib.in (grub_quote): New function.
1929 (gettext_printf): Use gettext and not gettext_quoted to fix several
1930 messages.
1931 * util/grub.d/10_hurd.in: Use submenus.
1932 * util/grub.d/10_kfreebsd.in: Likewise.
1933 * util/grub.d/10_linux.in: Likewise.
1934 * util/grub.d/10_netbsd.in: Likewise.
1935 * util/grub.d/20_linux_xen.in: Likewise.
1936 * util/grub.d/30_os-prober.in: Likewise.
1937 * util/grub.d/10_illumos.in: Add missing quoting.
1938 * util/grub.d/10_windows.in: Likewise.
1939
d9bef9bc
VS
19402012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 Fix menu title instability bug.
1943
1944 * grub-core/commands/menuentry.c (options): New option --id.
1945 (grub_normal_add_menu_entry): New argument id. All users updated.
1946 (grub_cmd_menuentry): Handle --id.
1947 (grub_menu_init): Accept unknown arguments.
1948 * grub-core/normal/main.c (features): Add feature_menuentry_id and
1949 feature_menuentry_options.
1950 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
1951 saved_entry.
1952 (get_entry_number): Match with id as well.
1953 * include/grub/menu.h (grub_menu_entry): New member id.
1954 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
1955 * util/grub.d/00_header.in: Define menuentry_id_option.
1956 * util/grub.d/10_hurd.in: Define id.
1957 * util/grub.d/10_illumos.in: Likewise.
1958 * util/grub.d/10_kfreebsd.in: Likewise.
1959 * util/grub.d/10_linux.in: Likewise.
1960 * util/grub.d/10_netbsd.in: Likewise.
1961 * util/grub.d/10_windows.in: Likewise.
1962 * util/grub.d/20_linux_xen.in: Likewise.
1963 * util/grub.d/30_os-prober.in: Likewise.
1964
19652012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
1966
1967 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
1968 "scope" with "body".
1969
7c8d0ce7
VS
19702012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1971
1972 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
1973 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
1974 prot_size and prot_file_size.
1975
49de079b
VS
19762012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
1979 All users updated. If easily=1 require raid-5/-6 to be full.
1980 (is_node_readable): Likewise.
1981 (scan_devices): Scan incomplete but readable LVs at the end.
1982 (grub_diskfilter_memberlist): Pull missing devices.
1983 (insert_array): Skip scanning until device is complete or scan is
1984 done otherwise.
1985 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
1986 check.
1987 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
1988 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
1989
aff05d45
MG
19902012-03-03 Matthew Garrett <mjg@redhat.com>
19912012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1992
1993 Avoid EFI boot services when loading Linux.
1994
1995 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
1996 avoid_efi_bootservices. All users updated.
1997 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
1998 argument avoid_efi_bootservices. All users updated.
1999 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
2000 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
2001 align, min_align, relocatable, prefered_address. All users updated.
2002 Allocate avoiding boot services if kernel is relocatable.
2003 (grub_cmd_linux): Check if kernel is relocatable.
2004 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
2005 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
2006 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
2007 avoid_efi_boot_services.
2008 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
2009 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
2010 (linux_kernel_params): Likewise.
2011
3935dde2
MG
20122012-03-03 Matthew Garrett <mjg@redhat.com>
20132012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2014
2015 Use EDID on EFI.
2016
2017 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
2018 datasize_out.
2019 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
2020 modes. Set gop_handle.
2021 (grub_video_gop_get_edid): New function.
2022 (grub_gop_get_preferred_mode): Likewise.
2023 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
2024 (grub_video_efi_gop_adapter): Set .get_edid.
2025 * include/grub/efi/edid.h: New file.
2026 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
2027
32107ec0
VS
20282012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2029
2030 * util/grub-install.in: Load efivars unconditionally.
2031
e70a2c50
VS
20322012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2033
2034 * po/Rules-piglatin: Change suffix from .po-update-en to
2035 .po-update-en-piglatin.
2036
8f9cace1
VS
20372012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2038
2039 Add a pig farm.
2040
2041 * po/piglatin.sed: New file.
2042 * po/en@piglatin.header: Likewise.
2043 * po/Rules-piglatin: Likewise.
2044 * po/README: Add en@piglatin to autogenerated languages.
2045
8f95d002
VS
20462012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2047
2048 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
2049 "Command for ...".
2050 * grub-core/commands/hdparm.c (options): Use "Display" rather than
2051 "Check" since we don't check anything.
2052 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
2053 is 64-bit one.
2054 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
2055 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
2056 (grub_md_sha512_real): Likewise.
2057
805a8dcc
VS
20582012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 * grub-core/commands/gptsync.c: Fix typographic quoting.
2061 * grub-core/commands/ieee1275/suspend.c: Likewise.
2062 * grub-core/commands/parttool.c: Likewise.
2063 * grub-core/commands/search_wrap.c: Likewise.
2064 * grub-core/commands/videoinfo.c: Likewise.
2065 * grub-core/gfxmenu/gui_label.c: Likewise.
2066 * grub-core/hello/hello.c: Likewise.
2067 * grub-core/kern/emu/main.c: Likewise.
2068 * grub-core/net/net.c: Likewise.
2069 * grub-core/normal/menu.c: Likewise.
2070 * grub-core/normal/menu_text.c: Likewise.
2071 * grub-core/normal/misc.c: Likewise.
2072 * util/grub-editenv.c: Likewise.
2073 * util/grub-install.in: Likewise.
2074 * util/grub-kbdcomp.in: Likewise.
2075 * util/grub-mkconfig.in: Likewise.
2076 * util/grub-mknetdir.in: Likewise.
2077 * util/grub-mkrescue.in: Likewise.
2078 * util/grub-mkstandalone.in: Likewise.
2079 * util/grub-reboot.in: Likewise.
2080 * util/grub-set-default.in: Likewise.
2081 * util/grub-setup.c: Likewise.
2082 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2083
40211ab8
VS
20842012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
2087 * grub-core/commands/keystatus.c: Likewise.
2088 * grub-core/commands/loadenv.c: Likewise.
2089 * grub-core/commands/probe.c: Likewise.
2090 * grub-core/commands/regexp.c: Likewise.
2091 * grub-core/commands/true.c: Likewise.
2092 * grub-core/commands/videoinfo.c: Likewise.
2093 * grub-core/disk/cryptodisk.c: Likewise.
2094 * grub-core/disk/ldm.c: Likewise.
2095 * grub-core/disk/loopback.c: Likewise.
2096 * grub-core/disk/luks.c: Likewise.
2097 * grub-core/fs/zfs/zfsinfo.c: Likewise.
2098 * grub-core/kern/disk.c: Likewise.
2099 * grub-core/kern/emu/hostdisk.c: Likewise.
2100
0c7d99c7
VS
21012012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2102
2103 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
2104 * util/grub-install.in: Add missing quote in the comment.
2105
e7d2559b
VS
21062012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2107
2108 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
2109 * grub-core/commands/lsmmap.c: Likewise.
2110 * grub-core/commands/minicmd.c: Likewise.
2111 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
2112 * grub-core/commands/regexp.c: Likewise.
2113 * grub-core/gdb/gdb.c: Likewise.
2114 * grub-core/term/gfxterm.c: Likewise.
2115 * util/grub-mkconfig.in: Likewise.
2116 * util/grub-mkfont.c: Likewise.
2117 * util/grub-mklayout.c: Likewise.
2118 * util/grub-mknetdir.in: Likewise.
2119 * util/grub-mkrescue.in: Likewise.
2120 * util/grub.d/30_os-prober.in: Likewise.
2121
49ce9e50
VS
21222012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2123
2124 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
2125 with "Direct color" and "Packed" with "Packed pixel".
2126 (grub_cmd_videoinfo): Simplify legend.
2127
e4b791fa
VS
21282012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2129
2130 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
2131 absolutely unclear error message.
2132
fd1265cb
VS
21332012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 * util/grub-mkstandalone.in: Remove confusing leftover print.
2136
8822a8a0
VS
21372012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
2140 comments.
2141 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
2142 (GRUB_MOD_INIT): Likewise.
2143 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
2144 VGA mode.
2145 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
2146 comments.
2147 * util/grub-install.in (usage): Likewise.
2148 Spell ID in whole letters.
2149 Add missing ending dot.
2150 Quote variables.
2151 * util/grub-reboot.in: Fix capitalisation.
2152 * util/grub-set-default.in: Likewise.
2153
937fd0cc
VS
21542012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
2157 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
2158 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
2159 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
2160 Disable -Werror for -Wdeprecated-declarations.
2161 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
2162 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
2163 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
2164 (grub_util_get_grub_dev): Make luks handling dependent on
2165 HAVE_DEVICE_MAPPER and not __linux__.
2166 (get_win32_path): Fix format security.
2167 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
2168 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
2169 Don't try grub_find_zpool_from_dir.
2170 (grub_make_system_path_relative_to_its_root) [!__linux__]:
2171 #ifdef-out paresdir.
2172
1bab1ae3
VS
21732012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2174
2175 * util/grub-pe2elf.c (usage): Add missing noreturn.
2176 (write_section_data): Rename name to shname to avoid shadowing.
2177 (write_symbol_table): Rename name to symname to avoid shadowing.
2178 Fix write_reloc_section call.
2179
ef023e42
VS
21802012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
2183 to ensure that it's after the last byte of .text.
2184
48afcb75
VS
21852012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 * util/ieee1275/ofpath.c (my_isdigit): New function.
2188 (trailing_digits): Use my_isdigit.
2189 (strip_trailing_digits): Likewise.
2190
88d51eff
VS
21912012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
2194 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
2195
17edc2ba
VS
21962012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 * grub-core/kern/i386/pc/startup.S: Define __start.
2199
ad5518d7
VS
22002012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
2203 strip already transforms he format.
2204
9e95e1bf
VS
22052012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2206
2207 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
2208
9cc3ee5c
VS
22092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2210
2211 * util/grub-install.in: Add missing gettext init.
2212 * util/grub-kbdcomp.in: Likewise.
2213 * util/grub-mkconfig.in: Likewise.
2214 * util/grub-mknetdir.in: Likewise.
2215 * util/grub-mkrescue.in: Likewise.
2216 * util/grub-mkstandalone.in: Likewise.
2217 * util/grub-reboot.in: Likewise.
2218 * util/grub-set-default.in: Likewise.
2219 * util/grub.d/00_header.in: Likewise.
2220 * util/grub.d/10_hurd.in: Likewise.
2221 * util/grub.d/10_windows.in: Likewise.
2222 * util/grub.d/30_os-prober.in: Likewise.
2223 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2224
49e08a06
VS
22252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2226
2227 * po/Rules-swiss: Fix header comment.
2228
3809cb41
AV
22292012-02-29 Andreas Vogel <anvoit>
2230
2231 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
2232 resulted in leak of arguments.
2233
fa6ec573
VS
22342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2235
2236 * grub-core/boot/i386/pc/startup_raw.S: Use separate
2237 reed_solomon_size const definition instead of computing it since
2238 Apple assembler doesn't support the later.
2239
22899b9c
VS
22402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2241
2242 * gentpl.py (kernel): Rewrite Apple part.
2243
a132afc3
VS
22442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * include/grub/kernel.h (FOR_MODULES): Check module magic.
2247
9d742bd4
VS
22482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 * util/grub-mkimagexx.c (locate_sections): Support non-standard
2251 ELF section gap.
2252 (load_image): Likewise.
2253
f04a9a21
VS
22542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2255
2256 * configure.ac: Fix a typo in previous commit.
2257
46cf439c
VS
22582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 Don't add -Wl,-N on Apple platform.
2261
2262 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
2263 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
2264
c4c48c54
VS
22652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 * grub-core/Makefile.core.def (lzma_decompress): Use
2268 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
2269
31a12124
VS
22702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2271
2272 * grub-core/genmod.sh.in: Rewrite the Apple part.
2273
4f3aa1af
VS
22742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2275
2276 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
2277 comparison.
2278
7bd8b0c7
VS
22792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2280
2281 * acinclude.m4 (grub_CHECK_PIC): New test.
2282 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
2283
97304d7c
VS
22842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2285
2286 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
2287 to avoid the warning.
2288
fb883812
VS
22892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2290
2291 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
2292 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
2293 after. All users updated.
2294
a121c964
VS
22952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 Use the common size routine in hostfs so we can read disks as well.
2298
2299 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
2300 (grub_util_get_fd_size): ... this. Return size in bytes.
2301 All users updated.
2302 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
2303 grub_util_get_fd_size.
2304
c66d6410
VS
23052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
2308 Add blocksize retrieval.
2309
dfc8aeb0
VS
23102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2311
2312 * configure.ac: Restore CFLAGS after efiemu check.
2313
403e25a5
VS
23142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
2317 Apple bug.
2318
382775d1
VS
23192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2320
2321 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
2322
6fd4e6e4
VS
23232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2324
2325 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
2326 (grub_cmd_halt): Likewise.
2327
bea359d6
VS
23282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2329
2330 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
2331 for local arithmetics.
2332 Break %sp init into 2 instructions.
2333 Add 0 byte at the end.
2334
32eb6ee1
VS
23352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 * grub-core/disk/diskfilter.c (read_segment): Initialise err
2338 before loops.
2339
e8377389
VS
23402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2341
2342 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
2343 for context.
2344
8cb17de7
VS
23452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2346
2347 * grub-core/disk/ldm.c (make_vg): Init part.name.
2348 (grub_ldm_detect): Silence spurious warning.
2349 (grub_util_is_ldm): Likewise.
2350
595717e6
VS
23512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2352
2353 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
2354 sane value to avoid a spurious warning.
2355
c4b7e588
VS
23562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2357
2358 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
2359 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
2360
59824957
VS
23612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2362
2363 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
2364 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
2365
70115b99
VS
23662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
2369 hardcoding the relevant info.
2370
56733740
VS
23712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2372
2373 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
2374 missing const qualifiers.
2375 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
2376
43481481
VS
23772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 * util/getroot.c [__APPLE__]: Add missing includes.
2380 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
2381
3cb38f01
VS
23822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 * util/grub-mkimage.c (generate_image): Silence spurious warning.
2385
d9dbf11e
VS
23862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2387
2388 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
2389 avoid conflicts.
2390
0c42a45d
VS
23912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
2394
46c34eb0
VS
23952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2396
2397 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
2398 and grub_file_close call.
2399
99ce1597
VS
24002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2401
2402 Add LZSS Mach-O support (needed for new xnu kernelcache).
2403
2404 * grub-core/Makefile.core.def (xnu): Add file lzss.c
2405 * grub-core/loader/lzss.c: New file.
2406 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
2407 on Mach-O open failure.
2408 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
2409 Don't free cmdsXX in uncompressedXX is set.
2410 (grub_macho_file): Init new fields.
2411 New argument is_64bit. All users updated.
2412 Handle compressed. Error out if no suitable architecture is found.
2413 Don't close file.
2414 (grub_macho_open): New argument is_64bit. All users updated.
2415 * grub-core/loader/macho32.c: Add defines for new fields.
2416 * grub-core/loader/macho64.c: Likewise.
2417 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
2418 (grub_macho_parse): Handle compressed.
2419 Defer actual processing if compressed.
2420 (grub_macho_cmds_iterate): Decompress if compressed. New argument
2421 "filename". All users updated.
2422 (grub_macho_size): New argument "filename". All users updated.
2423 (grub_macho_get_entry_point): Likewise.
2424 (grub_macho_load): Handle compressed.
2425 * include/grub/macho.h (grub_macho_lzss_header): New struct.
2426 (GRUB_MACHO_LZSS_OFFSET): New define.
2427 (grub_decompress_lzss): New proto.
2428 * include/grub/machoload.h (grub_macho_file): New fields to handle
2429 compressed.
2430 (grub_macho_contains_macho64): Remove proto.
2431 (grub_macho_contains_macho32): Likewise.
2432 * util/grub.d/30_os-prober.in: Use kernel cache if available.
2433
ebd17d6f
VS
24342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2435
2436 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
2437
2702b4e4
VS
24382012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2439
2440 Fix make dist.
2441
2442 * Makefile.am (starfield_theme_files): New var.
2443 (starfield_DATA): Use starfield_theme_files.
2444 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
2445 Add bootcheck-related files.
2446 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
2447 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
2448 and font_char_metrics.txt.
2449 * grub-core/Makefile.core.def (kernel): Update extra_dist.
2450 (setjmp): Add lib/ia64/longjmp.S.
2451 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
2452 * po/POTFILES.in: Regenerate.
2453 * po/Rules-swiss: use DISTFILES.common.extra2 and not
2454 DISTFILES.common.extra1.
2455 * util/devicemap.c: Removed.
2456 * grub-core/lib/i386/relocator_backward.S: Likewise.
2457 * util/import_gcry.py: Remove unused files. Add extra_dist for
2458 ChangeLog.
2459
cf1adfdf
VS
24602012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2461
2462 * grub-core/gettext/gettext.c (grub_mofile_open): Call
2463 grub_gettext_delete_list before changing grub_gettext_max to avoid
2464 running out of array bounds.
2465
24662012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
2467
2468 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
2469 grub_vga_text_init/grub_vga_text_fini.
2470
cf1adfdf 24712012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
2472
2473 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
2474
541d92e9
VS
24752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 * configure.ac: Bump to 2.00~beta0.
2478
7931dddf
VS
24792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2480
2481 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
2482 missing initialisation.
2483
f1b16fa3
VS
24842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
2487
83ddae23
VS
24882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2489
2490 Support v2 xnu boot arguments.
2491
2492 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
2493 New argument fsbfreq_out.
2494 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
2495 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
2496 be used.
2497 * grub-core/loader/machoXX.c (grub_macho_load): New argument
2498 darwin_version.
2499 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
2500 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
2501 (grub_xnu_boot_params): Rename to ...
2502 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
2503 (grub_xnu_boot_params_v2): New struct.
2504
dc693fe6
VS
25052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
2508 zeroing of CRC field before computing CRC.
2509
5a6e39c2
VS
25102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
2513 Change order of allocations to decrease fragmentation.
2514
6c21f5d7
VS
25152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
2518
cfe456dc
CW
25192012-02-27 Colin Watson <cjwatson@ubuntu.com>
2520
2521 Use write-combining MTRR to speed up video with buggy BIOSes.
2522
2523 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
2524 (cpuid): New define.
2525 (rdmsr): Likewise.
2526 (wrmsr): Likewise.
2527 (mtrr_base): Likewise.
2528 (mtrr_mask): Likewise.
2529 (grub_vbe_enable_mtrr_entry): New function.
2530 (grub_vbe_enable_mtrr): Likewise.
2531 (grub_vbe_disable_mtrr): Likewise.
2532 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
2533 control off to BIOS.
2534 (grub_video_vbe_init): Fill mtrr.
2535 (grub_video_vbe_fini): Disable mtrr.
2536 (grub_video_vbe_get_info_and_fini): Likewise.
2537 (grub_video_vbe_setup): Enable mtrr.
2538
e3c78337
CW
25392012-02-27 Colin Watson <cjwatson@ubuntu.com>
2540
2541 * include/grub/partition.h (grub_partition_map): Change prototype of
2542 embed to take a maximum value for nsectors.
2543 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
2544 * include/grub/fs.h (grub_fs): Likewise.
2545 * grub-core/partmap/msdos.c (embed_signatures): New array.
2546 (pc_partition_map_embed): Check for and avoid sectors matching any
2547 of the signatures in embed_signatures, up to max_nsectors.
2548 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
2549 returned sector map to max_nsectors.
2550 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
2551 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
2552 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
2553 * util/grub-setup.c (setup): Allow for the embedding area being
2554 split into multiple blocklists. Tell dest_partmap->embed the
2555 maximum number of sectors we care about.
2556
25572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
2560 Specify blocklist_install and reserver_first_sector for all fs.
2561 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
2562 blocklists.
2563
984b973f
VS
25642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2565
2566 * util/grub-install.in: Clarify strings.
2567 Fix source dir check.
2568
f122e0d6
RL
25692012-02-27 Richard Laager <rlaager@wiktel.com>
2570
2571 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
2572 "zfs" and "fuse.zfs" as synonyms.
2573
071114bb
VS
25742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * configure.ac: Put platform and target_cpu substitutions back since
2577 they are used for directories.
2578
817e6abc
RL
25792012-02-27 Richard Laager <rlaager@wiktel.com>
25802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2581
2582 * util/grub.d/10_linux.in: Add ZFS-related arguments.
2583 * util/grub.d/20_linux_xen.in: Likewise.
2584
897b7419
RL
25852012-02-27 Richard Laager <rlaager@wiktel.com>
2586
2587 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
2588 with full paths.
2589
a414bd15
RL
25902012-02-27 Richard Laager <rlaager@wiktel.com>
2591
2592 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
2593 unescape.
2594
30ac48c4
VS
25952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 Don't use insecure popen in getroot.
2598
2599 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
2600 (exec_pipe): ... here.
2601 (find_root_devices_from_poolname): Use exec_pipe.
2602
53f13848
VS
26032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 Remove platform and target_cpu replacement.
2606
2607 * configure.ac: Remove platform and target_cpu substitutions.
2608 * tests/util/grub-shell.in: Use modinfo.
2609 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
2610 explicitly.
2611
90cb2803
VS
26122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 Autodetect platform in grub-install but allow override.
2615
2616 * util/grub-install.in: Autodetect platform. Support --target and
2617 --directory. Read platform from modinfo.sh.
2618
b9136427
VS
26192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 Support btrfs multi-volume probe.
2622
2623 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
2624 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
2625 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
2626 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
2627 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
2628 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
2629 grub_find_root_devices_from_btrfs if on btrfs.
2630
c36e5cd1
VS
26312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2632
2633 Remove any awareness of *.c util files about target.
2634
2635 * Makefile.util.def (grub-setup): Split to ...
2636 (grub-bios-setup): ... and this.
2637 (grub-sparc64-setup): ... and this.
2638 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
2639 * docs/man/grub-setup.h2m: Split into ...
2640 * docs/man/grub-sparc64-setup.h2m: ... this.
2641 * docs/man/grub-bios-setup.h2m: ... and this.
2642 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
2643 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
2644 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
2645 (grub_target_addr_t): Remove.
2646 (grub_target_size_t): Remove.
2647 (grub_target_ssize_t): Remove.
2648 * util/grub-install.in: Use new grub-*-setup.
2649 * util/grub-mkimagexx.c (Elf_Word): New define.
2650 (Elf_Half): Likewise.
2651 (Elf_Section): Likewise.
2652 (ELF_ST_TYPE): Likewise.
2653 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
2654 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
2655
584b2f8a
VS
26562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2657
2658 Replace grub_target_addr with more appropriate types.
2659
2660 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
2661 grub_target_addr with grub_addr.
2662 * grub-core/commands/iorw.c (grub_cmd_read): Replace
2663 grub_target_addr with grub_port.
2664 (grub_cmd_write): Likewise.
2665 * grub-core/commands/memrw.c (grub_cmd_read): Replace
2666 grub_target_addr with grub_addr.
2667 (grub_cmd_write): Likewise.
2668 * grub-core/video/efi_uga.c (find_line_len): Likewise.
2669
5a0dc6fb
VS
26702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2671
2672 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
2673 const qualifier for vendor_guid.
2674
786aff6e
VS
26752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
2678 const qualifier.
2679 (efiemu_memequal): Likewise.
2680 (find_variable): Likewise.
2681
49017b17
VS
26822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2683
2684 Fix missing console prototype on qemu-mips.
2685
2686 * include/grub/mips/qemu_mips/console.h: New file.
2687
c5988629
MG
26882012-02-27 Matthew Garrett <mjg@redhat.com>
26892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2690
2691 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
2692 * include/grub/efi/efi.h: Likewise.
2693 * include/grub/efi/api.h: Add guid for EFI-specified variables.
2694 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
2695 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
2696 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
2697 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
2698 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
2699
e33f8d69
MG
27002012-02-27 Matthew Garrett <mjg@redhat.com>
2701
2702 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
2703
fb312cd9
VS
27042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2705
2706 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
2707 error.
2708
7134247c
VS
27092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2710
2711 * configure.ac: Remove inappropriate use of program_transform_name
2712 on grubdir and bootdir but allow explicit specification of those
2713 variables.
2714
6a313124
VS
27152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2716
2717 * util/grub-mknetdir.in (grub_prefix): Removed.
2718 (subdir): Use @bootdirname@ and @grubdirname@.
2719
2311c5ca
VS
27202012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2721
2722 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
2723
7d5d60f7
VS
27242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 * po/POTFILES.in: Regenerated.
2727
8151bc82
VS
27282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 Remove improper use of program_transform_name on pkglibrootdir.
2731
2732 * configure.ac (pkglibrootdir): Removed.
2733 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
2734 * util/grub-mkimage.c: Likewise.
2735
b4a6a533
VS
27362012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
2739 warning.
2740
668f304f
VS
27412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2742
2743 * util/grub-install.in: Use file identifier if no UUID is available
2744 or user explicitly prompted for it.
2745
665f2341
NP
27462012-02-27 Navdeep Parhar <nparhar@gmail.com>
2747
2748 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
2749 (freebsd_get_zfs): New function.
2750 (grub_freebsd_boot): Pass zfs UUID.
2751 (grub_cmd_freebsd): Set zfs UUID.
2752
8151bc82 27532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
2754
2755 * conf/Makefile.common (platformdir): Base on pkglibdir and not
2756 pkglibrootdir.
2757
e4c498a1
MG
27582012-02-27 Mike Gilbert <floppym@gentoo.org>
2759
2760 Add configure flag to control libzfs integration.
2761
2762 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
2763
1e9a9a3f
VS
27642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
2767 device.
2768 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
2769 small devices.
2770
036985b8
VS
27712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2772
2773 Remove grub_{modname}_init and grub_{modname}_fini. They should never
2774 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
2775 be used on non-modules.
2776
2777 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
2778 Rename to grub_boot_init.
2779 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
2780 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
2781 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
2782 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
2783 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
2784 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
2785 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
2786 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
2787 includes.
2788 (grub_machine_init): Remove empty inits.
2789 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
2790 includes.
2791 (grub_machine_init): Remove empty inits.
2792 * grub-core/term/arc/console.c: Remove explicit proto.
2793 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
2794 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
2795 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2796 grub_at_keyboard_fini.
2797 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
2798 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
2799 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2800 grub_gfxterm_fini.
2801 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
2802 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
2803 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2804 grub_vgatext_fini.
2805 * grub-core/term/ieee1275/console.c: Remove explicit proto.
2806 * grub-core/term/serial.c (GRUB_MOD_INIT)
2807 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
2808 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2809 grub_serial_fini.
2810 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
2811 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
2812 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
2813 grub_terminfo_fini.
2814 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
2815 (GRUB_MOD_FINI): Likewise.
2816 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
2817 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
2818 (GRUB_MOD_FINI) [LOONGSON]: Rename to
2819 grub_video_radeon_fuloong2e_fini.
2820 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
2821 [LOONGSON]: Rename to grub_video_sis315pro_init.
2822 (GRUB_MOD_FINI) [LOONGSON]: Rename to
2823 grub_video_sis315pro_fini.
2824 * grub-core/video/sm712.c (GRUB_MOD_INIT)
2825 [LOONGSON]: Rename to grub_video_sm712_init.
2826 (GRUB_MOD_FINI) [LOONGSON]: Rename to
2827 grub_video_sm712_fini.
2828 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
2829 (grub_at_keyboard_fini): Likewise.
2830 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
2831 Don't declare grub_{modname}_init.
2832 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
2833 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
2834 New proto.
2835 (grub_keylayouts_fini) [!EMU]: Likewise.
2836 * include/grub/serial.h (grub_serial_init) [!EMU]:
2837 New proto.
2838 (grub_serial_fini) [!EMU]: Likewise.
2839 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
2840 New proto.
2841 (grub_terminfo_fini) [!EMU]: Likewise.
2842 * include/grub/video.h (grub_font_init) [!EMU]:
2843 New proto.
2844 (grub_font_fini) [!EMU]: Likewise.
2845 (grub_gfxterm_init) [!EMU]: Likewise.
2846 (grub_gfxterm_fini) [!EMU]: Likewise.
2847 (grub_video_sm712_init) [!EMU]: Likewise.
2848 (grub_video_sm712_fini) [!EMU]: Likewise.
2849 (grub_video_sis315pro_init) [!EMU]: Likewise.
2850 (grub_video_sis315pro_fini) [!EMU]: Likewise.
2851 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
2852 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
2853
d5534665
VS
28542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2855
2856 Make nand a prefix for nand devices.
2857
2858 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
2859
10133b5f
VS
28602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
2863 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
2864
8e307a62
VS
28652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2866
2867 * include/grub/env.h (grub_env_find): Remove prototype.
2868 * grub-core/kern/env.c (grub_env_find): Make static.
2869 (grub_env_set): Remove useless set.
2870
a4c65f34
VS
28712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2872
2873 * grub-core/kern/i386/realmode.S: Remove useless align.
2874
d87893d5
VS
28752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 * include/grub/dl.h (grub_dl_load_file): Don't export.
2878
50159add
VS
28792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2880
2881 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
2882 grub_dprintf.
2883
b2582b84
VS
28842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2885
2886 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
2887 grub_errors.
2888 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
2889 not reloading whole superblock but only the part which is really needed.
2890 Remove useless grub_errors.
2891 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
2892 grub_errors.
2893
e2a83395
VS
28942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 Don't export grub_get_rtc.
2897
2898 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
2899 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
2900
e7d2a906
VS
29012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2902
2903 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
2904
6cf1363b
VS
29052012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 2908 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 2909
eece3349
VS
29102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2911
2912 Remove prio_list.
2913
2914 * include/grub/list.h (grub_prio_list): Removed.
2915 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
2916 GRUB_COMMAND_PRIO_MASK.
2917 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
2918 GRUB_COMMAND_FLAG_ACTIVE.
2919 (grub_prio_list_insert): Removed.
2920 (grub_prio_list_remove): Likewise.
2921 (GRUB_AS_PRIO_LIST): Likewise.
2922 (GRUB_AS_PRIO_LIST_P): Likewise.
2923 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
2924 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
2925 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
2926 * grub-core/kern/command.c (grub_register_command_prio): Inline
2927 the prio_list code.
2928 (grub_unregister_command): Likewise.
2929
94f064b4
VS
29302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2931
2932 Fix interrupt mixup from previous commit.
2933
2934 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
2935 (grub_realidt): New var.
2936 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
2937 Load idt.
2938 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
2939 New declaration.
2940 (grub_relocator16_boot): Set grub_relocator16_idt.
2941 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
2942 (LOCAL(realidt)): ... this.
2943 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
2944 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
2945 (grub_realidt): New variable.
2946
27317084
VS
29472012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2948
2949 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
2950 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
2951 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
2952 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
2953 Gettextize.
2954 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
2955 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
2956 * po/POTFILES.in: Regenerate.
2957
47b40053
VS
29582012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2959
2960 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
2961 errors.
2962
2b343101
VS
29632012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2964
2965 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
2966 \0.
2967 (add_length): Likewise.
2968
ff27c3dd
LK
29692012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
29702012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
2971
2972 GDB serial and backtrace support.
2973
2974 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
2975 (prot_to_real): Likewise.
2976 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
2977 * grub-core/Makefile.core.def (backtrace): New module.
2978 (gdb): Likewise.
2979 * grub-core/gdb/cstub.c: New file.
2980 * grub-core/gdb/gdb.c: Likewise.
2981 * grub-core/gdb/i386/idt.c: Likewise.
2982 * grub-core/gdb/i386/machdep.S: Likewise.
2983 * grub-core/gdb/i386/signal.c: Likewise.
2984 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 2985 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
2986 * include/grub/backtrace.h: Likewise.
2987 * include/grub/gdb.h: Likewise.
2988 * include/grub/i386/gdb.h: Likewise.
2989
29902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
2991
2992 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
2993 New function.
2994 (add_length): Likewise.
2995 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
2996 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
2997 proto.
2998 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
2999 __argp_get_display_len.
3000
ff27c3dd 30012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
3002
3003 $"..." support in scripts.
3004
3005 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
3006 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
3007 * grub-core/script/yylex.l: Likewise.
3008 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
3009 value.
3010
ff27c3dd 30112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
3012
3013 * gentpl.py: Remove obsolete pkglib_DATA handling.
3014
ff27c3dd 30152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
3016
3017 Don't transform PACKAGE_TARNAME following a discussion on autoconf
3018 mailing list.
3019
3020 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
3021 * util/grub-kbdcomp.in: Likewise.
3022 * util/grub-mkconfig.in: Likewise.
3023 * util/grub-mkconfig_lib.in: Likewise.
3024 * util/grub-mknetdir.in: Likewise.
3025 * util/grub-mkrescue.in: Likewise.
3026 * util/grub-mkstandalone.in: Likewise.
3027 * util/grub-reboot.in: Likewise.
3028 * util/grub-set-default.in: Likewise.
3029 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3030
ff27c3dd 30312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
3032
3033 Remove GRUB_PREFIX.
3034
3035 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
3036 * util/grub.d/00_header.in: Compute prefix in the only place it's still
3037 used for backward compatibility.
3038
ff27c3dd 30392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
3040
3041 Add new all_video module.
3042
3043 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
3044 * grub-core/Makefile.core.def (all_video): New module.
3045 * grub-core/genmoddep.awk: Generate dependency of all_video from
3046 video.lst.
3047 * grub-core/lib/fake_module.c: New file.
3048 * grub-core/normal/main.c (features): Add feature_all_video_module.
3049 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
3050 don't do explicit search again.
47454da5 3051 insmod all_video in load_video if available.
22c7ce85 3052
ff27c3dd 30532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
3054
3055 Another round of string clarification and adding TRANSLATORS comments.
3056
ff27c3dd 30572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
3058
3059 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
3060
ff27c3dd 30612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
3062
3063 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
3064 to grub_ssize_t.
3065 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
3066 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
3067
ff27c3dd 30682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
3069
3070 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
3071 trailing newline implicitly. All users updated.
3072
ff27c3dd 30732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
3074
3075 Implement serial on IEEE1275 and EFI.
3076
3077 * docs/grub.texi (Platform-specific limitations): Fix the columen video
3078 on emu. Mention arc and emu as the only platforms without serial
3079 support.
3080 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
3081 ieee1275 platforms.
3082 * grub-core/term/efi/serial.c: New file.
3083 * grub-core/term/ieee1275/serial.c: Likewise.
3084 * grub-core/term/serial.c (grub_serial_find): Disable direct port
3085 specification if no ns8250 driver is available.
3086 (grub_cmd_serial): Likewise.
3087 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
3088 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
3089 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
3090 (grub_efi_parity_type_t): New type.
3091 (grub_efi_stop_bits_t): Likewise.
3092 (grub_efi_serial_io_interface): New struct.
3093 * include/grub/serial.h (grub_serial_port): Make 'broken' field
3094 available for all interfaces.
3095 Add EFI and IEEE1275 fields.
3096 (grub_ofserial_init): New proto.
3097 (grub_efiserial_init): Likeiwse.
3098 * util/grub.d/00_header.in: Don't check for the presence of serial
3099 module.
3100
ff27c3dd 31012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
3102
3103 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
3104 name as if it was an alias.
3105
114076ef
VS
31062012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3107
3108 * grub-core/commands/lsacpi.c (options): Fix typo.
3109
6a656b0e
VS
31102012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3111
3112 Convert grub-emu to argp.
3113
3114 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
3115 emu.
3116 * util/argp_common.c: Rename to ...
3117 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
3118 Add missing includes.
3119 * grub-core/kern/emu/main.c: Convert to argp.
3120 * po/POTFILES.in: Regenerate.
3121 * util/grub-install.in (usage): Make first letter lowcase in messages
3122 for uniformity.
3123 * util/grub-setup.c (options): Likewise.
3124
1e3f8ae8
VS
31252012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3126
3127 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
3128 Put back accidently commented-out code.
3129
ed167a80
VS
31302012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
3133 loop check using Brent algorithm.
3134 (grub_hfsplus_btree_search): Likewise.
3135
6753c0ec
VS
31362012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 * util/grub-install.in: Fix usage of wrong device for PreP install.
3139
4e27343f
VS
31402012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 * conf/Makefile.common (CFLAGS_GNULIB): Add
3143 -Wno-unsafe-loop-optimizations.
3144 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
3145 on tools.
3146 * grub-core/commands/legacycfg.c: Add pragma to skip
3147 -Wunsafe-loop-optimizations.
3148 (check_password_md5_real): Fix loop counter type.
3149 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
3150 reading.
3151 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
3152 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
3153 loop condition.
3154 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
3155 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
3156 * grub-core/net/net.c (grub_net_route_address): Add safety loop
3157 condition.
3158 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
3159 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
3160 avoid possible infinite loops.
3161 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
3162 and -Wunsafe-loop-optimizations.
3163 * grub-core/script/yylex.l: Likewise.
3164 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
3165 (print_glyphs): Avoid infinite loops.
3166 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
3167
697f18b0
GS
31682012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
3169
3170 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
3171 to avoid infinite loop.
3172 (disp_acpi_rsdt_table): Likewise.
3173
274416e8
VS
31742012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3175
3176 * grub-core/font/font.c (grub_font_load): Add support for default
3177 path for fonts ($prefix/fonts).
3178 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
3179 for checking if string is a path.
3180 * grub-core/normal/main.c (features): Add feature_default_font_path.
3181 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
3182 * util/grub.d/00_header.in: Use default directory if possible.
3183 * util/grub-install.in: Install unicode.pf2.
3184
b3e08622
VS
31852012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
3188 * po/Rules-swiss: New file.
3189 * po/swiss.sed: Likewise.
3190
fe42ce09
VS
31912012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * grub-core/fs/btrfs.c (find_device): Fix typos.
3194 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
3195 * util/grub-mkrelpath.c (argp_parser): Likewise.
3196 Reported by: Yuri Chornoivan.
3197
72f1d065
DO
31982012-02-23 Dalet Omega <daletomega@gmail.com>
3199
3200 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
3201 for usual informative messages.
3202
c5884973
DO
32032012-02-23 Dalet Omega <daletomega@gmail.com>
3204
3205 Starfield theme.
3206
3207 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
3208 * conf/Makefile.common: Define starfielddir.
3209 * configure.ac: Configure starfield.
3210 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
3211 * themes/starfield/README: Likewise.
3212 * themes/starfield/blob_w.png: Likewise.
3213 * themes/starfield/boot_menu_c.png: Likewise.
3214 * themes/starfield/boot_menu_e.png: Likewise.
3215 * themes/starfield/boot_menu_n.png: Likewise.
3216 * themes/starfield/boot_menu_ne.png: Likewise.
3217 * themes/starfield/boot_menu_nw.png: Likewise.
3218 * themes/starfield/boot_menu_s.png: Likewise.
3219 * themes/starfield/boot_menu_se.png: Likewise.
3220 * themes/starfield/boot_menu_sw.png: Likewise.
3221 * themes/starfield/boot_menu_w.png: Likewise.
3222 * themes/starfield/slider_c.png: Likewise.
3223 * themes/starfield/slider_n.png: Likewise.
3224 * themes/starfield/slider_s.png: Likewise.
3225 * themes/starfield/src/blob_nw.xcf: Likewise.
3226 * themes/starfield/src/bootmenu/: Likewise.
3227 * themes/starfield/src/bootmenu/center.xcf: Likewise.
3228 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
3229 * themes/starfield/src/bootmenu/side.xcf: Likewise.
3230 * themes/starfield/src/slider_c.xcf: Likewise.
3231 * themes/starfield/src/slider_n.xcf: Likewise.
3232 * themes/starfield/src/slider_s.xcf: Likewise.
3233 * themes/starfield/src/terminalbox/: Likewise.
3234 * themes/starfield/src/terminalbox/center.xcf: Likewise.
3235 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
3236 * themes/starfield/src/terminalbox/side.xcf: Likewise.
3237 * themes/starfield/starfield.png: Likewise.
3238 * themes/starfield/terminal_box_c.png: Likewise.
3239 * themes/starfield/terminal_box_e.png: Likewise.
3240 * themes/starfield/terminal_box_n.png: Likewise.
3241 * themes/starfield/terminal_box_ne.png: Likewise.
3242 * themes/starfield/terminal_box_nw.png: Likewise.
3243 * themes/starfield/terminal_box_s.png: Likewise.
3244 * themes/starfield/terminal_box_se.png: Likewise.
3245 * themes/starfield/terminal_box_sw.png: Likewise.
3246 * themes/starfield/terminal_box_w.png: Likewise.
3247 * themes/starfield/theme.txt: Likewise.
3248
17d73325
VS
32492012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
3250
3251 * util/grub.d/00_header.in: Add missing export theme.
3252
dbebaf92
VS
32532012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3254
3255 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
3256 already included.
3257 Reported by: Eren D.
3258
3d68bffb
VS
32592012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3260
3261 * conf/Makefile.common (grubdatadir): Removed.
3262 (Makefile.am): Move eveything grubdata to pkgdata.
3263
4b59234d
VS
32642012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3265
3266 * grub-core/commands/acpihalt.c (get_sleep_type):
3267 Remove unused variable.
3268
463dcadc
VS
32692012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
3272 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
3273 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
3274 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
3275 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
3276 i18n with gettext no-op.
3277 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
3278 GRUB_ACPI_OPCODE_STRING_CONST.
3279 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
3280 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
3281
e5b90c82
VS
32822012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3283
3284 * po/POTFILES.in: Regenerate.
3285
2a704ca9
VS
32862012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3287
3288 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
3289 -Wno-error=missing-noreturn.
3290
84f9d341
VS
32912012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
3294 condition to avoid possibly infinite loops.
3295 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
3296 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
3297
d46683f9
VS
32982012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3299
3300 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
3301 condition to avoid possibly infinite loops.
3302
c44866b2
VS
33032012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3304
3305 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
3306 on show_error.
3307
96790539
VS
33082012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
3311
1ba7e295
VS
33122012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
3315
21ffe8f1
VS
33162012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3317
3318 * util/bin2h.c (usage): Add missing attribute noreturn.
3319
0ccb6b3c
VS
33202012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3321
3322 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
3323 if the size isn't divisible by 512.
3324
b00d7fb6
VS
33252012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3326
3327 Make list_push and list_remove functions rather than inline functions
3328 to decrease size and avoid aliasing violations.
3329
3330 * include/grub/list.h (grub_list_push): Move to ...
3331 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
3332 * include/grub/list.h (grub_list_remove): Move to ...
3333 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
3334
9d369087
VS
33352012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
3338 and -Wunused-result.
3339
af0250d9
VS
33402012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
3341
3342 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
3343 Reported by: Seth Goldberg
3344
aad32b14
VS
33452012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
3346
3347 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
3348
ac96441c
ST
33492012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
3350
3351 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
3352 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
3353 command line.
3354 * docs/grub.texi (Simple configuration): Document
3355 GRUB_CMDLINE_GNUMACH.
3356
33572012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
3358
3359 * conf/Makefile.common (platform_SCRIPTS): New variable.
3360 (platform_PROGRAMS): Likewise.
3361 * gentpl.py: Mark *,module and *.image for install.
3362 * grub-core/gdb_grub.in: Add a notice of expected environment.
3363 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
3364 (gmodule.pl): Likewise.
3365
ac96441c 33662012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
3367
3368 Replace grub_checkkey with grub_getkey_noblock.
3369
3370 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
3371 (grub_getkey_noblock): ... this. All users updated.
3372
ac96441c 33732012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
3374
3375 * grub-core/kern/emu/console.c: Move to ...
3376 * grub-core/term/emu/console.c: ...here.
3377 (grub_ncurses_getkey): Fix return value if no key is detected.
3378
e51b5666
VS
33792012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3380
3381 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
3382 (grub_unit_test_fini): Likewise.
3383 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
3384
33852012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3386
3387 * include/grub/test.h (GRUB_UNIT_TEST)
3388
d9a62292
VS
33892012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 * grub-core/script/execute.c (grub_script_break): Clarify logic.
3392 Better error handling.
3393 (grub_script_return): Likewise.
3394 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
3395
77c9182f
VS
33962012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
3399 rimplicit redifinition.
3400
edb13cf9
VS
34012012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3402
3403 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
3404 GRUB.
3405
a9e9dc7c
VS
34062012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3407
3408 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
3409 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
3410 prompt here.
3411
b4ba8e02
VS
34122012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3413
3414 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
3415 as GRUB_ERR_BUG. Don't malloc if no device is available.
3416
dded5540
VS
34172012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3418
3419 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
3420 Mark calling with invalid term as GRUB_ERR_BUG.
3421
0cf69874
VS
34222012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3423
3424 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
3425 packets rather than raising an error.
3426
59bfe502
VS
34272012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3428
3429 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
3430 in if.
3431
db5fc596
VS
34322012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3433
3434 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
3435 diagnostic to dprintf.
3436 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3437
e4b7f404
VS
34382012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
3441 device name.
3442
e7b02f9e
VS
34432012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3444
3445 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
3446 (grub_ntfs_iterate_dir): Likewise.
3447
0331e102
VS
34482012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3449
3450 Efiemu stylistic fixes and gettext.
3451
3452 * grub-core/efiemu/i386/loadcore32.c
3453 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
3454 * grub-core/efiemu/i386/loadcore64.c
3455 (grub_arch_efiemu_relocate_symbols64): Likewise.
3456 * grub-core/efiemu/i386/pc/cfgtables.c
3457 (grub_machine_efiemu_init_tables): Likewise.
3458 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
3459 (grub_efiemu_loadcore_initXX): Add a filename argument.
3460 All users updated.
3461 Improved error message.
3462 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
3463 Add a filename argument.
3464 All users updated.
3465 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
3466 Reclassify double relocation as GRUB_ERR_BUG.
3467
306fc074
VS
34682012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3469
3470 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
3471 handling.
3472
794d8ef2
VS
34732012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3474
3475 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
3476 on partition.
3477
34782012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
3479
3480 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
3481
794d8ef2 34822012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
3483
3484 Improve string. Gettextize.
3485
78dde88e
VS
34862012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3487
3488 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
3489 utils.
3490 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
3491
4786a90f
VS
34922012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3493
3494 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
3495 [GRUB_UTIL]: New function.
3496 (insert_array) [GRUB_UTIL]: Store partmaps.
3497 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
3498 partmaps.
3499 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
3500 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
3501 (probe_abstraction): Print diskfilter and not raid.
3502 Reported by: Lennart Sorensen
3503
0b6225bd
VS
35042012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3505
3506 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
3507 * util/grub-mkimagexx.c (MASK3): New define.
3508 (add_value_to_slot_20b): Use MASK3.
3509 (add_value_to_slot_21): Likewise.
3510 (relocate_addresses): Fix format specification.
3511 (load_image): Explicitly init symtab_section.
3512
b055f8f6
VS
35132012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3514
3515 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
3516 (grub_util_biosdisk_get_grub_dev): Fix format specification.
3517
b77c2fb7
VS
35182012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
3521 on powerpc.
3522 Reported by: Lennart Sorensen
3523
e3ec28ab
VS
35242012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
3525
3526 * gentpl.py: Add missing license header.
3527 * docs/grub.texi: Update copyright year.
3528
c8d9ead6
GS
35292012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
3530
3531 Source grub-mkconfig_lib from the build directory at build time.
3532 Suggested by: Vladimir Serbinenko.
3533
3534 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
3535 * util/grub-install.in: Define pkgdatadir if not already set, and source
3536 grub-mkconfig_lib from there.
3537 * util/grub-kbdcomp.in: Likewise.
3538 * util/grub-mkconfig.in: Likewise.
3539 * util/grub-mknetdir.in: Likewise.
3540 * util/grub-mkrescue.in: Likewise.
3541 * util/grub-mkstandalone.in: Likewise.
3542 * util/grub-reboot.in: Likewise.
3543 * util/grub-set-default.in: Likewise.
3544 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3545
ebcecdf1
VS
35462012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3547
3548 Increase warning level.
3549
3550 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
3551 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
3552 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
3553 (TARGET_CFLAGS): Likewise.
3554 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
3555 * grub-core/Makefile.core.def (decompressor_xz): Add
3556 -Wno-unreachable-code.
3557 (normal): Add -Wno-redundant-decls.
3558 (xzio): Add -Wno-unreachable-code.
3559 (lzopio): Add -Wno-redundant-decls -Wno-error.
3560 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
3561 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
3562 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
3563 * grub-core/kern/dl.c: Add exception to -Wcast-align.
3564 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
3565 * grub-core/kern/i386/coreboot/init.c: Add exception to
3566 -Wsuggest-attribute=noreturn.
3567 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
3568 * grub-core/kern/ia64/dl_helper.c: Likewise.
3569 * grub-core/kern/mips/dl.c: Likewise.
3570 * grub-core/kern/sparc64/dl.c: Likewise.
3571 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
3572 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
3573 (memcmp): Likewise.
3574 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
3575 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
3576 * grub-core/loader/mips/linux.c: Likewise.
3577 * grub-core/loader/multiboot_elfxx.c: Likewise.
3578 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
3579 * grub-core/video/sm712.c: Add exception to -Wcast-align.
3580 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
3581 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
3582 fixme.
3583 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
3584 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
3585 Fix prototype.
3586
37bb97fe
VS
35872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
3590 address.
3591
29a3550b
VS
35922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3593
3594 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
3595 Avoid improper use of strings.
3596 (grub_cmd_legacy_initrdnounzip): Likewise.
3597
dfdffd0d
VS
35982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3599
3600 * include/grub/emu/misc.h (grub_util_warn): Add missing format
3601 attribute.
3602 (grub_util_info): Likewise.
3603 (grub_util_error): Likewise.
3604
102fae4a
VS
36052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3606
3607 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
3608 * util/grub-fstest.c (fstest): Likewise.
3609
7e94d044
VS
36102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3611
3612 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
3613 (grub_md_sha512_real): Likewise.
3614 (grub_util_get_geli_uuid): Likewise.
3615 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
3616 (grub_util_biosdisk_open): Fix format specification.
3617 Respect format security.
3618 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
3619 (xrealloc): Likewise.
3620 (xasprintf): Likewise.
3621
5ebd9769
VS
36222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 * util/import_gcry.py: Include grub/crypto.h in init.c.
3625
495fc8c1
VS
36262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3627
3628 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
3629 (generate_image): Make prefix a const char *.
3630 Fix format specifications. Respect format security.
3631 Avoid void * arithmetics.
3632 Avoid shadowing.
3633 (argp_parser): Remove unused variable. Respect format security.
3634 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
3635 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
3636 (count_funcs): Remove unused variable.
3637 (relocate_addresses): Fix format specification.
3638 Disable x86-64 with elf32. Remove unused variables.
3639 (add_fixup_entry): Avoid shadowing.
3640 (make_reloc_section): Fix format specification.
3641 Use assert.
3642 (locate_sections): Fix format specifications.
3643 (load_image): Avoid shadowing.
3644
043c2ea3
VS
36452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3646
3647 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
3648 Fix format specifications. Respect format security.
3649 Don't translate already translated grub_errmsg.
3650 (argp_parser): Remove unused variable
3651
3ec65a81
VS
36522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3653
3654 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
3655
a4d9fe4a
VS
36562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3657
3658 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
3659 (main): Likewise. Use xmalloc. Respect format security.
3660
15b81d49
VS
36612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3662
3663 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
3664 a const char *.
3665 (argp_parser): Remove unused variable.
3666
31731fc0
VS
36672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3668
3669 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
3670 (add_pixel): Make static.
3671 (add_font): Likewise.
3672 (write_string_section): Make name and str a const char *.
3673 (write_be16_section): Make name a const char *.
3674 (print_glyphs): Make static.
3675 (write_font_ascii_bitmap): Likewise.
3676 (write_font_width_spec): Likewise.
3677 (write_font_pf2): Likewise.
3678 (argp_parser): Remove unused variable.
3679 Respect format security.
3680 (main): Avoid shadowing. Respect format security.
3681
0809527b
VS
36822012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3683
3684 * util/grub-editenv.c (argp_parser): Make static.
3685 (create_envblk_file): Use xmalloc.
3686 (open_envblk_file): Likewise.
3687 Resepect format security.
3688 (set_variables): Respect format security.
3689
45b0c8b7
VS
36902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * util/getroot.c (grub_find_device): Respect format security.
3693 (get_mdadm_uuid): Remove unused variable.
3694 (grub_util_pull_device): Dont call gettext on already translated
3695 grub_errmsg.
3696 (find_system_device): Remove unused variable.
3697 (grub_util_get_grub_dev): Likewise.
3698 (grub_make_system_path_relative_to_its_root): Respect format security.
3699
1b024b4e
VS
37002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3701
3702 * util/grub-fstest.c (execute_command): Make first argument
3703 a const char *.
3704 (read_file): Avoid shadowing.
3705 Reuse underlying error message if device open fails.
3706 (cmd_cmp): Respect format security.
3707 (root): Make const char *.
3708 (fstest): Remove args argument and use global copy.
3709 Respect format security.
3710 (argp_parser): Make static.
3711 (main): Make default_root const char *.
3712
5d1d4e28
VS
37132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3714
3715 * util/grub-mount.c (root): Make const char *.
3716 (execute_command): Make first argument a const char *.
3717 (fuse_init): Respect format security.
3718 (argp_parser): Make static. Remove unused variable.
3719 (main): Make default_root a const char *.
3720 Respect format security.
3721
36eb7379
VS
37222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3723
3724 * util/grub-probe.c (probe): Don't call gettext on already translated
3725 grub_errmsg.
3726 Remove unused variables.
3727 (argp_parser): Remove unused variable.
3728
76fb2ea9
VS
37292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3730
3731 * util/grub-script-check.c (argp_parser): Remove unused variable.
3732 (main): Rename read to curread to avoid shadowing.
3733
56c98584
VS
37342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3735
3736 * util/misc.c (grub_util_write_image_at): Fix format specification.
3737 (grub_util_write_image): Likewise.
3738 (grub_script_execute_argument_to_string): Removed (unused).
3739 (grub_script_execute_menuentry): Likewise.
3740 (grub_putchar): Likewise.
3741
164ebb48
VS
37422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3743
3744 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
3745 (FUNCTION) [GRUB_UTIL]: Likewise.
3746 (VARIABLE) [GRUB_UTIL]: Likewise.
3747
44318d61
VS
37482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
3751 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
3752
31a26002
VS
37532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3754
3755 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
3756 buffer.
3757
37582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3759
3760 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
3761 (LzmaEnc_SaveState): Removed (unused).
3762 (LzmaEnc_RestoreState): Likewise.
3763 (LzmaEnc_InitPriceTables): Made static.
3764 (LzmaEnc_Construct): Likewise.
3765 (LzmaEnc_FreeLits): Likewise.
3766 (LzmaEnc_Destruct): Likewise.
3767 (LzmaEnc_Init): Likewise.
3768 (LzmaEnc_InitPrices): Likewise.
3769 (LzmaEnc_Finish): Likewise.
3770 (LzmaEnc_PrepareForLzma2): Removed (unused).
3771 (LzmaEnc_MemPrepare): Likewise.
3772 (LzmaEnc_GetNumAvailableBytes): Likewise.
3773 (LzmaEnc_GetCurBuf): Likewise.
3774 (LzmaEnc_CodeOneMemBlock): Likewise.
3775
6fa67967
VS
37762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3777
3778 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
3779 (grub_util_ldm_embed): Likewise.
3780
9a7428e6
VS
37812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 * util/grub-editenv.c (print_var): Rename name to varname to
3784 avoid shadowing.
3785 (main): Rename index to curindex to avoid shadowing.
31a26002 3786 Make filename a const char *.
9a7428e6 3787
4f96abd1
VS
37882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
3791 to arg_getline to avoid shadowing.
3792
44d10dad
VS
37932012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
3796 disk_ to avoid shadowing.
3797
340ba63e
VS
37982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
3801 curindex to avoid shadowing.
3802 Make static.
3803 (MatchFinder_GetNumAvailableBytes): Make static.
3804
22965bce
VS
38052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
3808 avoid shadowing.
3809
7b5784d4
VS
38102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3811
3812 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
3813 argument from encrypt to do_encrypt to avoid shadowing.
3814
6f48ca01
VS
38152012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3816
3817 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
3818 incorrect nesting of #if's.
3819
a4ea2dff
VS
38202012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
3823 checks which are always false on some platforms.
3824 (grub_cmd_lsacpi): Likewise.
3825 * grub-core/kern/misc.c (grub_strtoul): Likewise.
3826 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
3827 Likewise.
3828
def9fc1b
VS
38292012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3830
3831 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
3832 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
3833
a67b2a04
VS
38342012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3835
3836 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
3837 re_dfa_t to avoid breaking alignment invariants.
3838 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
3839 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
3840
44c6828d
VS
38412012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3842
3843 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
3844 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
3845
bebe0dd0
VS
38462012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3847
3848 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
3849 Fix declaration.
3850
a9cdb3cf
VS
38512012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3852
3853 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
3854 conserve alignment invariants.
3855 (grub_ehci_ehcc_read16): Likewise.
3856 (grub_ehci_oper_read32): Likewise.
3857 (grub_ehci_oper_write32): Likewise.
3858 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
3859 Conserve alignment invariants.
3860
ccc3b1b8
VS
38612012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3862
3863 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
3864 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
3865 declarations.
3866
987fbd95
VS
38672012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3868
3869 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
3870 Remove unused variable.
3871
0df363f3
VS
38722012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3873
3874 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
3875 Remove set in if.
3876
b2c0c4a6
VS
38772012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3878
3879 * include/grub/net.h: Remove double declarations.
3880
690c531f
VS
38812012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3882
3883 Remove "payload" command in ia64 Linux loader since I couldn't
3884 find any evidence of it being used for anything.
3885 Replace "relocate" command with an environment variable
3886
3887 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
3888 fields.
3889 (ia64_boot_payload): Removed.
3890 (last_payload): Likewise.
3891 (RELOCATE_OFF): Likewise.
3892 (RELOCATE_ON): Likewise.
3893 (RELOCATE_FORCE): Likewise.
3894 (relocate): Likewise.
3895 (free_pages): Don't free payloads.
3896 (grub_load_elf64): Use common error messages.
3897 Use "linux_relocate" variable.
3898 Increase the space after boot_params.
3899 (grub_cmd_payload): Removed.
3900 (grub_cmd_relocate): Likewise.
3901 (grub_cmd_fpswa): Improve messages.
3902 (cmd_payload): Removed.
3903 (cmd_relocate): Likewise.
3904 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
3905 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
3906
01783768
VS
39072012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 Convert UHCI to DMA framework.
3910
3911 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
3912 (grub_uhci_pci_iter): Fill new members
3913 (grub_alloc_td): Use P2V and V2P functions.
3914 (grub_free_queue): Likewise.
3915 (grub_alloc_qh): Likewise.
3916 (grub_uhci_setup_transfer): Likewise.
3917 (grub_uhci_check_transfer): Likewise.
3918
43206939
VS
39192012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3920
3921 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
3922 Remove assignment in if while on it.
3923
571e140e
VS
39242012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3925
3926 * util/grub-mkstandalone.in: Fix modules directory.
3927
a9d96eeb
VS
39282012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3929
3930 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
3931 on i386-pc target.
3932 (argp_parser): Accept "auto" as compression specification.
3933
e4e37e8d
VS
39342012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 Fix `help' with unloaded modules.
3937
3938 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
3939 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
3940 (grub_dyncmd_dispatcher): Small stylistic fix.
3941 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
3942 explicit help is requested.
3943
e1ea3ade
VS
39442012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3945
3946 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
3947 Explicitly init restart while on it.
3948
27556881
VS
39492012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3950
3951 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
3952 uninited variable.
3953
d65f6b36
VS
39542012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3955
3956 * util/grub-mknetdir.in: Use . rather than source for POSIX
3957 compatibility.
3958
0a1e473c
VS
39592012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3960
3961 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
3962
ce6647c8
VS
39632012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
3966 variable.
3967
66747894
VS
39682012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
3971 without quotes.
3972
71645f6e
VS
39732012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
3976
0e1c1f61
VS
39772012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3978
3979 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
3980 iteration of partitions.
3981
9c4b5c13
VS
39822012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
3983
3984 Improve gettext support. Stylistic fixes and error handling fixes while
3985 on it.
3986
215c90cb
VS
39872012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3988
3989 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
3990 part. Instead setup the correct stack in RM.
3991 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
3992 for stack.
3993 * include/grub/i386/relocator_private.h: New file.
3994
b5c1f9bf
VS
39952012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
3996
3997 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
3998 argument.
3999 * util/grub-fstest.c (options): Add missing DEVICE part.
4000
b525fd83
VS
40012012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4002
4003 Clarify and unify messages.
4004
4005 * grub-core/commands/hashsum.c (options): Unify messages.
4006 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
4007 literal-only message as translatable.
4008 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
4009 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
4010 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
4011 commands.
4012 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
4013 key, not the key used to unlock. Clarify what it's used for.
4014 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
4015 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
4016 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
4017 * util/grub-editenv.c (options): Unify "verbose" message.
4018 * util/grub-fstest.c (read_file): Unify error message.
4019 (fstest): Add quotes around commands.
4020 (options): Unify "verbose" message.
4021 * util/grub-install.in: Add quotes around variable name.
4022 * util/grub-kbdcomp.in: Unify error message.
4023 * util/grub-mkfont.c (main): Likewise.
4024 * util/grub-mkrescue.in: Likewise.
4025 * util/grub-mklayout.c (options): Unify "verbose" message.
4026 * util/grub-mkstandalone.in: Unify help and verbose messages.
4027 * util/grub-mount.c (options): Unify "verbose" message.
4028 * util/grub-probe.c (options): Likewise.
4029 * util/grub-script-check.c (options): Likewise.
4030 * util/grub-setup.c (setup): Unify no-terminator message.
4031 (options): Use DEVICE and not DEV.
4032 Unify "verbose" message.
4033 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
4034
0ae70393
VS
40352012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4036
4037 Improve and unify messages.
4038
4039 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
4040 name. All users updated.
4041 Print filename in error.
4042 (read_device_map): Print filename in error.
4043 * util/getroot.c (grub_guess_root_devices): Print filename in error.
4044 (grub_util_get_os_disk): Likewise.
4045 (grub_util_biosdisk_get_grub_dev): Likewise.
4046 (grub_util_check_block_device): Likewise.
4047 (grub_util_check_char_device): Likewise.
4048 (grub_make_system_path_relative_to_its_root): Likewise.
4049 * util/grub-editenv.c (create_envblk_file): Likewise.
4050 (open_envblk_file): Likewise.
4051 (write_envblk): Likewise.
4052 * util/grub-fstest.c (cmd_cp): Likewise.
4053 (cmd_cat): Likewise.
4054 (cmd_cmp): Likewise.
4055 * util/grub-menulst2cfg.c (main): Likewise.
4056 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
4057 (write_font_width_spec): Likewise.
4058 (write_font_pf2): Likewise.
4059 * util/grub-mkimage.c (generate_image): New argument outname.
4060 All users updated.
4061 Remove unreacheable message.
4062 (options): Unify messages.
4063 (help_filter): Likewise.
4064 * util/grub-mklayout.c (usage): Removed (unused).
4065 (main): Print filename in error.
4066 * util/grub-mkrescue.in: Fix wrong quoting.
4067 * util/grub-setup.c (setup): Print filename in error.
4068 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
4069 (check_sas): Likewise.
4070 * util/misc.c (grub_util_get_fp_size): Removed.
4071 (grub_util_get_image_size): Print filename in error.
4072 (grub_util_read_at): Removed.
4073 (grub_util_read_image): Print filename in error.
4074 (grub_util_load_image): Likewise.
4075 (grub_util_write_image_at): New argument filename. All users updated.
4076 Print filename in error.
4077 (grub_util_write_image): New argument filename. All users updated.
4078 Print filename in error.
4079 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
4080 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
4081
0a96117d
VS
40822012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4083
4084 * grub-core/Makefile.core.def (pxechain): New module.
4085 * grub-core/loader/i386/pc/pxechainloader.c: New file.
4086 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
4087 function.
4088 (grub_pc_net_config_real): Use grub_pxe_get_cached.
4089 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
4090
aca002f7
VS
40912012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4092
4093 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
4094 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
4095 * include/grub/err.h (grub_error_saved): New struct.
4096 (grub_errmsg): Make array size explicit.
4097 * include/grub/misc.h (grub_error_save): New function.
4098 (grub_error_load): Likewise.
4099 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
4100 (grub_error_push): Update `errno' member name.
4101 (grub_error_pop): Likewise
4102 * grub-core/net/tftp.c (tftp_data): New member save_err.
4103 (tftp_receive): Save error.
4104 (tftp_open): Restore error.
4105
a51dab13
VS
41062012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4107
4108 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
4109 to real mode down to execute A20-related code in protected mode as
4110 intended.
4111
eb6e6649
GS
41122012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
4113
4114 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
4115 NULL when the argument `level' has an unexpected value.
4116
92cd0f6e
VS
41172012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 Move platform-dependent files from $prefix to $prefix/$platform.
4120
4121 * config.h.in (GRUB_TARGET_CPU): New definition.
4122 (GRUB_PLATFORM): Likewise.
4123 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
4124 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
4125 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
4126 * grub-core/kern/dl.c (grub_dl_load): Likewise.
4127 * grub-core/normal/autofs.c (read_fs_list): Likewise.
4128 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
4129 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
4130 * grub-core/normal/term.c (read_terminal_list): Likewise.
4131 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
4132 $prefix/locale.
4133 (grub_gettext_init_ext): Likewise.
4134 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
4135 grub_platform.
4136 * util/grub-install.in: Update directories.
4137 * util/grub-mknetdir.in: Likewise.
4138 * util/grub-mkrescue.in: Likewise.
4139
db606889
VS
41402012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4141
4142 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
4143 grub_error framework. All users updated.
4144
c39992a4
VS
41452012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4146
4147 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
4148 lists (by always binsearching), improve caching (cache strings
4149 used for binsearch, not only results), improve
4150 maintainability (by using more structured binary search) and correct
4151 error handling.
4152
1e5ec32f
VS
41532012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4154
4155 * grub-core/script/execute.c (grub_script_return): Fix warning.
4156
ac576cde
VS
41572012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 * grub-core/script/execute.c (grub_script_return): Fix potential
4160 NULL-dereference.
4161 Reported by: Jim Meyering.
4162
498453f6
VS
41632012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4164
4165 * po/POTFILES.in: Regenerate.
4166 * util/grub-install.in: Gettextize the strings missed in first pass.
4167
8be63f2e
VS
41682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4169
4170 * Makefile.util.def (grub-mkdevicemap): Removed.
4171 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
4172 * include/grub/util/deviceiter.h: Removed.
4173 * util/deviceiter.c: Likewise.
4174 * util/getroot.c (grub_util_get_os_disk): New function.
4175 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
4176 replacement for EFI.
4177 * util/grub-mkdevicemap.c: Removed.
4178 * util/grub-probe.c (probe): Handle PRINT_DISK.
4179 (argp_parser): Handle -t disk.
4180
8e1e4e39
VS
41812012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4182
4183 * util/grub-mkfont.c: Migrate to argp.
4184 * util/grub-mklayout.c: Likewise.
4185 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4186 * util/grub-mkrelpath.c: Likewise.
4187 * util/grub-probe.c: Likewise.
4188 * util/grub-script-check.c: Likewise.
4189
4459819a
VS
41902012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4191
4192 * util/grub-reboot.in: Add missing datarootdir.
4193 Add missing newline.
4194 * util/grub-set-default.in: Add missing datarootdir.
4195 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
4196 * util/grub-mkrescue.in: Likewise.
4197
f65741c7
VS
41982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4199
4200 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
4201
c1a33466
VS
42022012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4203
4204 * util/grub-kbdcomp.in: Add decent help and gettextize.
4205 * docs/man/grub-kbdcomp.h2m: New file.
4206
c76899a0
VS
42072012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4208
4209 Migrate grub-mkimage.c to argp.
4210
4211 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
4212 (grub-setup): Likewise.
4213 * util/grub-setup.c (print_version): Move to ...
4214 * util/argp_common.c (print_version): ... here.
4215 * util/grub-setup.c (argp_program_version_hook): Move to ...
4216 * util/argp_common.c (argp_program_version_hook): ... here.
4217 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
4218 safety.
4219 * util/grub-mkimage.c (main): Migrate to argp.
4220
57db0757
VS
42212012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 * util/grub-mkrescue.in: Use same message as
4224 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
4225 for better translations.
4226
18534ad9
VS
42272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4228
4229 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
4230 options with generic grub-mkrescue.in with the goal of future
4231 merge.
4232
c84ba308
VS
42332012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4234
4235 * grub-core/kern/mm.c: Add missing include of i18n.h
4236 * grub-core/lib/relocator.c: Likewise.
4237
347998c2
VS
42382012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4239
4240 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
4241 error.
4242 (allocate_pages): Check return value.
4243 Replace fatal with error.
4244 (grub_linux_boot): Replace printf with dprintf.
4245 Check find_mmap_size return value.
4246 Replace fatal with error.
4247 Don't call grub_machine_fini.
4248 (grub_load_elf64): Replace printf with dprintf.
4249 (grub_cmd_linux): Likewise.
4250 (grub_cmd_initrd): Likewise.
4251 (grub_cmd_payload): Likewise.
4252
c779226e
VS
42532012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
4256 message.
4257 * grub-core/video/radeon_fuloong2e.c
4258 (grub_video_radeon_fuloong2e_setup): Likewise.
4259 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
4260 * grub-core/video/video.c (grub_video_set_mode): Don't override
4261 standard out of memory message.
4262
dc87d45a
GS
42632012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
4264
4265 NetBSD disk wedge support.
4266
4267 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
4268 [__NetBSD__]: Handle NetBSD disk wedges.
4269 * util/getroot.c (convert_system_partition_to_system_disk)
4270 [__NetBSD__]: Likewise.
4271
055f856f
MW
42722012-02-03 Mark Wooding <mdw@distorted.org.uk>
4273
4274 * util/grub-mkconfig.in: Use umask rather than chmod to create
4275 grub.cfg.new to avoid insecure grub.cfg.
4276
4a9f8346
VS
42772012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4278
4279 * grub-core/commands/ls.c: Gettextize.
4280 * grub-core/commands/setpci.c: Likewise.
4281 * grub-core/commands/videotest.c: Likewise.
4282 * grub-core/disk/geli.c: Likewise.
4283 * grub-core/kern/mm.c: Likewise.
4284 * grub-core/lib/relocator.c: Likewise.
4285 * grub-core/loader/efi/appleloader.c: Likewise.
4286 * grub-core/loader/i386/xnu.c: Likewise.
4287 * grub-core/loader/ia64/efi/linux.c: Likewise.
4288 * grub-core/loader/xnu.c: Likewise.
4289 * grub-core/net/dns.c: Likewise.
4290 * grub-core/net/net.c: Likewise.
4291 * grub-core/script/lexer.c: Likewise.
4292 * grub-core/script/parser.y: Likewise.
4293 * grub-core/script/yylex.l: Likewise.
4294 * util/getroot.c: Likewise.
4295 * util/grub-setup.c: Likewise.
4296
a646a366
VS
42972012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4298
4299 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
4300 number.
4301
54e2be26
VS
43022012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
4305
f7c71e68
VS
43062012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4307
4308 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
4309 macro.
4310 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
4311 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
4312
a32d5c71
VS
43132012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
4316 * util/grub-install.in: Gettextize.
4317 * util/grub-mkconfig.in: Likewise.
4318 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
4319 if not available.
4320 (grub_warn): Gettextize.
4321 * util/grub-mknetdir.in: Gettextize.
4322 * util/grub-mkrescue.in: Likewise.
4323 * util/grub-mkstandalone.in: Likewise.
4324 * util/grub-reboot.in: Likewise.
4325 * util/grub-set-default.in: Likewise.
4326 * util/grub.d/00_header.in: Likewise.
4327 * util/grub.d/10_hurd.in: Likewise.
4328 * util/grub.d/10_kfreebsd.in: Likewise.
4329 * util/grub.d/10_linux.in: Likewise.
4330 * util/grub.d/10_netbsd.in: Likewise.
4331 * util/grub.d/10_windows.in: Likewise.
4332 * util/grub.d/20_linux_xen.in: Likewise.
4333 * util/grub.d/30_os-prober.in: Likewise.
4334 * po/POTFILES-shell.in: Regenerate.
4335
69edd81a
RL
43362012-02-03 Richard Laager <rlaager@wiktel.com>
4337
4338 * util/grub-mkimage.c (main): Fix format-security warning.
4339 * util/grub-mkrelpath.c (main): Likewise.
4340 * util/grub-probe.c (main): Likewise.
4341
65f08dbf
RL
43422012-02-03 Richard Laager <rlaager@wiktel.com>
4343
4344 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
4345 failure.
4346 Put back lost PRINT_DRIVE.
4347
e9084abe
RL
43482012-02-03 Richard Laager <rlaager@wiktel.com>
4349
4350 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
4351 (grub_guess_root_devices): Replace strlen with sizeof.
4352 Avoid crash.
4353 (find_root_devices_from_poolname): Remove unused variable.
4354 Handle raidzN.
4355
cf5f7ee7
VS
43562012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 Support install on multi-device filesystems.
4359
4360 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
4361 (grub_guess_root_devices): ...this. Return char **. All users updated.
4362 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
4363 Removed.
4364 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
4365 (find_root_devices_from_poolname): ... here.
4366 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
4367 Support zfs-fuse.
4368 (grub_guess_root_device): Rename to ...
4369 (grub_guess_root_devices): ... this. Return char **. All users updated.
4370 * util/grub-install.in: Handle multi-device filesystems.
4371 * util/grub-probe.c (probe). Make device_names a char **. Add delim
4372 argument. All users updated.
4373 Handle multi-device filesystems.
4374 Use 'delim' as separator.
4375 Remove device check to allow filesystems on file.
4376 (main): Support -0 argument. Handle multi-device.
4377 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
4378 Fix a cross-device check while on it.
4379 (arguments): Remove root_dev.
4380 (argp_parser): Remove -r.
4381 (main): Remove root_dev.
4382
2f53a9ed
VS
43832012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
4386
17e1d934
VS
43872012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
4390 symbol.
4391 Reported by: NODA, Kai <nodakai>.
4392
d3e3fab5
VS
43932012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4394
4395 Fix ehci on amd64.
4396
4397 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
4398 pointers.
4399 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
4400 (grub_ehci_setup_qh): Likewise.
4401 (grub_ehci_find_qh): Likewise.
4402 (grub_ehci_transaction): Likewise.
4403 (grub_ehci_setup_transfer): Likewise.
4404 (grub_ehci_check_transfer): Likewise.
4405 (grub_ehci_portstatus): Likewise.
4406 (grub_ehci_detect_dev): Likewise.
4407 (grub_ehci_transfer_controller_data): New field td_last_phys.
4408 (grub_ehci_setup_transfer): Fill td_last_phys.
4409 (grub_ehci_check_transfer): Use td_last_phys.
4410
3008675b
SG
44112012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
4412
4413 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
4414 if no submenu is present.
4415
fc9b5652
AN
44162012-02-01 Aleš Nesrsta <starous@volny.cz>
4417
4418 CBI support.
4419
4420 * include/grub/usb.h (grub_usbms_protocol_t): New values
4421 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
4422 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
4423 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
4424 (grub_usbms_dev): Add subclass, protocol and intrpt.
4425 Remove in_maxsz and out_maxsz.
4426 (grub_usbms_reset): Rename to ...
4427 (grub_usbms_bo_reset): .. this.
4428 (grub_usbms_cbi_cmd): New function.
4429 (grub_usbms_cbi_reset): Likewise.
4430 (grub_usbms_reset): Likewise.
4431 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
4432 (grub_usbms_transfer): Rename to ...
4433 (grub_usbms_transfer_bo): ... this.
4434 (grub_usbms_transfer_cbi): Likewise.
4435 (grub_usbms_transfer): Likewise.
4436
a2b81d53
AN
44372012-02-01 Aleš Nesrsta <starous@volny.cz>
44382012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
4441 the support for the CS5536 modification thereos and few bugfixes.
4442
4443 * grub-core/Makefile.core.def (ehci): New module.
4444 * grub-core/bus/usb/ehci.c: New file.
4445 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
4446 port and hubaddr. All users updated.
4447 Save port and hubaddr into dev structure.
4448 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
4449 define.
4450 * include/grub/pci.h (grub_dma_phys2virt): New function.
4451 (grub_dma_virt2phys): Likewise.
4452 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
4453
b1d51f02
VS
44542012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4455
4456 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
4457 check as some mkfs implementations omit it.
4458
fc694106
VS
44592012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4460
4461 * docs/grub.texi (Unicode): Mention identifier and space limitations.
4462
6c0920e3
VS
44632012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
4466 Add new member volname2.
4467 (grub_jfs_label): Use volname2 if available.
4468
d1a46f9a
VS
44692012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4470
4471 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
4472 over last_mounted as seen in image generated by mkfs.nilfs2.
4473 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
4474
dec8ed14
VS
44752012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4476
4477 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
4478 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
4479 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
4480
7397c69b
VS
44812012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4482
4483 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
4484 over the sector.
4485
b3fe42ad
VS
44862012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4487
4488 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
4489 subvolume name (by removing a bogus and useless check).
4490
10476bb0
VS
44912012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
4494 sizeof while on it.
4495
9c08ad87
VS
44962012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
4499 (grub_scsi_read_capacity10): ... this.
4500 (grub_scsi_read_capacity16): New function.
4501 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
4502 0xffffffff.
4503 Fix off-by-one error.
4504 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
4505 64-bit unsigned.
4506 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
4507 (grub_scsi_read_capacity10): ... this.
4508 (grub_scsi_read_capacity_data): Rename to ...
4509 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
4510 (grub_scsi_read_capacity16): New struct.
4511 (grub_scsi_read_capacity16_data): Likewise.
4512 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
4513 grub_scsi_cmd_read_capacity10.
4514 New command grub_scsi_cmd_read_capacity16.
4515
bc8d0f45
VS
45162012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4517
4518 SCSI >2TiB support.
4519
4520 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
4521 (grub_scsi_write16): Likewise.
4522 (grub_scsi_read): Use read16 when necessary.
4523 (grub_scsi_write): Likewise.
4524 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
4525 (grub_scsi_write16): Likewise.
4526 (grub_scsi_cmd_t): Add READ16 and WRITE16.
4527
cc774926
VS
45282012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4529
4530 SCSI write support (for usbms mainly).
4531
4532 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
4533 a const pointer.
4534 (grub_scsi_write): Implement.
4535 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
4536
67639fd7
VS
45372012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
4538
4539 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
4540 variable.
4541
9079d3ed
VS
45422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4543
4544 * grub-core/lib/posix_wrap/string.h (memchr): New function.
4545
c6a6f204
VS
45462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4547
4548 * po/POTFILES.in: Regenerate.
4549
ecbf8cd1
VS
45502012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4551
4552 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
4553 with grub_printf to avoid unnecessary fatal failure.
4554
0b3b3b38
VS
45552012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4556
4557 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
4558 (INT_MAX): Likewise.
4559 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
4560 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
4561 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
4562 (strcpy): Likewise.
4563 (strstr): Likewise.
4564 (strchr): Likewise.
4565 (strncpy): Likewise.
4566 (strcat): Likewise.
4567 (strncat): Likewise.
4568 (strcoll): Likewise.
4569 * include/grub/types.h (GRUB_SHRT_MAX): New define.
4570 (GRUB_INT_MAX): Likewise.
4571
db7337a3
VS
45722012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4573
4574 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
4575 unexpected error.
4576 (optimize_utf8): Likewise.
4577 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
4578
f37c87e1
VS
45792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4580
4581 * grub-core/boot/i386/pc/lnxboot.S: Use
4582 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
4583 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
4584 location.
4585 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
4586 definition.
4587 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
4588
63fe43f3
VS
45892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4590
4591 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
4592 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
4593 now to avoid double free.
4594 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
4595 hostdisk.
4596 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
4597 * util/grub-probe.c (escape_of_path): Always return a new copy.
4598 (print_full_name): Escape path.
4599 (probe): Don't call grub_util_devname_to_ofpath on NULL.
4600 Fix hints on abstractions.
4601
ebe2c961
VS
46022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4603
4604 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
4605 Don't add "root" line if no compatibility hont is available.
4606 Suggested by: Seth Goldberg.
4607
2b5336a2
VS
46082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4609
4610 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
4611 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
4612 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
4613 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
4614
74310bd8
VS
46152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4616
4617 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
4618
c30582ba
VS
46192012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 * util/grub-pe2elf.c (ehdr): Make static.
4622 (shdr): Likewise.
4623 (num_sections): Likewise.
4624 (offset): Likewise.
4625
5f47782c
VS
46262012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4627
4628 Eliminate ofpath limits and possible overflows.
4629
4630 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
4631 (OF_PATH_MAX): Removed.
4632 (MAX_DISK_CAT): New const.
4633 (find_obppath): Use allocated rather than preallocated buffer.
4634 Return result. Argument of_path removed. All users updated.
4635 Add missing fdstat.
4636 (xrealpath): New function.
4637 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
4638 Allocate rather than use preallocated buffer. All users updated.
4639 (__of_path_common): Use allocated rather than preallocatecd buffer.
4640 Return result. Argument of_path removed. All users updated.
4641 (vendor_is_ATA): Read only needed part form the file.
4642 (check_sas): Allocate depending on contents rather than fixed.
4643 (main) [STANDALONE]: Handle NULL result.
4644
f990cbf9
VS
46452012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4646
4647 * grub-core/normal/completion.c (iterate_dev): Close the disk.
4648
9c6e84b8
VS
46492012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 Cryptodisk write support.
4652
4653 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
4654 (grub_cryptodisk_decrypt): Moved logic to ...
4655 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
4656 (grub_cryptodisk_write): Implement.
4657 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
4658 (grub_util_fd_write): ... this. Make global.
4659 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
4660
87cf9744
VS
46612012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4662
4663 * include/grub/list.h (grub_list_remove): Don't crash if element is
4664 removed twice.
4665
ca8c0baf
VS
46662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4667
4668 Rename ofconsole to console.
4669
4670 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
4671 as sysnonym to console.
4672 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
4673 * grub-core/term/ieee1275/console.c: ... this. All users updated.
4674 Rename grub_ofconsole_ to grub_console_. All users updated
4675 (grub_console_term_output): Rename "ofconsole" to "console".
4676 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
4677 as "console".
4678
64c8b8f6
VS
46792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4680
4681 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
4682 handling.
4683 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
4684 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
4685 GRUB_DISK_DEVICE_FILE_ID.
4686
f6c434d5
VS
46872012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4688
4689 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
4690 and improve performance.
4691
5858b42d
VS
46922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4693
4694 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
4695 missing ieee1275/ prefix on whole disk.
4696
4ed3c26b
VS
46972012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4698
4699 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
4700 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
4701
df71143e
VS
47022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4703
4704 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
4705
076e7c0f
VS
47062012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
4707
4708 Merge common RAID and LVM logic to an abstract diskfilter.
4709 Add LDM support using the same framework.
4710
4711 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
4712 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
4713 (libgrubmods): Remove grub-core/disk/raid.c and
4714 grub-core/partmap/gpt.c.
4715 * grub-core/Makefile.core.def (ldm): New module.
4716 (raid): Renamed to diskfilter. All users updated.
4717 * grub-core/disk/raid.c: Moved to ...
4718 * grub-core/disk/diskfilter.c: ... here.
4719 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
4720 (lv_num): New var.
4721 (find_array): Renamed to ...
4722 (find_lv): ... this. Support multi-LV. Skip nameless LVs
4723 (grub_is_array_readable): Renamed to ...
4724 (grub_is_lv_readable): ... this. Support multinode hierarchy.
4725 (insert_array): New argument id.
4726 (is_node_readable): New function.
4727 (scan_device): Rename to ...
4728 (scan_disk): .. this. Restrict to one disk.
4729 (scan_devices): New function.
4730 (grub_diskfilter_iterate): Support multi-LV.
4731 Skip invisible and nameless LVs.
4732 (grub_diskfilter_memberlist): Support multi-LV.
4733 (grub_diskfilter_read_node): New function.
4734 (grub_raid_read): Most of logic moved to ...
4735 (read_segment): ... here
4736 (read_lv): New function.
4737 (grub_diskfilter_get_vg_by_uuid): New function.
4738 (grub_diskfilter_make_raid): Likewise.
4739 * grub-core/disk/ldm.c: New file.
4740 * grub-core/disk/lvm.c (vg_list): Removed.
4741 (lv_count): Likewise.
4742 (scan_depth): Likewise.
4743 (is_lv_readable): Likewise.
4744 (grub_lvm_getvalue): Advance pointer past the number.
4745 (find_lv): Removed.
4746 (do_lvm_scan): Refactored into ...
4747 (grub_lvm_detect): ... this. Support raid.
4748 (grub_lvm_iterate): Removed.
4749 (grub_lvm_memberlist): Likewise.
4750 (grub_lvm_open): Likewise.
4751 (grub_lvm_close): Likewise.
4752 (read_lv): Likewise.
4753 (read_node): Likewise.
4754 (is_node_readable): Likewise.
4755 (is_lv_readable): Likewise.
4756 (grub_lvm_read): Likewise.
4757 (grub_lvm_write): Likewise.
4758 (grub_lvm_dev): Use diskfilter
4759 (GRUB_MOD_INIT): Likewise.
4760 (GRUB_MOD_FINI): Likewise.
4761 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
4762 new interface.
4763 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
4764 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4765 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
4766 grub_diskfilter_read_node.
4767 Fix a bug with xor.
4768 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
4769 grub_diskfilter_read_node.
4770 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
4771 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
4772 (grub_disk_dev_iterate): Move from here...
4773 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
4774 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
4775 Make global.
4776 (grub_hostdisk_find_partition_start): Likewise.
4777 (grub_hostdisk_os_dev_to_grub_drive): New function.
4778 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
4779 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
4780 * util/getroot.c (make_device_name): ... here.
4781 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4782 Move to ...
4783 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
4784 * grub-core/kern/emu/hostdisk.c
4785 (convert_system_partition_to_system_disk): Move to ...
4786 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
4787 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
4788 * util/getroot.c (device_is_wholedisk): ... here.
4789 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
4790 * util/getroot.c (find_system_device): ... here.
4791 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
4792 Move to ...
4793 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
4794 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
4795 Move to ...
4796 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
4797 Handle LDM.
4798 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
4799 Move to ...
4800 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
4801 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
4802 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
4803 DISKFILTER.
4804 * include/grub/raid.h: Renamed to ...
4805 * include/grub/diskfilter.h: ... this.
4806 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
4807 (GRUB_RAID_LAYOUT_*): Make into array.
4808 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
4809 (grub_diskfilter_vg): New struct.
4810 (grub_diskfilter_pv_id): Likewise.
4811 (grub_raid_member): Removed.
4812 (grub_raid_array): Likewise.
4813 (grub_diskfilter_pv): New struct.
4814 (grub_diskfilter_lv): Likewise.
4815 (grub_diskfilter_segment): Likewise.
4816 (grub_diskfilter_node): Likewise.
4817 (grub_diskfilter_get_vg_by_uuid): New proto.
4818 (grub_raid_register): Inline.
4819 (grub_diskfilter_unregister): Likewise.
4820 (grub_diskfilter_make_raid): New proto.
4821 (grub_diskfilter_vg_register): Likewise.
4822 (grub_diskfilter_read_node): Likewise.
4823 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
4824 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
4825 (grub_util_is_ldm): Likewise.
4826 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
4827 (grub_hostdisk_find_partition_start): Likewise.
4828 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
4829 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
4830 New definition.
4831 (grub_gpt_partition_map_iterate): New proto.
4832 * include/grub/lvm.h (grub_lvm_vg): Removed.
4833 (grub_lvm_pv): Likewise.
4834 (grub_lvm_lv): Likewise.
4835 (grub_lvm_segment): Likewise.
4836 (grub_lvm_node): Likewise.
4837 * util/getroot.c [...]
4838 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
4839 (probe_abstraction): Likewise.
4840 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
4841 (main): Remove dead logic.
4842
8a7f9b9c
VS
48432012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
4844
4845 Simplify root device discover and don't fail when trying to open
4846 incorrect devices.
4847
4848 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
4849 function.
4850 (get_diskname_from_path): Likewise.
4851 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
4852 of iterating.
4853
30545b85
VS
48542012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
4857
28ea58cf
VS
48582012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4859
4860 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
4861 pastthe end.
4862
692dabca
VS
48632012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
4864
4865 * util/grub-install.in: Add missing \.
4866 Reported by: gentoofan
4867
f6e4ea70
VS
48682012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
4871 (direct_read): Use correct compressed size.
4872 (grub_squash_read_data): Likewise.
4873
48742012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
4875
4876 * docs/grub.texi (Platform limitations): New section.
4877 (Platform-specific operations): Likewise.
4878 * docs/grub-dev.texi (Porting): Likewise.
4879
76261110
VS
48802012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4881
4882 IEEE1275 disk write support.
4883
4884 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
4885 const void *.
4886 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
4887 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
4888 and seek loginc to ...
4889 (grub_ofdisk_prepare): ... here.
4890 (grub_ofdisk_write): Implement.
4891
fc36d603
VS
48922012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4893
4894 ARC disk write support.
4895
4896 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
4897 (reopen): New argument writable. All users updated.
4898 Handle required access mode.
4899 (grub_arcdisk_write): Implement.
4900 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
4901 (grub_arc_firmware_vector): Make buffer to write a const buffer.
4902
e06c2e7a
VS
49032012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4904
4905 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
4906 (read_sblock): Don't attempt to read superblocks outside the disk size.
4907
ff447958
VS
49082012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4909
4910 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
4911 first superblock to find the second one when possible.
4912
9e88df39
VS
49132012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
4914
4915 * util/grub-install.in: Fix an ARC bug.
4916 Print a warning if no platform-specific setup is available.
4917
bb26e4ff
VS
49182012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4919
4920 Use static allocation rather than scratch pointer in reed_solomon.
4921 It decreases its size significantly and avoids a variable in .text.
4922
4923 * grub-core/lib/reed_solomon.c (scratch): Removed.
4924 (chosenstat): New const or static array.
4925 (sigma): Likewise.
4926 (errpot): Likewise.
4927 (errpos): Likewise.
4928 (sy): Likewise.
4929 (mstat): Likewise.
4930 (errvals): Likewise.
4931 (eqstat): Likewise.
4932 (pol_evaluate): Replace x with log_x argument. All users updated.
4933 (syndroms): Removed.
4934 (gauss_solve): Use statically allocated arrays.
4935 (rs_recover): Likewise.
4936 Calculate syndroms directly.
4937 (decode_block): Use statically allocated arrays.
4938 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
4939 (main) [TEST]: Allow -DTEST -DSTANDALONE.
4940
2e13ede5
VS
49412012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4942
4943 Eliminate fixed limit on reed solomon decoder length.
4944
4945 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
4946 rather than hardcoding the address.
4947 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
4948 no_reed_solomon_length.
4949 Move gate_a20 to no-reed-solomon part.
4950 Don't force a particular size of no reed-solomon part.
4951 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
4952 Removed.
4953 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
4954 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
4955
f8a9ab12
VS
49562012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4957
4958 * grub-core/commands/wildcard.c (match_files): Handle filenames
4959 without explicit device.
4960 (wildcard_expand): Don't add explicit device if not already present.
4961 * tests/grub_script_echo1.in: Add a new expansion test.
4962
87edb894
VS
49632012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4964
4965 Replace single-linked with double-linked lists. It results in more
4966 compact and more efficient code.
4967
4968 * grub-core/kern/list.c (grub_list_push): Moved from here ...
4969 * include/grub/list.h (grub_list_push): ... to here. Set prev.
4970 (grub_list_remove): Moved from here ...
4971 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
4972 (grub_prio_list_insert): Set prev.
4973 * include/grub/list.h (grub_list): Add prev. All users updated.
4974
48b391e9
VS
49752012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4976
4977 Handle newer autotools. Add some missing quotes while on it.
4978
4979 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
4980 (pkglib_DATA): Move grub-mkconfig_lib from here ...
4981 (pkgdata_DATA): ... here.
4982 * Makefile.util.def (update-grub_lib): Removed.
4983 * conf/Makefile.common (pkglib_DATA): Removed.
4984 (pkglib_SCRIPTS): Likewise.
4985 (pkgdata_DATA): New variable.
4986 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
4987 needed.
4988 Add missing quotes.
4989 Remove unused variable while on it.
4990 * tests/util/grub-shell.in: Likewise.
4991 * util/grub-install.in: Likewise.
4992 * util/grub-mkconfig.in: Likewise.
4993 * util/grub-mknetdir.in: Likewise.
4994 * util/grub-mkrescue.in: Likewise.
4995 * util/grub-mkstandalone.in: Likewise.
4996 * util/grub.d/00_header.in: Likewise.
4997 * util/grub.d/10_hurd.in: Likewise.
4998 * util/grub.d/10_illumos.in: Likewise.
4999 * util/grub.d/10_kfreebsd.in: Likewise.
5000 * util/grub.d/10_linux.in: Likewise.
5001 * util/grub.d/10_netbsd.in: Likewise.
5002 * util/grub.d/10_windows.in: Likewise.
5003 * util/grub.d/20_linux_xen.in: Likewise.
5004 * util/grub.d/30_os-prober.in: Likewise.
5005 * util/update-grub_lib.in: Removed.
5006
50072012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
5008
5009 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
5010 a workaround for intel problem.
5011
66832792
PRP
50122012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
50132012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
50142012-01-23 pfsmorigo
5015
5016 * util/grub-install.in: Support dd'in into PreP partition.
5017 * util/grub-probe.c (probe): Support discovering partition type.
5018 (main): Support -t msdos_parttype.
5019
7816a17e
VS
50202012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
5021
5022 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
5023 infinite recursion using counter.
5024 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
5025 init to skip it if the magic check fails.
5026 (dec_stream_header): Init s->crc32.
5027
8f9d3a8c
ZB
50282012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
50292012-01-22 Zachary Bedell <pendorbound@gmail.com>
50302012-01-22 Richard Laager <rlaager@wiktel.com>
5031
5032 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
5033 All users updated.
5034 (find_bestub): Determine correct size.
5035 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
5036 (scan_disk): Align the size down.
5037 Call check pool before find_bestub to have ashift.
5038
b055dd32
VS
50392012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5040
5041 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
5042 dprintf in no-malloc zone.
5043
d779e9bd
ML
50442012-01-22 Mario Limonciello <mario_limonciello@dell.com>
5045
5046 * configure.ac: Add back in test for limits.h.
5047
b508af69
VS
50482012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5049
5050 Support 4K-sector NTFS.
5051
5052 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
5053 (grub_ntfs_data): Remove blocksize.
5054 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
5055 Remove data argument. All users updated.
5056
dad9c8b5
VS
50572012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5058
5059 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
5060 being in .text to avoid dprel references.
5061 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
5062 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
5063 (grub_arch_highmemsize): Likewise.
5064 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
5065 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
5066 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
5067
d43a777e
VS
50682012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5069
5070 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
5071
5072 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
5073 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
5074
34e4208f
VS
50752012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5076
5077 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
5078 GRUB_UTIL.
5079 (grub_set_datetime_cmos): Likewise.
5080
3ec0fc1c
VS
50812012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5082
5083 Make XZ compression parameters dependent on target and not host CPU.
5084
5085 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
5086 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
5087
22489834
VS
50882012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5089
5090 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
5091 set but not used variable.
5092
8502fbca
VS
50932012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5094
5095 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
5096 created when no uuid support is compiled into mkfs.reiser.
5097
76df2068
VS
50982012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5099
5100 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
5101 (utf8_to_macroman): Do the opposite.
5102 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
5103
64e3f8f6
VS
51042012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5105
5106 * configure.ac: Refise build qemu_mips w/o unifont.
5107
9c271078
VS
51082012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5109
5110 Eliminate grub_min/grub_max prone to overflow usage.
5111
5112 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
5113 (poll_nonroot_hub): Likewise.
5114 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
5115 (grub_affs_label): Likewise.
5116 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
5117 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
5118 (grub_hfs_label): Likewise.
5119 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
5120 * grub-core/fs/zfs/zfs.c (MIN): Remove.
5121 (zap_leaf_array_equal): Use grub_size. Remove MIN.
5122 (zap_leaf_array_get): Likewise.
5123 (dnode_get_path): Likewise.
5124 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
5125 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
5126 * grub-core/script/execute.c (grub_script_break): Likewise.
5127 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
5128 grub_max.
5129 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
5130 * include/grub/misc.h (grub_min): Removed.
5131 (grub_max): Likewise.
5132
80662dbc
VS
51332012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
5134
5135 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
5136 direct.inode = 0.
5137
e6da1467
VS
51382012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5139
5140 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
5141
b1ac4cb1
VS
51422012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5143
5144 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
5145
b4bf7c3b
VS
51462012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5147
5148 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
5149 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
5150
8ee1101a
VS
51512012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5152
5153 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
5154 rather than a hack for grub_strncasemap.
5155
51562012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5157
5158 Support multiple initrds
5159 Note: part of this was accidently committed in r3739.
5160
5161 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
5162 initrd.
5163 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
5164 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
5165 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
5166 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5167 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5168
4d1e2bc9
VS
51692012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5170
5171 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
5172 disks with unknown size.
5173 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
5174
75b49ebe
VS
51752012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5176
5177 Remove defines pertaining to arbitrary limits not affecting GRUB
5178 anymore.
5179
5180 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
5181 (EXT2_MAX_SYMLINKCNT): Likewise.
5182 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
5183 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
5184 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
5185 (GRUB_PXE_MAX_BLKSIZE): Likewise.
5186 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
5187 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
5188 (DN_MAX_OBJECT_SHIFT): Likewise.
5189 (DN_MAX_OFFSET_SHIFT): Likewise.
5190 (DN_MAX_OBJECT): Likewise.
5191 (DNODES_PER_LEVEL_SHIFT): Likewise.
5192 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
5193 (SPA_MAXBLOCKSIZE): Likewise.
5194 (SPA_BLOCKSIZES): Likewise.
5195 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
5196 (MZAP_MAX_BLKSZ): Likewise.
5197
74a1dce7
VS
51982012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5199
5200 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
5201 handle NULL appropriately.
5202 Remove MIN.
5203
30c7d3ce
VS
52042012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5205
5206 Fix efiemu.
5207
5208 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
5209 cpu/types.h.
5210 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
5211 * configure.ac: Fix efiemu check.
5212
3c76ea0c
VS
52132012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5214
5215 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
5216 grub_probe.
5217 Reported by: adamwill
5218
7e532280
SG
52192012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
5220
5221 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
5222
30492374
VS
52232012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5224
5225 Fix handling of wide characters in gfxterm.
5226
5227 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
5228 (clear_char): Likewise.
5229 (paint_char): Skip code == NULL chars.
5230 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
5231
e70cb72f
VS
52322012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 * grub-core/normal/charset.c: Move comment to right place.
5235
5c827cf9
VS
52362012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5237
5238 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
5239 (GRUB_AFFS_FLAG_FFS): Put back where it was.
5240 (grub_affs_mount): Revert the correct version checking.
5241
53603892
VS
52422012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5243
5244 * docs/grub.texi (Unicode): Mention several other unsupported features.
5245
ff094b9b
VS
52462011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5247
5248 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
5249 case statements as compile-time one.
5250 (direct_read): Prevent spurious warnings.
5251 (grub_squash_read_data): Likewise.
5252
c029da8a
VS
52532011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5254
5255 Various squash4 fixes and LZO and XZ support.
5256
5257 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
5258 Add xzembed source files.
5259 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
5260 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
5261 (grub_squash_inode): New subtype long_dir.
5262 (SQUASH_TYPE_LONG_DIR): New inode type.
5263 (COMPRESSION): New enum.
5264 (XZBUFSIZ): New const.
5265 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
5266 (read_chunk): Use data->decompress.
5267 (zlib_decompress): New function.
5268 (lzo_decompress): Likewise.
5269 (xz_decompress): Likewise.
5270 (squash_mount): Set new data fields.
5271 (grub_squash_iterate_dir): Handle long dir.
5272 (squash_unmount): Free xzdec and xzbuf.
5273 (grub_squash_open): Check ino type.
5274 (direct_read): Stylistic fixes. Use data->decompress.
5275 (grub_squash_read_data): Likewise.
5276 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
5277 (get_byte): Likewise.
5278 (grub_zlib_disk_read): Removed.
5279 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
5280 (GRUB_POSIX_BOOL_DEFINED): New define.
5281 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
5282 * grub-core/lib/xzembed/xz.h: Addmissing includes.
5283 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
5284 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
5285
7a45a539
VS
52862011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5287
5288 Don't override more informative errors.
5289
5290 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
5291 * grub-core/font/font.c (open_section): Likewise.
5292 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
5293 filename. Don't override errors.
5294 (grub_cmd_openbsd_ramdisk): Don't override errors.
5295 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
5296 (grub_cmd_initrd): Likewise.
5297 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5298 (grub_cmd_initrd): Likewise.
5299 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
5300 (grub_cmd_linux): Likewise.
5301 (grub_cmd_initrd): Likewise.
5302 (grub_cmd_payload): Likewise.
5303 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
5304 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
5305 (grub_cmd_module): Likewise.
5306 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5307 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5308 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
5309 (grub_cmd_xnu_mkext): Likewise.
5310 (grub_cmd_xnu_ramdisk): Likewise.
5311 (grub_xnu_check_os_bundle_required): Likewise.
5312 (grub_xnu_load_kext_from_dir): Likewise.
5313 (grub_cmd_xnu_kextdir): Likewise.
5314 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
5315
b2d004db
VS
53162011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5317
5318 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
5319 as 1024 in block size field. Found on one of my test images.
5320 Small optimisation while on it.
5321
ec000eac
VS
53222011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5323
5324 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
5325 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
5326 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
5327 performance fixes while on it.
5328 (grub_sfs_close): Fix memory leak while on it.
5329 (grub_sfs_label): Convert Latin1 to UTF-8.
5330
f50e1165
VS
53312011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5332
5333 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
5334 space to avoid overflows.
5335 (grub_hfs_label): Convert from macroman to UTF-8.
5336
2ae254de
VS
53372011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5338
5339 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
5340
0108f491
VS
53412011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5342
5343 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
5344
f45f5f89
VS
53452011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5346
5347 * unicode: Import Unicode 6.0 data.
5348
4d8c4765
VS
53492011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5350
63fa8ef9
VS
5351 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
5352 outside of range.
5353
53542011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5355
5356 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
5357
5358 * include/grub/charset.h (grub_getend): New function.
5359 * grub-core/script/function.c (grub_script_function_find): Use
5360 grub_getend.
5361 * grub-core/normal/completion.c (add_completion): Likewise.
5362
f3cb4a4e
VS
53632011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5364
5365 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
5366 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
5367 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
5368 (GRUB_UNICODE_TAG_END): Likewise.
5369 (GRUB_UNICODE_LAST_VALID): Likewise.
5370
5da8dbc5
VS
53712011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
5374 len and make it smaller. All users updated.
5375 * util/import_unicode.py: Put length and not end character.
5376 Check length.
5377
8569f13d
VS
53782011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5379
5380 Make better Unicode-compliant and unify some UTF-8 code pathes.
5381
5382 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
5383 valid character.
5384 (grub_is_valid_utf8): Use grub_utf8_process.
5385 Check resulting code range.
5386 (grub_utf8_to_ucs4): Use grub_utf8_process.
5387 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
5388 valid character.
5389
cc4fddf5
VS
53902011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5391
5392 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
5393
bbc47747
VS
53942011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5395
5396 * docs/grub.texi (Filesystems): Mention AFS.
5397
f63d6bf4
VS
53982011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5399
5400 * docs/grub.texi (Filesystems): Clarify restrictions.
5401 (Regexp): Mention non-Unicode regexp behaviour.
5402 (Other): Mention non-Unicode matching behaviour.
5403
74bbf0db
VS
54042011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5405
f63d6bf4 5406 Make HFS implementation use MacRoman.
74bbf0db
VS
5407
5408 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
5409 (macroman): New const array.
5410 (macroman_to_utf8): New function.
5411 (utf8_to_macroman): Likewise.
5412 (grub_hfs_find_dir): Use utf8_to_macroman.
5413 (grub_hfs_dir): Use macroman_to_utf8.
5414 Set case_insensitive.
5415
4ea0316e
VS
54162011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5417
5418 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
5419
d3c13cbd
VS
54202011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5421
5422 Integrate hints into autogeneration scripts.
5423
5424 * docs/grub.texi (Filesystems): Add a hostdisk example.
5425 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
5426 (grub-probe): Add ofpath.
5427 * gentpl.py: Remove group nosparc64.
5428 * grub-core/commands/search.c (cache_entry): New struct.
5429 (cache): New var.
5430 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
5431 * grub-core/commands/search_wrap.c (options): Add platform-specific
5432 hint options.
5433 (grub_cmd_search): Handle platform-specific hints.
5434 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
5435 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
5436 (grub_util_biosdisk_data): Likewise.
5437 (grub_util_biosdisk_open): Set device_map.
5438 (read_device_map): Handle "" as indication of no map.
5439 Set device_map.
5440 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
5441 (grub_util_biosdisk_get_compatibility_hint): New function.
5442 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
5443 * include/grub/emu/hostdisk.h
5444 (grub_util_biosdisk_get_compatibility_hint): New proto.
5445 * util/grub-install.in: Don't call grub-mkdevicemap.
5446 Add platform-specific hint to load.cfg.
5447 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
5448 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
5449 hints. Set root preliminary to compatibility hint, not to OS name.
5450 * util/grub-probe.c (PRINT_*): Add hints.
5451 (print): Make static.
5452 (escape_of_path): New function.
5453 (guess_bios_drive): Likewise.
5454 (guess_efi_drive): Likewise.
5455 (guess_baremetal_drive): Likewise.
5456 (print_full_name): Likewise.
5457 (probe): Handle hints.
5458 (main): Likewise.
5459 * util/ieee1275/devicemap.c: Removed.
5460 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
5461 updated.
5462 (grub_util_devname_to_ofpath): Return NULL on failure.
5463
5464 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
5465 resource leak.
5466 * util/getroot.c (grub_util_pull_device): Fix memory leak.
5467
5468 * po/POTFILES.in: Regenerated.
5469
5470 Allow purely long options
5471
5472 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
5473 (SHORT_ARG_USAGE): Likewise.
5474 (grub_arg_show_help): Compare opt with help_options.
5475 (parse_option): Receive opt as argument. If makes big simplificatons.
5476 All users updated
5477
00ce2df3
VS
54782011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5479
5480 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
5481 Restructure to avoid warning.
5482
e77e325f
VS
54832011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5484
5485 * util/grub-install.in: Account for possible escaped comma in device
5486 name.
5487
165099ea
VS
54882011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5489
5490 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
5491 channel.
5492
ce4a999d
VS
54932011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5494
5495 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
5496 allocation and zero-setting.
5497 (grub_ieee1275_get_devname): Check that alias is complete.
5498
379586ad
VS
54992011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5500
5501 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
5502 unaligned segments.
5503
9197b0ad
VS
55042011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
5507 prefix.
5508 (grub_ofdisk_open): Check and discard ieee1275 prefix.
5509 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
5510 Add ieee1275 prefix.
5511
edddb7f9
VS
55122011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5513
5514 * docs/grub.texi (Filesystems): Update.
5515
a1a8b1b9
VS
55162011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5517
5518 Support odc, newc and bigendian cpio formats.
5519
5520 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
5521 * grub-core/Makefile.core.def (newc): New module.
5522 (odc): Likewise.
5523 (cpio_be): Likewise.
5524 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
5525 (MAGIC): Likewise.
5526 (MAGIC2): Likewise.
5527 (head) [MODE_ODC]: Adapt for the format.
5528 (head) [MODE_NEWC]: Likewise.
5529 (head) [!MODE_*]: Write fields of interest as arrays.
5530 (MAGIC_USTAR): Removed.
5531 (read_number) [MODE_NEWC]: Change to hex.
5532 (read_number) [!MODE_*]: Parse binary arrays.
5533 (grub_cpio_find_file): Factor out the code for better structure and
5534 always use read_number.
5535 (grub_cpio_mount): Use MAGIC and MAGIC2.
5536 (grub_cpio_dir): Exit on first hook non-0 return.
5537 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
5538 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
5539 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
5540 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
5541 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
5542 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
5543 * grub-core/fs/newc.c: New file.
5544 * grub-core/fs/odc.c: Likewise.
5545 * grub-core/fs/cpio_be.c: Likewise.
5546
58eba9ee
VS
55472011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5548
5549 Fix handling of tar numbers occupying the whole field.
5550
5551 * grub-core/fs/cpio.c (read_number): New function.
5552 (grub_cpio_find_file): Use read_number instead of strtoull.
5553
a54a0e12
VS
55542011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5555
5556 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
5557 occupying the whole field size.
5558
a6120aca
LA
55592011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
5560
5561 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
5562
a93964ce
VS
55632011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5564
5565 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
5566
3ea1ca46
SG
55672011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
5568
5569 * grub-core/Makefile.core.def (lzma_decompress): Add missing
5570 TARGET_IMG_LDFLAGS.
5571
b87f7ef2
VS
55722011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 * util/getroot.c (ESCAPED_PATH_MAX): New define.
5575 (mountinfo_entry): Increase the field size to take escaping into
5576 account.
5577 (find_root_device_from_libzfs): Add one byte to size of strings for
5578 security.
5579
62092395
VS
55802011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5581
5582 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
5583 an assert.
5584 * util/grub-setup.c (setup): Likewise.
5585
1f0b1a77
VS
55862011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5587
5588 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
5589 _LzmaDecodeA.
5590
8eba9997
VS
55912011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5592
5593 * docs/grub.texi (Internationalisation): New section.
5594
dd0c91e9
VS
55952011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5596
5597 * docs/grub.texi (Loopback booting): New section.
5598
55992011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
5600
5601 * util/grub-mkstandalone.in: Fix minor typo errors.
5602
198e150a
VS
56032011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5604
5605 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
5606
5607 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
5608 net/icmp.c and net/icmp6.c.
5609 (http): New module.
5610 (priority_queue): Likewise.
5611 * grub-core/io/bufio.c: Rewritten.
5612 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
5613 TYPE_WITH_CONFIGFILE_OPTION.
5614 (legacy_commands): Add bootp and dhcp.
5615 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
5616 (grub_legacy_parse): Likewise.
5617 * grub-core/lib/priority_queue.c: New file.
5618 * grub-core/net/arp.c: Add missing license header.
5619 (arp_find_entry): Removed.
5620 (arp_find_entry): Likewise.
5621 (grub_net_arp_resolve): Rename to ...
5622 (grub_net_arp_send_request): ...this.
5623 (grub_net_arp_receive): New card argument.
5624 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
5625 Set router and DNS server.
5626 (grub_net_configure_by_dhcp_ack): Handle routing information.
5627 (grub_cmd_bootp): Set checksum.
5628 (grub_bootp_init): Remove net_dhcp.
5629 * grub-core/net/dns.c: New file.
5630 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
5631 completion.
5632 (get_card_packet): Handle allocation.
5633 (grub_efinet_findcards): Set mtu.
5634 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
5635 (get_card_packet): Handle allocation.
5636 (emucard): Set mtu.
5637 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
5638 (GRUB_MOD_INIT): Set mtu.
5639 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
5640 mtu.
5641 (get_card_packet): Handle allocation.
5642 (grub_ofnet_findcards): Set mtu.
5643 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
5644 assert.
5645 (grub_net_recv_ethernet_packet): Handle IPv6.
5646 * grub-core/net/http.c: New file.
5647 * grub-core/net/icmp.c: Likewise.
5648 * grub-core/net/icmp6.c: Likewise.
5649 * grub-core/net/ip.c (ip6addr): New type.
5650 (ip6hdr): Likewise.
5651 (reassemble): Likewise.
5652 (cmp): New function.
5653 (reassembles): New variable.
5654 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
5655 (id): New variable.
5656 (send_fragmented): New function.
5657 (grub_net_send_ip_packet): Rename to ...
5658 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
5659 Handle non-UDP.
5660 (grub_net_recv_ip_packets): Rename to ...
5661 (handle_dgram): ... this. Check checksum. Handle non-UDP.
5662 (free_rsm): New function.
5663 (free_old_fragments): Likewise.
5664 (grub_net_recv_ip4_packets): New function.
5665 (grub_net_send_ip6_packet): Likewise.
5666 (grub_net_send_ip_packet): Likewise.
5667 (grub_net_recv_ip6_packets): Likewise.
5668 (grub_net_recv_ip_packets): Likewise.
5669 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
5670 (LINK_LAYER_CACHE_SIZE): New const.
5671 (link_layer_find_entry): New function.
5672 (grub_net_link_layer_add_address): Likewise.
5673 (grub_net_link_layer_resolve_check): Likewise.
5674 (grub_net_link_layer_resolve): Likewise.
5675 (grub_net_ipv6_get_slaac): Likewise.
5676 (grub_net_ipv6_get_link_local): Likewise.
5677 (grub_cmd_ipv6_autoconf): Likewise.
5678 (parse_ip): Handle one number representation.
5679 (parse_ip6): New functoion.
5680 (match_net): Handle IPv6.
5681 (grub_net_resolve_address): Handle IPv6 and DNS.
5682 (grub_net_resolve_net_address): Handle IPv6.
5683 (route_cmp): New function.
5684 (grub_net_route_address): Find best route.
5685 (grub_net_addr_to_str): Handle IPv6.
5686 (grub_net_addr_cmp): New function.
5687 (grub_net_add_addr): Register local route.
5688 (print_net_address): Handle net address.
5689 (grub_net_poll_cards): Retransmit TCP.
5690 (grub_net_poll_cards_idle_real): Likewise.
5691 (have_ahead): New function.
5692 (grub_net_seek_real): Use underlying seek.
5693 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
5694 * grub-core/net/tcp.c: New file.
5695 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
5696 (cmp): New function.
5697 (ack): Likewise.
5698 (tftp_receive): Handle unordered input.
5699 (destroy_pq): New function.
5700 (tftp_close): Close pq.
5701 * grub-core/net/udp.c: Put missing license header.
5702 (grub_net_udp_socket): New function.
5703 (udp_socket_register): Likewise.
5704 (grub_net_udp_close): Likewise.
5705 (grub_net_recv_udp_packet): Check checksum.
5706 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
5707 * include/grub/misc.h (grub_memchr): New function.
5708 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
5709 (grub_net_card_driver): Return buf in recv.
5710 (grub_net_slaac_mac_list): New struct.
5711 (grub_network_level_protocol_id): Add ipv6.
5712 (grub_net_network_level_addr): Likewise.
5713 (grub_net_network_level_net_addr): Likewise.
5714 (grub_net_app_protocol): Add seek.
5715 (grub_net_socket): Removed.
5716 (grub_net_sockets): Likewise.
5717 (grub_net_socket_register): Likewise.
5718 (grub_net_socket_unregister): Likewise.
5719 (FOR_NET_SOCKETS): Likewise.
5720 (grub_net_add_addr): Add const.
5721 (GRUB_NET_BOOTP_*): New enum.
5722 (grub_net_addr_cmp): New proto.
5723 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
5724 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
5725 (grub_net_hwaddr_to_str): NEw proto.
5726 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
5727 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
5728 (grub_dns_init): New proto.
5729 (grub_dns_fini): Likewise.
5730 (grub_net_tcp_retransmit): Likewise.
5731 (grub_net_link_layer_add_address): Likewise.
5732 (grub_net_link_layer_resolve_check): Likewise.
5733 (grub_net_link_layer_resolve): Likewise.
5734 (grub_net_dns_lookup): Likewise.
5735 (grub_net_add_dns_server): Likewise.
5736 (grub_net_remove_dns_server): Likewise.
5737 (GRUB_NET_TRIES): New const.
5738 (GRUB_NET_INTERVAL): Likewise.
5739 * include/grub/net/arp.h: Mostly rewritten.
5740 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
5741 * include/grub/net/ip.h: Mostly rewritten.
5742 * include/grub/net/netbuff.h: Indent.
5743 * include/grub/net/tcp.h: New file.
5744 * include/grub/net/udp.h: Mostly rewritten.
5745 * include/grub/priority_queue.h: New file.
5746 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
5747 (grub_swap_bytes64_compile_time): Likewise.
5748 (grub_cpu_to_be16_compile_time): Likewise.
5749 (grub_cpu_to_be32_compile_time): Likewise.
5750 (grub_cpu_to_be64_compile_time): Likewise.
5751 (grub_be_to_cpu64_compile_time): Likewise.
5752
215c1800
VS
57532011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
5754
5755 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
5756 UINT_TO_PTR with cast.
5757
c17e546c
VS
57582011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5759
5760 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
5761 don't use them.
5762
ff6b18b6
VS
57632011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5764
5765 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
5766 already there.
5767
70ffcc93
VS
57682011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5769
5770 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
5771 confusing ipxe.
5772
e5f4d260
VS
57732011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5774
5775 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
5776 Add missing const attribute.
5777 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
5778 Likewise.
5779 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
5780 Likewise.
5781
8e54b4b7
VS
57822011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5783
5784 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
5785 misaligned access.
5786 (serpent_setkey): Likewise.
5787 (serpent_encrypt_internal): Likewise.
5788 (serpent_decrypt_internal): Likewise.
5789 (serpent_encrypt): Don't put an alignment-increasing cast.
5790 (serpent_decrypt): Likewise.
5791 (serpent_test): Likewise.
5792
813c0a2b
VS
57932011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5794
5795 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
5796
f2b60fbd
VS
57972011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5798
5799 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
5800
5801 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
5802 grub_addr_t casts.
5803 (PTR_TO_UINT64): Likewise.
5804 (PTR_TO_UINT32): Likewise.
5805
5ef5c511
VS
58062011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5807
5808 * util/grub-mkimage.c (generate_image): Decrease the higher limit
5809 because of stack.
5810 * util/grub-setup.c (setup): Don't add redundancy past the higher load
5811 limit.
5812
c476e6df
VS
58132011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5814
5815 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
5816 text_width > available width a bit more gracefully.
5817
384ad7cc
VS
58182011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5819
5820 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
5821 current address calculation.
5822
96f8caf8
VS
58232011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5824
5825 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
5826 stack.
5827 (encode_block): Likewise.
5828
276b7a8b
VS
58292011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5830
5831 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
5832 certainety.
5833
e3fd394a
VS
58342011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5835
5836 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
5837 non-RS part to avoid RS messing with GDT.
5838 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
5839 Increase to suit in realmode routines.
5840
58412011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
5842
5843 * grub-core/kern/i386/realmode.S: Increase alignment.
5844 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
5845
ee9c2e7a
VS
58462011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5847
5848 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
5849 be deterministic.
5850 (syndroms): Compute 0 syndrom.
5851 (rs_recover): Use 0 syndrom.
5852
7a7f7cc9
VS
58532011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
5856
a14b16d1
VS
58572011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
5860 brackets.
5861
9f59e9fc
VS
58622011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5863
ca1b552c
VS
5864 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
5865 account.
5866 (get_top_pad): Likewise.
5867 (get_right_pad): Likewise.
5868 (get_bottom_pad): Likewise.
5869
58702011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5871
5872 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 5873
e739d698
VS
58742011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5875
5876 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
5877 attribute as the structure isn't guaranteed to be properly aligned.
5878 (grub_efi_pci_device_path): Likewise.
5879 (grub_efi_pccard_device_path): Likewise.
5880 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
5881 specify the size of `memory_type'.
5882 (grub_efi_vendor_device_path): Likewise.
5883 (grub_efi_controller_device_path): Likewise.
5884 (grub_efi_acpi_device_path): Likewise.
5885 (grub_efi_expanded_acpi_device_path): Likewise.
5886 (grub_efi_atapi_device_path): Likewise.
5887 (grub_efi_scsi_device_path): Likewise.
5888 (grub_efi_fibre_channel_device_path): Likewise.
5889 (grub_efi_1394_device_path): Likewise.
5890 (grub_efi_usb_device_path): Likewise.
5891 (grub_efi_usb_class_device_path): Likewise.
5892 (grub_efi_i2o_device_path): Likewise.
5893 (grub_efi_mac_address_device_path): Likewise.
5894 (grub_efi_ipv4_device_path): Likewise.
5895 (grub_efi_ipv6_device_path): Likewise.
5896 (grub_efi_infiniband_device_path): Likewise.
5897 (grub_efi_uart_device_path): Likewise.
5898 (grub_efi_vendor_messaging_device_path): Likewise.
5899 (grub_efi_hard_drive_device_path): Likewise.
5900 (grub_efi_cdrom_device_path): Likewise.
5901 (grub_efi_vendor_media_device_path): Likewise.
5902 (grub_efi_file_path_device_path): Likewise.
5903 (grub_efi_protocol_device_path): Likewise.
5904 (grub_efi_piwg_device_path): Likewise.
5905 (grub_efi_bios_device_path): Likewise.
5906
cb8f88ea
VS
59072011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5908
5909 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
5910 (grub_ucs4_to_utf8_alloc): Likewise.
5911 (grub_ucs4_to_utf8): Likewise.
5912 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
5913 (grub_ucs4_to_utf8_alloc): Likewise.
5914
309e5352
VS
59152011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
5916
5917 AFFS never uses unicode.
5918
5919 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
5920 (grub_latin1_to_utf8): New inline function.
5921 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
5922
e7987e1b
VS
59232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5924
5925 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
5926 overflow.
5927
efc2616e
VS
59282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5929
5930 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
5931 (grub_squash_dirent_header): Likewise.
5932 (read_chunk): Don't double swap.
5933 (grub_squash_iterate_dir): Fix swap sizes.
5934
3c349f5a
VS
59352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5936
5937 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
5938
b453412d
VS
59392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5940
5941 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
5942 (grub_hfs_iterate_dir): Likewise.
5943
12e9d4d1
VS
59442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5945
5946 Fix video on platforms where unaligned access is forbidden.
5947 Make several optimisations while on it.
5948
5949 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
5950 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5951 (grub_video_fbblit_replace_32bit_1bit): Likewise.
5952 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
5953 Disable.
5954 (grub_video_fbblit_replace_16bit_1bit):
5955 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5956 (grub_video_fbblit_replace_8bit_1bit): Likewise.
5957 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
5958 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
5959 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
5960 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
5961 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
5962 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
5963 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
5964 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
5965 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
5966 (grub_video_fbblit_replace_index_RGB888): Likewise.
5967 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
5968 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
5969 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
5970 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
5971 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
5972 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
5973 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
5974 Disable.
5975 (grub_video_fbblit_blend_XXX565_1bit):
5976 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
5977 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
5978 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
5979 void *.
5980 * grub-core/video/fb/video_fb.c (common_blitter)
5981 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
5982 (grub_video_fb_create_render_target_from_pointer)
5983 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
5984 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
5985 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
5986 definition.
5987 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
5988
ace96609
VS
59892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5990
5991 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
5992 HH22 and HM10 relocations.
5993
fd261d73
VS
59942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5995
5996 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
5997
e59b7857
VS
59982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
5999
6000 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
6001 allocation succeeded.
6002
9b4baaa4
VS
60032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6004
6005 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
6006 argument a u8 pointer. All users updated.
6007 Handle unaligned buffers.
6008
dc713193
VS
60092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6010
6011 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
6012 add_part to workaround compiler bug.
6013
30dd48c2
VS
60142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6015
6016 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
6017
0c6087a8
VS
60182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6019
6020 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
6021 Reserve alignment invariants.
6022 (grub_multiboot_load): Likewise.
6023 (retrieve_video_parameters): Likewise.
6024 (grub_multiboot_make_mbi): Likewise.
6025
c2e77777
VS
60262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6027
6028 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
6029 incorrect pointer.
6030
b70b6d11
VS
60312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6032
6033 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
6034 (grub_pata_pio_write): Likewise.
6035
02a2bf83
VS
60362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6037
6038 Add noreturn attributes and remove unreachable code.
6039
6040 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
6041 code.
6042 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
6043 code. Mark as noreturn.
6044 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
6045 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
6046 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
6047 unreachable code.
6048 * grub-core/kern/main.c (grub_main): Mark as noreturn.
6049 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
6050 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
6051 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
6052 * include/grub/kernel.h (grub_main): Mark as noreturn.
6053 * include/grub/reader.h (grub_rescue_run): Likewise.
6054
2019d09e
VS
60552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
6058 redundant declaration.
6059
d1c501ee
VS
60602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6061
6062 * include/grub/net.h (grub_net_network_level_interfaces): Remove
6063 redundant declaration.
6064 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
6065
61664420
VS
60662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6067
6068 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
6069 to ensure alignment.
6070 (grub_hdparm_print_identify): Make argument uint16 * to ensure
6071 alignment. Ensure tmp alignment.
6072 (grub_cmd_hdparm): Ensure buf alignment.
6073 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
6074 to ensure alignment.
6075 (grub_ata_dumpinfo): Ensure text alignment.
6076 (grub_atapi_identify): Preserve alignment invariant.
6077 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
6078
0d51ee20
VS
60792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6080
6081 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
6082 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
6083 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
6084 * include/grub/misc.h (grub_reboot)
6085 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
6086 (grub_halt) [__mips__]: Likewise.
6087
753ef8c1
VS
60882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6089
6090 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
6091 Remove redundant declaration.
6092 (grub_mmap_get_post64): Likewise.
6093 (grub_mmap_get_upper): Likewise.
6094 (grub_mmap_get_lower): Likewise.
6095
85c85365
VS
60962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6097
6098 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
6099 uint32_t * to ensure alignment.
6100 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
6101
a23f2cc4
VS
61022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6103
93018f64
VS
6104 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
6105 uint16_t * to ensure alignment.
6106 (sun_pc_partition_map_iterate): Make `block' a union to ensure
6107 alignment.
6108
61092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6110
6111 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
6112 to ensure alignment.
6113 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
6114
58acccd6
VS
61152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6116
6117 * grub-core/fs/ntfs.c (u16at): Make into inline function.
6118 Handle unaligned pointers.
6119 (u32at): Likewise.
6120 (u64at): Likewise.
6121 (fixup): Use byte access instead of v16at.
6122 (find_attr): Fix imporper usage of v32at.
6123 (read_data): Likewise.
6124 (list_file): Handle byte-swapping and unaligned strings.
6125 (grub_ntfs_label): Likewise.
6126
9b05cad7
VS
61272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6128
6129 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
6130 as it's not necessarily aligned.
6131
b3950b84
VS
61322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6133
6134 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
6135 redundant declaration.
6136 (grub_serial_init): Likewise.
6137 (grub_terminfo_init): Likewise.
6138
fcd232b7
VS
61392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6140
6141 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
6142 function.
6143 (ZAP_HASH_IDX): Likewise.
6144 (ZAP_LEAF_HASH_SHIFT): Likewise.
6145 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
6146 (LEAF_HASH): Likewise.
6147 (ZAP_LEAF_NUMCHUNKS): Likewise.
6148 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
6149 alignment invariants. Return pointer. All users updated.
6150 (ZAP_LEAF_ENTRY): Make into inline function.
6151 (NBBY): Removed.
6152 (xor): LIkewise.
6153 (xor_out): Use grub_crypto_xor.
6154 (dnode_get_path): Use grub_get_unaligned.
6155 (nvlist_find_value): Likewise.
6156 (grub_zfs_nvlist_lookup_uint64): Likewise.
6157 (grub_zfs_nvlist_lookup_string): Likewise.
6158 (get_nvlist_size): Likewise.
6159 (grub_zfs_open): Likewise.
6160 (fill_fs_info): Likewise.
6161 (grub_zfs_dir): Likewise.
6162 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
6163 alignment invariants.
6164 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
6165 necessarily aligned.
6166
f138623a
VS
61672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6168
6169 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
6170
564840dc
VS
61712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
6174 arithmetic to conserve alignment invariants.
6175
9b40df20
VS
61762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6177
6178 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
6179 redundant declaration.
6180 (grub_efiemu_mm_obtain_request): Likewise.
6181 (grub_efiemu_prepare): Likewise.
6182
d1c930f9
VS
61832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6184
6185 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
6186 to match types.
6187
4c5f3056
VS
61882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6189
6190 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
6191 case of aunaligned recptr.
6192 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
6193 alignment.
6194 (grub_hfsplus_btree_search): Handle unaligned index.
6195
728cba91
VS
61962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6197
6198 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
6199 to get freetag and skip.
6200
eb561f31
VS
62012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
6204 array.
6205 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
6206 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
6207
20993fbb
VS
62082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6209
6210 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
6211 name for checksum and fix allocation algorithm.
6212
1f313b94
VS
62132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6214
6215 * include/grub/types.h (grub_properly_aligned_t): New type.
6216 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
6217 (grub_get_unaligned16): Add explicit casts.
6218 (grub_get_unaligned32): Likewise.
6219 (grub_get_unaligned64): Likewise.
6220 (grub_set_unaligned16): New function.
6221 (grub_set_unaligned32): Likewise.
6222
47ae27ec
VS
62232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6224
6225 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
6226
78c2cd1c
VS
62272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6228
6229 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
6230 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
6231 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
6232
53072f9b
VS
62332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6234
6235 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
6236 conditionals.
6237
055dc239
VS
62382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6239
6240 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
6241 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
6242
496bd074
VS
62432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6244
6245 Unify and improve RAID and crypto xor.
6246
6247 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
6248 changed to grub_crypto_xor
6249 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
6250 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
6251 Use bigger types when possible.
6252
ef6e4335
VS
62532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 * grub-core/disk/raid.c (scan_devices): Fix condition.
6256
5d048bf2
VS
62572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6258
6259 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
6260 Make name a const ptr.
6261
ee533335
VS
62622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
6265 first argument a const pointer.
6266 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
6267 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
6268 proto.
6269 (grub_children_iterate): Likewise.
6270 (grub_machine_mmap_iterate): Remove redundant declaration.
6271
cc8f3668
VS
62722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6273
6274 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
6275 (grub_cmd_acpi) [!x86]: Disable EBDA.
6276
c5fc563a
VS
62772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6278
6279 Enable UTF8 in gnulib regexp.
6280
6281 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
6282 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
6283 (isupper): Use grub_isupper.
6284 (isascii): New inline function.
6285 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
6286 * grub-core/lib/posix_wrap/wctype.h: Likewise.
6287 * grub-core/normal/charset.c (grub_utf8_process): New function.
6288 (grub_utf8_to_utf16): Use grub_utf8_process.
6289 (grub_encode_utf8_character): New function.
6290 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
6291 * include/grub/charset.h (grub_utf8_process): New declaration.
6292 (grub_encode_utf8_character): Likewise.
6293 * include/grub/misc.h (grub_islower): New inline function.
6294 (grub_isupper): Likewise.
6295 (grub_strchrsub): Moved down to fix the definitions.
6296
0af2346f
VS
62972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6298
6299 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
6300 specification.
6301
74dbd244
VS
63022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6303
6304 * include/grub/loader.h (grub_loader_register_preboot_hook):
6305 Use struct preboot * and not void * for handle. All users updated.
6306 (grub_loader_unregister_preboot_hook): Likewise.
6307
1bc8f60d
VS
63082011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
6309
6310 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
6311 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
6312 UTF-16-BE. All users updated.
6313 (grub_hfsplus_cmp_catkey): Fix unicode handling.
6314 (grub_hfsplus_iterate_dir): Likewise.
6315 (grub_hfsplus_label): Likewise.
6316
48d6e456
VS
63172011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
6318
6319 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
6320
bf3a3857
VS
63212011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
6322
6323 Add missing const qualifiers.
6324
6325 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
6326 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
6327 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
6328 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
6329 (grub_lvm_check_flag): Likewise.
6330 * grub-core/efiemu/i386/coredetect.c
6331 (grub_efiemu_get_default_core_name): Likewise
6332 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
6333 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
6334 * grub-core/fs/ntfs.c (fixup): Likewise.
6335 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
6336 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
6337 (fzap_lookup): Likewise.
6338 (zap_lookup): Likewise.
6339 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
6340 * grub-core/lib/legacy_parse.c (check_option): Likewise.
6341 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
6342 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
6343 (grub_freebsd_add_meta_module): Likewise.
6344 (grub_cmd_freebsd_module): Likewise.
6345 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
6346 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
6347 (grub_xnu_writetree_get_size): Likewise.
6348 (grub_xnu_writetree_toheap_real): Likewise.
6349 (grub_xnu_find_key): Likewise.
6350 (grub_xnu_create_key): Likewise.
6351 (grub_xnu_create_value): Likewise.
6352 (grub_xnu_register_memory): Likewise.
6353 (grub_xnu_check_os_bundle_required): Likewise.
6354 (grub_xnu_scan_dir_for_kexts): Likewise.
6355 (grub_xnu_load_kext_from_dir): Likewise.
6356 * grub-core/normal/color.c (color_list): Likewise.
6357 * grub-core/normal/completion.c (current_word): Likewise.
6358 * grub-core/normal/menu_entry.c (insert_string): Likewise.
6359 * grub-core/term/serial.c (grub_serial_find): Likewise.
6360 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
6361 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
6362 Likewise.
6363 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
6364 (grub_freebsd_add_meta_module): Likewise.
6365 * include/grub/lib/arg.h (grub_arg_option): Likewise.
6366 * include/grub/net.h (grub_net_card_driver): Likewise.
6367 (grub_net_card): Likewise.
6368 (grub_net_app_protocol): Likewise.
6369 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
6370 * include/grub/serial.h (grub_serial_find): Likewise.
6371 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
6372 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
6373 (grub_xnu_create_value): Likewise.
6374 (grub_xnu_find_key): Likewise.
6375 (grub_xnu_scan_dir_for_kexts): Likewise.
6376 (grub_xnu_load_kext_from_dir): Likewise.
6377
6378 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
6379 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
6380 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
6381 Moved from here ...
6382 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
6383
112b4837
CW
63842011-11-28 Colin Watson <cjwatson@ubuntu.com>
6385
6386 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
6387
49e891ac
VS
63882011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
6389
6390 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
6391 (read_device): Fix size calculation.
6392
fd258e5c
RM
63932011-11-25 Robert Millan <rmh@gnu.org>
6394
6395 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
6396 (find_root_device_from_libzfs): Add zpool output parser to be used
6397 as fallback when libzfs isn't available.
6398
78845dc2
SG
63992011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
6400
6401 * po/Makefile.in.in: Add missing escape-continuation.
6402
adac5211
VS
64032011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
6404
6405 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
6406
10b64f1c
VS
64072011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6408
6409 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
6410
bb416954
VS
64112011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6412
6413 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
6414
bdfe9eeb
VS
64152011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
6418
581ffa8a
VS
64192011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6420
6421 * grub-core/lib/adler32.c: Add missing license specification.
6422 * grub-core/lib/crc64.c: Likewise.
6423 * grub-core/loader/i386/pc/plan9.c: Likewise.
6424 * grub-core/partmap/plan.c: Likewise.
6425
2536cf64
LK
64262011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
6427
6428 Add facility to debug GRUB with gdb under qemu.
6429
6430 * grub-core/gdb_grub.in: New file.
6431 * grub-core/gmodule.pl.in: Likewise.
6432 * grub-core/Makefile.core.def (gmodule.pl): New script.
6433 (gdb_grub): Likewise.
6434
bc108a4a
VS
64352011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6436
6437 * util/grub-mount.c (argp_parser): Accept relative pathes.
6438 * util/grub-fstest.c (argp_parser): Likewise.
6439
111c1778
VS
64402011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6441
6442 Plan9 support.
6443
6444 * Makefile.util.def (libgrubmods): Add
6445 grub-core/partmap/plan.c.
6446 * docs/grub.texi: Notice Plan9 support.
6447 * grub-core/Makefile.core.def (plan9): New module.
6448 (part_plan): Likewise.
6449 * grub-core/loader/i386/pc/plan9.c: New file.
6450 * grub-core/partmap/plan.c: Likewise.
6451 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
6452 define.
6453 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
6454 * include/grub/mm.h (grub_extend_alloc): New inline function.
6455
c30be3b6
VS
64562011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6457
6458 Make Reed-Solomon faster by using power of generator representation of
6459 GF(256)*.
6460
6461 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
6462 (gf_double_t): Likewise.
6463 (gf_invert): Removed.
6464 (gf_powx): New array.
6465 (gf_powx_inv): Likewise.
6466 (scratch): Move higher.
6467 (gf_reduce): Removed.
6468 (gf_mul): Use powx.
6469 (gf_invert): Likewise.
6470 (init_inverts): Replaced with ...
6471 (init_powx): ...this. All users updated.
6472 (pol_evaluate): Replace multiplications with additions.
6473 (rs_encode): Likewise.
6474 (gauss_eliminate): Call gf_invert.
6475 (grub_reed_solomon_add_redundancy): Call init_powx.
6476 (grub_reed_solomon_recover): Call init_powx unconditionally.
6477
fa5aeffc
VS
64782011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6479
6480 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
6481
a346b81c
VS
64822011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6483
6484 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
6485 disk->partiton for safety.
6486
d89ee414
VS
64872011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6488
6489 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
6490 Fix a memory leak.
6491 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
6492
91ee7b6d
VS
64932011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6494
6495 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
6496
91e5a33d
VS
64972011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6498
6499 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
6500
9edd7be2
VS
65012011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 Fix spaces handling in proc/self/mountinfo.
6504
6505 * util/getroot.c (unescape): New function.
6506 (grub_find_root_device_from_mountinfo): Use unescape.
6507
ba102053
VS
65082011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6509
6510 Support ZFS embedding.
6511
6512 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
6513 (grub_zfs_fs): Register grub_zfs_embed.
6514
aa94b870
VS
65152011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6516
6517 Fix MIPS compilation.
6518
6519 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
6520 * include/grub/offsets.h: Rename decompressor fields from
6521 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
6522 * util/grub-mkimage.c (image_targets): Use new names.
6523
5fbdac14
VS
65242011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6525
6526 Defer multiboot device parsing until we're in compressed part.
6527
6528 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
6529 bsd_part. setdevice has fallen into disuse.
6530 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
6531 (bsd_part): Likewise.
6532 (boot_dev): New variable.
6533 (multiboot_trampoline): Don't parse multiboot device.
6534 Pass multiboot device in %edx.
6535 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
6536 grub_boot_device.
6537 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
6538 Likewise.
6539 * grub-core/kern/i386/pc/startup.S: Save edx.
6540 (grub_boot_drive): Removed.
6541 (grub_install_dos_part): Likewise.
6542 (grub_install_bsd_part): Likewise.
6543 (grub_boot_device): New variable.
6544 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
6545 (grub_install_bsd_part): Likewise.
6546 (grub_boot_drive): Likewise.
6547 (grub_boot_device): New variable.
6548 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
6549 Removed.
6550 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
6551 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
6552 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
6553 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
6554 * util/grub-install.in: Remove redundant condition.
6555
691cbb58
VS
65562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6557
6558 Fix bug introduced by previous commit.
6559
6560 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
6561
60240b8b
VS
65622011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6563
6564 Use decompressors framework on i386-pc. It increases core size
6565 by 46 bytes but improves compatibility and maintainability.
6566
6567 * grub-core/Makefile.core.def (lzma_decompress): New image.
6568 (kernel): Add i386_pc_ldflags.
6569 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
6570 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
6571 to real_to_prot, prot_to_real and device info.
6572 * include/grub/offsets.h: Renamed decompressor offsets.
6573 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
6574 (image_target_desc): Remove raw_size and rename decompressor fields.
6575 (compress_kernel): Handle lzma.
6576 (generate_image): Handle decompressors on i386-pc.
6577
e9d3421c
VS
65782011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 * configure.ac: Add -fno-asynchronous-unwind-tables.
6581
2b23074a
VS
65822011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6583
6584 Move assembly code to C by using intwrap. It increases core size
6585 by 88 bytes but improves compatibility and maintainability.
6586
6587 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
6588 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
6589 ... here. Translated to C.
6590 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
6591 * grub-core/term/i386/pc/console.c (grub_console_getkey):
6592 ... here. Translated to C.
6593 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
6594 * grub-core/term/i386/pc/console.c (grub_console_getxy):
6595 ... here. Translated to C.
6596 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
6597 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
6598 ... here. Translated to C.
6599 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
6600 * grub-core/term/i386/pc/console.c (grub_console_cls):
6601 ... here. Translated to C.
6602 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
6603 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
6604 ... here. Translated to C.
6605 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
6606 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
6607 Translated to C.
6608 * grub-core/term/i386/pc/console.c (int10_9): New function.
6609 (grub_console_putchar): Likewise.
6610 * include/grub/i386/pc/console.h: Removed the not anymore shared
6611 functions.
6612
678f4b67
VS
66132011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6614
6615 Move grub_chainloader_real_boot out of the kernel.
6616
6617 * grub-core/Makefile.am: Remove machine/loader.h.
6618 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
6619 Removed.
6620 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
6621 variable.
6622 (grub_relocator16_keep_a20_enabled): Likewise.
6623 (grub_relocator16_boot): Fill new variables.
6624 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
6625 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
6626 relocator.
6627 (grub_chainloader_unload): Likewise.
6628 (grub_chainloader_cmd): Likewise.
6629 * include/grub/i386/pc/loader.h: Removed.
6630 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
6631 and esi. All initialisers updated.
6632
4626edf6
VS
66332011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
66342011-11-12 Colin Watson <cjwatson@ubuntu.com>
6635
6636 * Makefile.util.def (grub-mount): New util.
6637 * .bzrignore: Add grub-mount.
6638 * configure.ac: Check for fuse and enable grub-mount if available.
6639 * docs/man/grub-mount.h2m: New file.
6640 * util/grub-mount.c: Likewise.
6641
10f0117b
VS
66422011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6643
6644 * grub-core/commands/efi/fixvideo.c: Gettextize.
6645 * grub-core/commands/hashsum.c: Likewise.
6646 * grub-core/commands/i386/cmostest.c: Likewise.
6647 * grub-core/commands/i386/pc/drivemap.c: Likewise.
6648 * grub-core/commands/i386/pc/lsapm.c: Likewise.
6649 * grub-core/commands/i386/pc/sendkey.c: Likewise.
6650 * grub-core/commands/lsmmap.c: Likewise.
6651 * grub-core/commands/menuentry.c: Likewise.
6652 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
6653 * grub-core/commands/setpci.c: Likewise.
6654 * grub-core/loader/i386/bsd.c: Likewise.
6655 * grub-core/loader/i386/linux.c: Likewise.
6656 * util/getroot.c: Likewise.
6657 * util/grub-editenv.c: Likewise.
6658 * util/grub-fstest.c: Likewise.
6659 * util/grub-mkfont.c: Likewise.
6660 * util/grub-mkimage.c: Likewise.
6661 * util/grub-mkpasswd-pbkdf2.c: Likewise.
6662 * util/grub-pe2elf.c: Likewise.
6663 * util/grub-probe.c: Likewise.
6664 * util/grub-setup.c: Likewise.
6665 * util/ieee1275/ofpath.c: Likewise.
6666 * util/misc.c: Likewise.
6667 * util/raid.c: Likewise.
6668
566f779b
RM
66692011-11-11 Robert Millan <rmh@gnu.org>
6670
6671 * util/getroot.c (grub_util_get_geom_abstraction): Remove
6672 __attribute__((unused)) from `os_dev', which *is* being used.
6673
b50787de
VS
66742011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6675
6676 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
6677 forgotten define.
6678 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
6679 GRUB_IA64_DL_GOT_ALIGN.
6680 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
6681 GRUB_IA64_DL_TRAMP_ALIGN.
6682
119d11c8
VS
66832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6684
6685 Replace grub_fatal with normal errors in i386 linux loader.
6686
6687 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
6688 (allocate_pages): Check find_efi_mmap_size return value.
6689 (grub_e820_add_region): Return error.
6690 (grub_linux_boot): Check mmap return value.
6691
6e0632e2
VS
66922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6693
6694 * grub-core/commands/acpihalt.c: Gettextized.
6695 * grub-core/commands/cacheinfo.c: Likewise.
6696 * grub-core/commands/cmp.c: Likewise.
6697 * grub-core/commands/efi/loadbios.c: Likewise.
6698 * grub-core/commands/gptsync.c: Likewise.
6699 * grub-core/commands/ieee1275/suspend.c: Likewise.
6700 * grub-core/commands/legacycfg.c: Likewise.
6701 * grub-core/commands/memrw.c: Likewise.
6702 * grub-core/commands/minicmd.c: Likewise.
6703 * grub-core/commands/parttool.c: Likewise.
6704 * grub-core/commands/time.c: Likewise.
6705 * grub-core/commands/videoinfo.c: Likewise.
6706 * grub-core/disk/geli.c: Likewise.
6707 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
6708 * grub-core/disk/luks.c: Likewise.
6709 * grub-core/disk/lvm.c: Likewise.
6710 * grub-core/font/font_cmd.c: Likewise.
6711 * grub-core/fs/zfs/zfscrypt.c: Likewise.
6712 * grub-core/fs/zfs/zfsinfo.c: Likewise.
6713 * grub-core/gfxmenu/view.c: Likewise.
6714 * grub-core/kern/emu/hostdisk.c: Likewise.
6715 * grub-core/kern/emu/main.c: Likewise.
6716 * grub-core/kern/emu/misc.c: Likewise.
6717 * grub-core/kern/emu/mm.c: Likewise.
6718 * grub-core/kern/mips/arc/init.c: Likewise.
6719 * grub-core/kern/mips/loongson/init.c: Likewise.
6720 * grub-core/kern/partition.c: Likewise.
6721 * grub-core/lib/i386/halt.c: Likewise.
6722 * grub-core/lib/mips/arc/reboot.c: Likewise.
6723 * grub-core/lib/mips/loongson/reboot.c: Likewise.
6724 * grub-core/loader/i386/pc/chainloader.c: Likewise.
6725 * grub-core/loader/i386/xnu.c: Likewise.
6726 * grub-core/loader/multiboot.c: Likewise.
6727 * grub-core/net/bootp.c: Likewise.
6728 * grub-core/net/net.c: Likewise.
6729 * grub-core/normal/term.c: Likewise.
6730 * grub-core/partmap/bsdlabel.c: Likewise.
6731 * grub-core/parttool/msdospart.c: Likewise.
6732 * grub-core/term/gfxterm.c: Likewise.
6733 * grub-core/term/terminfo.c: Likewise.
6734 * grub-core/video/i386/pc/vbe.c: Likewise.
6735 * util/grub-menulst2cfg.c: Likewise.
6736 * util/grub-mkdevicemap.c: Likewise.
6737 * util/grub-mklayout.c: Likewise.
6738 * util/grub-mkrelpath.c: Likewise.
6739 * util/grub-script-check.c: Likewise.
6740 * util/ieee1275/grub-ofpathname.c: Likewise.
6741 * util/resolve.c: Likewise.
6742
073aa7a9
VS
67432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6744
6745 Support %1$d syntax.
6746
6747 * tests/printf_unit_test.c: New file.
6748 * Makefile.util.def (printf_test): New test.
6749 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
6750
c76b5417
VS
67512011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6752
6753 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
6754 fix.
6755
df067ad1
VS
67562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6757
6758 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
6759 dprintf.
6760 * grub-core/font/font.c (grub_font_load): Likewise.
6761
5b289bc5
VS
67622011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6763
6764 * util/grub-macho2img.c: Add comment concerning gettext.
6765 * grub-core/lib/legacy_parse.c: Likewise.
6766
c1860f87
VS
67672011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6768
6769 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
6770 (grub_xvasprintf): Likewise.
6771
d35d0d37
VS
67722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6773
6774 Add const keyword to grub_env_get and gettextize week days.
6775
6776 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
6777 (grub_read_hook_datetime): Return const char *.
6778 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
6779 updated.
6780 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
6781 Mark for gettext.
6782 (grub_get_weekday_name): Return const char *. Call gettext.
6783 * grub-core/script/argv.c (grub_script_argv_append): Receive const
6784 char * and len as the argument. All users updated.
6785 (grub_script_argv_split_append): Receive const char *.
6786 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
6787 * include/grub/env.h (grub_env_get): Likewise.
6788 (grub_env_read_hook_t): Return const char *.
6789 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
6790 (grub_script_argv_split_append): Likewise.
6791
9aed8a71
VS
67922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6793
6794 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
6795
067fdf00
VS
67962011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6797
6798 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
6799 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
6800
a8bd9d39
VS
68012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6802
6803 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
6804 Fix prototype.
6805
f7ce5baf
VS
68062011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6807
6808 Fix mips compilation.
6809
6810 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
6811 normal decoder.
6812 (hashes): Use in embed decoder as well (for sizes).
6813 (dec_stream_header): Fix embed decompressor logic.
6814 (dec_stream_footer): Likewise.
6815
9bb182f3
VS
68162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6817
6818 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
6819 an error and not a fatal on unrecognised relocation types.
6820
63a9e6f6
VS
68212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6822
6823 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
6824 Issue error rather than printf on unknown arguments.
6825
4c458569
VS
68262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6827
6828 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
6829 Make buf a const.
6830
e2d22baf
VS
68312011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6832
6833 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
6834 Fix module name.
6835
53dc8590
VS
68362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6837
6838 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
6839 leftover debug printf.
6840
6c189294
VS
68412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6842
6843 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
6844
f7688369
VS
68452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6846
6847 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
6848 A stylistic fix.
6849
11a775a3
VS
68502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
6851
6852 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
6853
33f784e8
SL
68542011-11-10 Shea Levy <slevy@tieronedesign.com>
6855
6856 Allow all modules to perform serial IO
6857
6858 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
6859 * include/grub/serial.h (grub_serial_port_configure): New inline
6860 function.
6861 (grub_serial_port_fetch): Likewise.
6862 (grub_serial_port_put): Likewise.
6863 (grub_serial_port_fini): Likewise.
6864 (grub_serial_find): New proto.
6865
f6276525
VS
68662011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6867
6868 Put symlink at the end of the node and fix a potential
6869 memory corruption.
6870
6871 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
6872 Make symlink into an array.
6873 (set_rockridge): Set have_symlink and alloc_dirents.
6874 (grub_iso9660_read_symlink): Use new layout.
6875 (grub_iso9660_iterate_dir): Fix memory corruption.
6876 Use new layout.
6877 (grub_iso9660_dir): Set have_symlink.
6878 (grub_iso9660_open): Likewise.
6879
c3591189
VS
68802011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6881
6882 Remove local keyword.
6883
6884 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
6885 (version_test_gt): Likewise.
6886 (version_find_latest): Likewise.
6887 (gettext_printf): Likewise.
6888 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
6889
cb544caa
VS
68902011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6891
6892 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
6893
45bd824d
VS
68942011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6895
6896 Fix ZFS memory and resource leaks.
6897
6898 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
6899 All users updated.
6900 Free type on exit.
6901 (fill_vdev_info): New parameter inserted. All users updated.
6902 (check_pool_label): Likewise.
6903 (scan_disk): Likewise.
6904 (scan_devices): Close non-inserted disks.
6905 (fzap_iterate): Free l.
6906 (unmount_device): Free children descripto memory.
6907
ad9a2f44
VS
69082011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6909
6910 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
6911 argument (access out of bounds).
6912
6b68db81
VS
69132011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6914
6915 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
6916 >= 6 drives.
6917
28840fda
VS
69182011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
6919
6920 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
6921 Fix declaration.
6922
8a5a3a5b
VS
69232011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6924
6925 Fix several memory leaks.
6926
6927 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
6928 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
6929 (grub_cpio_dir): Likewise.
6930 * grub-core/fs/fat.c (grub_fat_label): Likewise.
6931 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
6932 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
6933 (grub_romfs_label): Likewise.
6934 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
6935 (squash_unmount): New function.
6936 (grub_squash_dir): Fix memory leak.
6937 (grub_squash_open): Likewise.
6938 (grub_squash_read): Likewise.
6939 (grub_squash_mtime): Likewise.
6940 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
6941 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
6942 * util/grub-fstest.c (fstest): Likewise.
6943
57b01250
VS
69442011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6945
6946 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
6947 avoid accessing beyond the array.
6948
19e81ba7
VS
69492011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6950
6951 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
6952
52b656c0
VS
69532011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
6954
6955 Several AFFS fixes.
6956
6957 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
6958 (GRUB_AFFS_FLAG_FFS): Removed.
6959 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
6960 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
6961 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
6962 (grub_fshelp_node): Make block 32-bit.
6963 Add block_cache and last_block_cache.
6964 (grub_affs_read_block): Fill and use block cache.
6965 (grub_affs_read_file): Removed.
6966 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
6967 boot block.
6968 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
6969 safety.
6970 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
6971 space.
6972 (grub_affs_close): Free block cache.
6973 (grub_affs_read): Use grub_fshelp_read_file directly.
6974
438a746a
VS
69752011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6976
6977 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
6978 with no error set.
6979
49a45021
VS
69802011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6981
6982 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
6983 used variable.
6984 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
6985 Likewise.
6986
3ae17eb8
VS
69872011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6988
6989 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
6990
6991 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
6992 byteswap when needed.
6993
27610c38
VS
69942011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
6995
6996 Fix FreeBSD compilation.
6997
6998 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
6999 to avoid circular dependency.
7000 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
7001 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
7002 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
7003
4a19b601
VS
70042011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7005
7006 Fix ZFS crypto error types.
7007
7008 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
7009 (grub_gcm_decrypt): Likewise.
7010 (grub_zfs_load_key_real): Fix error code type. Handle possible error
7011 from PBKDF2.
7012
958ee221
VS
70132011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7014
7015 Illumos support.
7016
7017 * Makefile.util.def (10_illumos): New script.
7018 * configure.ac: Set COND_HOST_ILLUMOS.
7019 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
7020 Support Illumos calls.
7021 (find_partition_start) [__sun__]: Likewise.
7022 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
7023 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
7024 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
7025 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
7026 device.
7027 * util/grub-probe.c (probe) [__sun__]: Do character check.
7028 * util/grub.d/10_illumos.in: New file.
7029
cac14fb6
VS
70302011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7031
7032 Support escaped commas in hostdisk.
7033
7034 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
7035 (find_grub_drive): Use unescape_cmp.
7036 (make_device_name): Escape commas.
7037
78e08dc3
VS
70382011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7039
7040 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
7041
9f421dd1
VS
70422011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7043
7044 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
7045 variable.
7046
ed64e9e2
VS
70472011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7048
7049 Support trampoline jumps on powerpc.
7050
7051 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
7052 __ia64__ path.
7053 (grub_dl_load_segments): Set mod->sz.
7054 (grub_dl_flush_cache): Flush whole space occupied by module, not just
7055 segments.
7056 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
7057 (jump): Likewise.
7058 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
7059 function.
7060 (trampoline): New struct.
7061 (trampoline_template): New const.
7062 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
7063 * include/grub/dl.h (grub_dl): Add sz element.
7064 [__powerpc__]: Follow __ia64__.
7065 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
7066 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
7067 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
7068 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
7069
3084ede4
VS
70702011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7071
7072 ZFS crypto support.
7073
7074 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
7075 * grub-core/Makefile.core.def (zfscrypt): New module.
7076 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
7077 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
7078 it. All users updated.
7079 (grub_zfs_decrypt): New var.
7080 (grub_zfs_load_key): Likewise.
7081 (zio_checksum_functions): Add SHA256+MAC.
7082 (zio_checksum_verify): Handle incomplete comparison due to MAC.
7083 (zio_read): Handle encrypted blocks.
7084 (zap_verify): Remove incorrect check.
7085 (fzap_iterate): Handle non-standard fzap.
7086 (zap_iterate): Likewise.
7087 (zap_iterate_u64): New function.
7088 (dnode_get_fullpath): Load keys.
7089 * grub-core/fs/zfs/zfscrypt.c: New file.
7090 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
7091 (grub_crypto_ecb_encrypt): Make input const.
7092 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
7093 (grub_crypto_ecb_encrypt): Make input const.
7094 (GRUB_CIPHER_AES): New macro.
7095 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
7096 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
7097 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
7098 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
7099 prefix. All users updated.
7100 (grub_zfs_add_key): New proto.
7101 (grub_zfs_decrypt): Likewise.
7102 (grub_zfs_load_key): Likewise.
7103 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
7104 * util/grub-fstest.c (options): Add -K option.
7105 (argp_parser): Likewise.
7106
b632b404
VS
71072011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7108
7109 Support zle compression on ZFS.
7110
7111 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
7112 (decomp_table): Add zle.
7113 * include/grub/zfs/zio.h (zio_compress): Add zle.
7114
c7ba4f69
VS
71152011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7116
7117 Support BtrFS embedding.
7118
7119 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
7120 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
7121 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
7122 * util/grub-setup.c (setup): Use fs embedding if available.
7123 Add additional sanity check.
7124
455377d9
VS
71252011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7126
7127 * util/grub-install.in: Fix condition for config_opt.
7128
c2fd16ca
VS
71292011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7130
7131 Support third redundancy strip on raidz3.
7132
7133 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
7134 Return error on singularity. All users updated.
7135 (read_device): Don't stop on 3rd failure on raidz3.
7136
8622923b
VS
71372011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7138
7139 Support case-insensitive ZFS subvolumes.
7140
7141 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
7142 All users updated.
7143 (zap_hash): Likewise.
7144 (name_cmp): New function.
7145 (zap_leaf_array_equal): New parameter case_insensitive.
7146 All users updated.
7147 (zap_leaf_lookup): Likewise.
7148 (fzap_lookup): Likewise.
7149 (zap_lookup): Likewise.
7150 (dnode_get_path): New parameter case_insensitive. Retrieve case
7151 sensitiviness of a volume. All users updated.
7152 (dnode_get_fullpath): New parameter case_insensitive.
7153 All users updated.
7154 (grub_zfs_dir): Set info.case_insensitiveness.
7155
95f2e860
VS
71562011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7157
7158 Support second redundancy strip on raidz(2,3).
7159
7160 * grub-core/fs/zfs/zfs.c (powx): New array.
7161 (powx_inv): Likewise.
7162 (poly): New const.
7163 (xor_out): New function.
7164 (gf_mul): Likewise.
7165 (recovery): Likewise.
7166 (read_device): Use second redundancy strip.
7167
11ee4389
VS
71682011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7169
7170 Use a power of generator representation of GF(256) multiplication group
7171 to save space time and complexity.
7172
7173 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
7174 (raid6_table2): Likewise.
7175 (powx): New array.
7176 (powx_inv): Likewise.
7177 (poly): New const.
7178 (grub_raid_block_mul): Replace with ...
7179 (grub_raid_block_mulx): ...this.
7180 (grub_raid6_init_table): Rewritten.
7181 (grub_raid6_recover): Use power of generator representation.
7182
09e2763f
VS
71832011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7184
7185 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
7186 for the right device.
7187
8bec9a28
VS
71882011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7189
7190 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
7191 expected by grub-mkimage and it's more clear since there is no implicit
7192 padding.
7193
dbd3a32e
VS
71942011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7195
7196 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
7197 disk.
7198 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
7199
182c872a
PMH
72002011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
7201
7202 * util/grub-mkrescue.in: Fix handling xorriso option.
7203
1e51cabd
VS
72042011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7205
7206 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
7207 NULL.
7208
9cc3581d 72092011-11-03 crocket <crockabiscuit@gmail.com>
7210
7211 * util/grub.d/10_linux.in: Add Slackware initrd naming.
7212
158dc1ea
VS
72132011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7214
7215 XZ CRC64 and SHA256 support.
7216
7217 * Makefile.util.def (libgrubmods): Add crc64.c.
7218 * grub-core/Makefile.core.def (crc64): New module.
7219 * grub-core/lib/crc64.c: New file.
7220 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
7221 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
7222 Fix the type.
7223 (MAX_HASH_SIZE): New define.
7224 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
7225 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
7226 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
7227 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
7228 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
7229 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
7230 Handle non-crc32 hashes.
7231 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
7232 (dec_stream_header): Handle non-crc32 hashes.
7233 (dec_stream_footer): Likewise.
7234 (dec_block_header): Likewise.
7235 (dec_main): Likewise.
7236 (xz_dec_init): Likewise.
7237 (xz_dec_reset): Likewise.
7238 (xz_dec_end): Likewise.
7239 * util/import_gcry.py: Add CRC64 line.
7240
9d9b3d2f
VS
72412011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7242
7243 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
7244 as well.
7245
7d0ac931
VS
72462011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7247
7248 Make reiserfs label retrieval similar to other *_label functions.
7249
7250 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
7251 (REISERFS_MAX_LABEL_LENGTH): Removed.
7252 (REISERFS_LABEL_OFFSET): Likewise.
7253 (grub_reiserfs_label): Rewritten.
7254
72552011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7256
7257 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
7258 field.
7259
cf5ba824
VS
72602011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7261
7262 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
7263
17744004
VS
72642011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
7265
7266 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
7267 drive failure on both raidz and raidz2.
7268
aca5aefc
VS
72692011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
7270
7271 Fix RAIDZ(2) for >= 5 devices.
7272
7273 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
7274 asize argument. All users updated.
7275
ce8ca56e
VS
72762011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7277
7278 Fix RAIDZ(2).
7279
7280 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
7281 (fill_vdev_info_real): Set ashift.
7282 (read_device): Rewrite RAIDZ part based on reverse engineering.
7283
7c01e783
VS
72842011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7285
7286 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
7287 don't report potentially unavialiable fields in debug output.
7288 (find_path): Fix double-free and memory leak.
7289
ce109e84
VS
72902011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7291
7292 Read label on UFS1.
7293
7294 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
7295 (grub_ufs_fs): Always set .label.
7296
87661123
VS
72972011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7298
7299 Use shifts in UFS.
7300
7301 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
7302 (grub_ufs_data): New field log2_blksz.
7303 (grub_ufs_read_file): Use shifts.
7304 (grub_ufs_mount): Check block size and logarithm it.
7305
46bc1dc2
VS
73062011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7307
7308 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
7309 long symlinks.
7310
19ee2987
VS
73112011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7312
7313 Handle symlinks and long names on tar and cpio.
7314
7315 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
7316 (ATTR_FILE): Likewise.
7317 (ATTR_DIR): Likewise.
7318 (ATTR_LNK): Likewise.
7319 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
7320 (grub_cpio_find_file): Fill mode, handle linkname field as well as
7321 L and K entries.
7322 (grub_cpio_mount): Zero-fill data.
7323 (handle_symlink): New function.
46bc1dc2
VS
7324 (grub_cpio_dir): Handle symlinks.
7325 (grub_cpio_open): Likewise.
7326 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 7327
c83a08d8
VS
73282011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7329
7330 Fix iso9660 filename limitations and fix memory leaks.
7331
7332 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
7333 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
7334
45cdd3ea
VS
73352011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7336
7337 Fix JFS file name length limitations.
7338
7339 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
7340 (grub_jfs_diropen): Fix maximum filename length.
7341 (grub_jfs_getent): Fix filename length.
7342 (grub_jfs_lookup_symlink): Fix size checks.
7343
94ef05c2
VS
73442011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7345
7346 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
7347 string.
7348
785ab8c7
VS
73492011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7350
eb0b6b45
VS
7351 Leverage BFS implementation to read AFS.
7352
7353 * Makefile.util.def (libgrubmods): Add afs.c.
7354 * grub-core/Makefile.core.def (afs): New module
7355 * grub-core/fs/afs.c: New file.
7356 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
7357
73582011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7359
7360 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 7361
c4a1628f
VS
73622011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7363
7364 * grub-core/fs/bfs.c: Run indent.
7365
5825b379
VS
73662011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7367
7368 BFS implementation based on the specification.
7369
7370 * grub-core/fs/bfs.c: New file.
7371 * Makefile.util.def (libgrubmods): Add bfs.c.
7372 * grub-core/Makefile.core.def (bfs): New module.
7373
42b2a706
VS
73742011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7375
7376 * util/grub-fstest.c (cmd_cp): Clarify error message.
7377 (cmd_cmp): Likewise.
7378
61b99bfc
YB
73792011-10-30 Yves Blusseau <blusseau@zetam.org>
7380
7381 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
7382 and befs_be.
7383
faba3d16
VS
73842011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
7385
7386 Remove afs and befs because of copyright problem.
7387
7388 * grub-core/fs/afs.c: Removed.
7389 * grub-core/fs/afs_be.c: Removed.
7390 * grub-core/fs/befs.c: Removed.
7391 * grub-core/fs/befs_be.c: Removed.
7392 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
7393 * grub-core/Makefile.core.def (afs): Removed.
7394 (afs_be): Likewise.
7395 (befs): Likewise.
7396 (befs_be): Likewise.
7397
c39224b0
VS
73982011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7399
7400 Prefer rockridge over Joliet.
7401
7402 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
7403 to ...
7404 (set_rockridge): ... here.
7405 (grub_iso9660_mount): Check rockridge on the primary label when
7406 discovering. Ignore Joliet if Rockridge is present.
7407
e551115a
VS
74082011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 Use shifts in nilfs2.
7411
7412 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
7413 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
7414 (grub_nilfs2_palloc_entries_per_group): Replace with ...
7415 (grub_nilfs2_log_palloc_entries_per_group): ... this.
7416 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
7417 (grub_nilfs2_entries_per_block): Replaced with ...
7418 (grub_nilfs2_log_entries_per_block_log): ... this.
7419 (grub_nilfs2_blocks_per_group): Replaced with ...
7420 (grub_nilfs2_blocks_per_group_log): ... this.
7421 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
7422 (grub_nilfs2_blocks_per_desc_block_log): ... this.
7423 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
7424 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
7425 (grub_nilfs2_palloc_entry_offset): Replaced ...
7426 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
7427 (grub_nilfs2_dat_translate): Use shifts.
7428 (grub_nilfs2_read_inode): Likewise.
7429 (GRUB_MOD_INIT): Ensure that logs are correct.
7430
564dd58c
VS
74312011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7432
7433 Use shifts in minix filesystem.
7434
7435 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
7436 (GRUB_MINIX_ZONE2SECT): Likewise.
7437 (grub_minix_data): Replace block_size with log_block_size.
7438 (grub_minix_read_file): Use shifts.
7439 (grub_minix_mount): Check block size and take a logarithm.
7440
ed9ba06d
VS
74412011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7442
7443 Use shifts in squash4.
7444
7445 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
7446 (squash_mount): Check block size and take logarithm.
7447 (direct_read): Use shifts.
7448
ad03fe76
VS
74492011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7450
7451 Correct befs block counting logic.
7452
7453 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
7454 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
7455 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
7456 (grub_afs_read_inode): Use block_shift.
7457 (RANGE_SHIFT): New definition.
7458 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
7459 unexpected conditions, use shifts and appropriate types.
7460 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
7461
6563f63d
VS
74622011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7463
7464 * grub-core/disk/raid.c (scan_devices): Check partition.
7465 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
7466
5b1ae25f
VS
74672011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
7468
7469 Support BFS (befs) UUID.
7470
7471 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
7472 (grub_afs_small_data_element_header): New struct.
7473 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
7474 (grub_afs_read_attribute) [MODE_BFS]: New function.
7475 (grub_afs_iterate_dir): Allocate for complete inode.
7476 (grub_afs_mount): Likewise.
7477 (grub_afs_uuid) [MODE_BFS]: New function.
7478 (grub_afs_fs) [MODE_BFS]: Add .uuid.
7479
f8d82408
VS
74802011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
7481
7482 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
7483 (zfs_unmount): Fix memory leak.
7484
5773fb64
VS
74852011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7486
7487 Support NTFS reparse points.
7488
7489 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
7490 (symlink_descriptor): New struct.
7491 (grub_ntfs_read_symlink): New function.
7492 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
7493 (grub_ntfs_open): Likewise.
7494
91c3fdde
VS
74952011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7496
7497 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
7498
3be82e10
VS
74992011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7500
7501 fstest xnu_uuid subcommand.
7502
7503 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
7504 grub-core/commands/xnu_uuid.c.
7505 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
7506 (fstest): Handle xnu_uuid.
7507 (options): Document xnu_uuid.
7508 (argp_parser): Parse xnu_uuid.
7509
8e32442e
VS
75102011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7511
7512 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
7513 -l argument. Add newline at the end if printing.
7514 (GRUB_MOD_INIT): Document -l.
7515
52a05075
VS
75162011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7517
7518 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
7519
1869edb5
VS
75202011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7521
7522 ZFS multi-device and version 33 support.
7523
7524 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
7525 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
7526 (grub_zfs_data): Add multidev-ice-related fields.
7527 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
7528 (dva_get_offset): Make dva const.
7529 (zfs_fetch_nvlist): New function.
7530 (fill_vdev_info_real): Likewise.
7531 (fill_vdev_info): Likewise.
7532 (check_pool_label): Likewise.
7533 (scan_disk): Likewise.
7534 (scan_devices): Likewise.
7535 (read_device): Likewise.
7536 (read_dva): Likewise.
7537 (zio_read_gang): Use read_dva.
7538 (zio_read_data): Likewise.
7539 (zap_leaf_lookup): Add missing endian conversion.
7540 (zap_verify): Add missing endian conversion. All users updated.
7541 (fzap_lookup): Likewise.
7542 (fzap_iterate): Likewise.
7543 (dnode_get_path): Handle SA bonus.
7544 (nvlist_find_value): Make input const. All users updated.
7545 (unmount_device): New function.
7546 (zfs_unmount): Use unmount_device.
7547 (zfs_mount): Use scan_disk.
7548 (zfs_mtime): New function.
7549 (grub_zfs_open): Handle system attributes.
7550 (fill_fs_info): Likewise.
7551 (grub_zfs_dir): Likewise.
7552 (grub_zfs_fs): Add mtime.
7553 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
7554 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
7555 (SA_MTIME_OFFSET): Likewise.
7556 (SA_SYMLINK_OFFSET): Likewise.
7557 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
7558 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
7559 (fstest): Support zfsinfo.
7560 (argp_parser): Likewise.
7561
186b4028
VS
75622011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7563
7564 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
7565 error.
7566
75672011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
7568
7569 ZFS fixes.
7570
7571 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
7572 sharing the same block. Iterate over correct number of indices.
7573 (dnode_get_path): Handle symlinks correctly.
7574
c0584900
VS
75752011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7576
7577 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
7578
67e2bd71
VS
75792011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7580
7581 Read label on HFS+.
7582
7583 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
7584 (grub_hfsplus_btree_search): Fix types.
7585 (grub_hfsplus_label): Implement.
7586
e9cc6b7b
VS
75872011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7588
7589 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
7590
19832ddb
VS
75912011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
7594
66b40850
VS
75952011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7596
7597 Fix symlink handling on iso9660.
7598
7599 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
7600 All users updated.
7601 (grub_iso9660_susp_iterate): Accept zero-size iterate.
7602 (grub_iso9660_read_symlink): Moved most of code ...
7603 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
7604
db821363
VS
76052011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7606
7607 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
7608 Use union to avoid breaking strict-aliasing rules.
7609
e1211949
VS
76102011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7611
7612 Support multi-extent iso files.
7613
7614 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
7615 Add node.
7616 (grub_fshelp_node): Revamp. All users updated.
7617 (FLAG_*): New enum.
7618 (read_node): New function.
7619 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
7620 All users updated.
7621 (grub_iso9660_mount): Don't attempt to read sua when there is none.
7622 (get_node_size): New function.
7623 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
7624 entries.
7625 Fix memory leak on . and ..
7626 (grub_iso9660_read): Use read_node.
7627 (grub_iso9660_close): Free node.
7628
d4888031
VS
76292011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7630
7631 Fix tar 4G limit and handle paths containing dot.
7632
7633 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
7634 (canonicalize): New function.
7635 (grub_cpio_find_file): Use canonicalize. Store offs in
7636 grub_disk_addr_t.
7637 (grub_cpio_dir): Use grub_disk_addr_t.
7638 (grub_cpio_open): Likewise.
7639
9f12e664
VS
76402011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7641
7642 Fix handling of uncompressed blocks on squashfs and break 4G limit.
7643
7644 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
7645 unused flags.
7646 (grub_squash_inode): Add long_file and block_size.
7647 (grub_squash_cache_inode): New struct.
7648 (grub_squash_dirent): Make types into enum.
7649 (SQUASH_TYPE_LONG_REGULAR): New type.
7650 (grub_squash_frag_desc): Add field size.
7651 (SQUASH_BLOCK_FLAGS): New enum.
7652 (grub_squash_data): Use grub_squash_cache_inode.
7653 (grub_fshelp_node): Make ino_chunk 64-bit.
7654 (read_chunk): Minor argument change. All users updated.
7655 (squash_mount): Use correct le_to_cpu.
7656 (grub_squash_open): Handle LONG_REGULAR.
7657 (direct_read): New function.
7658 (grub_squash_read_data): Handle blocks correctly.
7659
9f326fba
VS
76602011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7661
7662 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
7663
f4d9b64b
VS
76642011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7665
7666 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
7667
5bbd28b8
VS
76682011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
7669
7670 Fix 2G limit on ZFS.
7671
7672 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
7673 types.
7674 (uberblock_verify): Likewise.
7675 (dmu_read): Likewise.
7676 (grub_zfs_read): Likewise. Remove invalid cast.
7677
68c72069
VS
76782011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
7679
7680 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
7681 (grub_jfs_blkno): Fix incorrect shift.
7682 (grub_jfs_read_file): Use more appropriate types.
7683
6e536dc8
VS
76842011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
7685
7686 Support triple indirect on minix2 and minix3.
7687
7688 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
7689 Declare triple_indir_zone.
7690 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
7691 indirect.
7692
e0864e7a
VS
76932011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
7694
7695 Minix FS fixes.
7696
7697 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
7698 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
7699 Rename ctime to mtime. All users updated.
7700 (grub_minix_get_file_block): Fix types and double indirect computations.
7701
89481cab
VS
77022011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7703
7704 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
7705 if no label is found.
7706 (grub_fat_iterate_dir): Fix file size type.
7707 (grub_fat_iterate_dir): Likewise.
7708
f646e143
VS
77092011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7710
7711 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
7712 save some space.
7713 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
7714 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
7715
534d769e
VS
77162011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7717
7718 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
7719
e084ba18
VS
77202011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7721
7722 * util/import_gcry.py: Accept space between # and include.
7723
3471ecdf
VS
77242011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7725
7726 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
7727
124df5f6
VS
77282011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7729
7730 Fine grainely disable warnings on lexer. Remove Wno-error on it.
7731
7732 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
7733 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
7734 yylex_strncpy.
7735 * grub-core/script/yylex.l: Add fine-grained #pragma.
7736
4defb8d5
VS
77372011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7738
7739 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
7740 New inline function.
7741 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
7742 Likewise.
7743 (memset) [GRUB_UTIL]: Likewise.
7744 (memcmp) [GRUB_UTIL]: Likewise.
7745
4e94ae65
VS
77462011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7747
7748 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
7749 inline function rather than a define.
7750
18c575e5
VS
77512011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7752
7753 * util/grub-setup.c: Add missing include.
7754
f8bc22a8
VS
77552011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7756
7757 * util/ieee1275/grub-ofpathname.c: Add missing include.
7758
3ce69fc9
VS
77592011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7760
7761 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
7762 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
7763 Likewise.
7764
d1e293bb
VS
77652011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7766
7767 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
7768 grub_memcmp usage.
7769
7a5c54a4
VS
77702011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7771
7772 * util/grub-install.in: Add datarootdir as per automake manual
7773 suggestion.
7774 * util/grub-mknetdir.in: Likewise.
7775
77762011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
7777
7778 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
7779 suggestion.
7780 * util/grub.d/10_kfreebsd.in: Likewise.
7781 * util/grub.d/10_linux.in: Likewise.
7782 * util/grub.d/10_netbsd.in: Likewise.
7783 * util/grub.d/10_windows.in: Likewise.
7784 * util/grub.d/20_linux_xen.in: Likewise.
7785
766f7d08
VS
77862011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
7787
7788 Remove redundant grub_kernel_image_size.
7789
7790 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
7791 _edata and _start.
7792 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
7793 the small code. It moves it only by few bytes but simplifies the code.
7794 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
7795 _start.
7796 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
7797 (grub_kernel_image_size): Removed.
7798 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
7799 (grub_kernel_image_size): Removed.
7800 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
7801 compiled with Apple toolchain.
7802 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
7803 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
7804 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
7805 (grub_total_module_size): Likewise.
7806 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
7807 Removed.
7808 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
7809 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
7810 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
7811 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
7812 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
7813 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
7814 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
7815 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
7816 Removed.
7817 (grub_total_module_size): Removed.
7818 * util/grub-mkimage.c (image_target_desc): Remove image_size.
7819 (image_targets): Likewise.
7820 Set .compressed_size to no field on sparc.
7821 (generate_image): Remove kernel_image_size handling.
7822
fcf1d672
SJ
78232011-10-19 Szymon Janc <szymon@janc.net.pl>
7824
7825 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
7826 NULL pointer dereference.
7827
de9c615e
VS
78282011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7829
7830 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
7831 done with a dedicated section.
7832
7833 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
7834 Ensure the correct position of boot_path.
7835 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
7836 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
7837 other fields.
7838 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
7839 * include/grub/boot.h: Removed. All references removed.
7840 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
7841 Removed.
7842 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
7843
e55599dc
VS
78442011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7845
7846 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
7847 name.
7848
36dd20ad
VS
78492011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7850
7851 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
7852
f8f72eb8
VS
78532011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7854
7855 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7856 Don't add the bogus brackets.
7857
a374751b
VS
78582011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7859
7860 ExFAT support.
7861
7862 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
7863 * grub-core/Makefile.core.def (exfat): New module.
7864 * grub-core/fs/exfat.c: New file.
7865 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
7866 (GRUB_FAT_ATTR_*): Make into an enum.
7867 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
7868 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
7869 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
7870 (GRUB_FAT_MAXFILE): Removed.
7871 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
7872 (grub_current_fat_bpb_t): New type.
7873 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
7874 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
7875 (grub_fat_dir_node_t): New type.
7876 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
7877 (fat_log2) [MODE_EXFAT]: Removed.
7878 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
7879 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
7880 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
7881 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
7882 (grub_fat_label) [MODE_EXFAT]: New function.
7883 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
7884 reserved_first_sector to 0.
7885
544c2487
VS
78862011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
7887
7888 Move grub_reboot out of the kernel.
7889
7890 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
7891 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
7892 * grub-core/lib/efi/reboot.c: ... here.
7893 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
7894 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
7895 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
7896 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
7897 * grub-core/lib/i386/reboot_trampoline.S: ... here.
7898 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
7899 * grub-core/lib/ieee1275/reboot.c: ... here.
7900 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
7901 * grub-core/lib/mips/arc/reboot.c: ... here.
7902 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
7903 * grub-core/lib/mips/loongson/reboot.c: ...here.
7904 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
7905 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
7906 * include/grub/emu/misc.h (grub_reboot): New function declaration.
7907 * include/grub/i386/reboot.h: New file.
7908 * include/grub/mips/loongson/ec.h: Fix includes.
7909 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
7910 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
7911 * grub-core/lib/i386/reboot.c: New file.
7912
a97501d2
VS
79132011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
7914
7915 Make grub_prefix into module to fix the arbitrary limit and save
7916 some space.
7917
7918 * grub-core/kern/emu/main.c (grub_prefix): Removed.
7919 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
7920 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
7921 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
7922 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
7923 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
7924 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
7925 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
7926 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
7927 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
7928 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
7929 * include/grub/ia64/efi/kernel.h: Removed.
7930 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
7931 (grub_prefix): Removed.
7932 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
7933 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
7934 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
7935 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
7936 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
7937 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
7938 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
7939 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
7940 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
7941 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
7942 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
7943 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
7944 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
7945 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
7946 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
7947 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
7948 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
7949 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
7950 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
7951 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
7952 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
7953 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
7954 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
7955 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
7956 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
7957 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
7958 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
7959 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
7960 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
7961 from module.
7962 * util/grub-mkimage.c (image_target_desc): Removed prefix and
7963 prefix_end.
7964 (image_targets): Likewise.
7965 (generate_image): Put prefix as a module.
7966
39705fad
VS
79672011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7968
7969 Replace grub_module_iterate with FOR_MODULES.
7970
7971 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
7972 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
7973 (grub_efi_modules_addr): ...this.
7974 * grub-core/kern/efi/init.c (grub_modbase): New variable.
7975 (grub_efi_init): Set grub_modbase.
7976 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
7977 (grub_modbase): New variable.
7978 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
7979 (grub_modbase): New variable.
7980 (grub_machine_init): Set grub_modbase.
7981 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
7982 (grub_modbase): New variable.
7983 (grub_machine_init): Set grub_modbase.
7984 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
7985 (grub_modbase): New variable.
7986 (grub_machine_init): Set grub_modbase.
7987 * grub-core/kern/main.c (grub_module_iterate): Remove.
7988 (grub_modules_get_end): Use grub_modbase.
7989 (grub_load_modules): Use FOR_MODULES.
7990 (grub_load_config): Likewise.
7991 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
7992 (grub_modbase): New variable.
7993 (grub_machine_init): Set grub_modbase.
7994 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
7995 (grub_modbase): New variable.
7996 (grub_machine_init): Set grub_modbase.
7997 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
7998 Removed.
7999 (grub_modbase): New variable.
8000 (grub_machine_init): Set grub_modbase.
8001 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
8002 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
8003 (grub_module_iterate): Likewise.
8004 (grub_modbase): New variable declaration.
8005 (FOR_MODULES): New macro.
8006
2afb7f6c
VS
80072011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8008
8009 * configure.ac: Check for __ctzdi2 and __ctzsi2.
8010 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
8011
366e34fa
VS
80122011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8013
8014 Fix few obvious type discrepancies.
8015
8016 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
8017 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
8018 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
8019 variable.
8020 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
8021 and connected types.
8022 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
8023 offset.
8024 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
8025 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
8026 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
8027 and connected types.
8028
177b960e
VS
80292011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8030
8031 Fix python 3.x incompatibilities.
8032
8033 * gentpl.py: Put brackets around print strings.
8034 * util/import_gcry.py: Open explicitly as utf-8.
8035 Use in instead of has_key.
8036
3b619ae1
VS
80372011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8038
8039 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
8040 (GRUB_XFS_INO_AGBITS): Make into inline function.
8041 (GRUB_XFS_INO_INOINAG): Likewise.
8042 (GRUB_XFS_INO_AG): Likewise.
8043 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
8044 (GRUB_XFS_EXTENT_OFFSET): Likewise.
8045 (GRUB_XFS_EXTENT_BLOCK): Likewise.
8046 (GRUB_XFS_EXTENT_SIZE): Likewise.
8047 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
8048 (GRUB_XFS_NEXT_DIRENT): Likewise.
8049 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
8050 (grub_xfs_read_file): Fix offset type.
8051
8bcebcb8
RM
80522011-10-15 Robert Millan <rmh@gnu.org>
8053
8054 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
8055
0017e5ef
RM
80562011-10-15 Robert Millan <rmh@gnu.org>
8057
8058 Fix build problem on FreeBSD and GNU/kFreeBSD.
8059
8060 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
8061
d8919552
VS
80622011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8063
8064 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
8065
8066 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
8067 types.
8068 (grub_hfsplus_btree_recoffset): Likewise.
8069 (grub_hfsplus_btree_recptr): Likewise.
8070 (grub_hfsplus_find_block): Likewise.
8071 (grub_hfsplus_btree_search): Likewise.
8072 (grub_hfsplus_read_block): Likewise.
8073 (grub_hfsplus_read_file): Likewise.
8074 (grub_hfsplus_mount): Likewise.
8075 (grub_hfsplus_btree_iterate_node): Likewise.
8076 (grub_hfsplus_btree_search): Likewise.
8077 (grub_hfsplus_iterate_dir): Likewise.
8078 (grub_hfsplus_read): A small code simplification.
8079
c81296b6
VS
80802011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8081
8082 * grub-core/kern/emu/hostdisk.c
8083 (convert_system_partition_to_system_disk): Don't assume that children
8084 of mapper nodes are mapper nodes.
8085
0eb8ffb1
VS
80862011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8087
8088 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
8089 * include/grub/misc.h (grub_isxdigit): New function.
8090 * grub-core/video/colors.c (my_isxdigit): Removed. All users
8091 switched to grub_isxdigit.
8092 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
8093 number starting with a letter.
8094
a98f4a08
RM
80952011-10-09 Robert Millan <rmh@gnu.org>
8096
8097 LVM support for FreeBSD and GNU/kFreeBSD.
8098
8099 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
8100 GNU/kFreeBSD.
8101 (LVM_DEV_MAPPER_STRING): Move from here ...
8102 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
8103 * util/getroot.c: Include `<grub/util/lvm.h>'.
8104 (grub_util_get_dev_abstraction): Enable
8105 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
8106 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
8107 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
8108 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
8109 support it.
8110 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
8111 GNU/kFreeBSD.
8112 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
8113 when LVM abstraction is required for ${GRUB_DEVICE}.
8114
050e8e90
SJ
81152011-10-06 Szymon Janc <szymon@janc.net.pl>
8116
8117 Add support for LZO compression in GRUB:
8118 - import of minilzo library,
8119 - LZO decompression for btrfs,
8120 - lzop files decompression.
8121
8122 * grub-core/io/lzopio.c: New file.
8123 * grub-core/lib/adler32.c: Likewise.
8124 * grub-core/lib/minilzo/lzoconf.h: Likewise.
8125 * grub-core/lib/minilzo/lzodefs.h: Likewise.
8126 * grub-core/lib/minilzo/minilzo.c: Likewise.
8127 * grub-core/lib/minilzo/minilzo.h: Likewise.
8128 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
8129 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
8130 grub-core/lib/minilzo/minilzo.c to common.
8131 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
8132 cflags in cppflags.
8133 * grub-core/Makefile.core.def (btrfs): Likewise.
8134 * grub-core/Makefile.core.def (lzopio): New module.
8135 (adler32): Likewise.
8136 * grub-core/fs/btrfs.c: Include minilzo.h.
8137 (GRUB_BTRFS_COMPRESSION_LZO): New define.
8138 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
8139 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
8140 (grub_btrfs_lzo_decompress): New function.
8141 (grub_btrfs_extent_read): Add support for LZO compression type.
8142 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
8143 (GRUB_USHRT_MAX): Likewise.
8144 (GRUB_UINT_MAX): Likewise.
8145 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
8146 (UINT_MAX): Likewise.
8147 (CHAR_BIT): Likewise.
8148 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
8149 grub-core/lib/posix_wrap/limits.h
8150 (UCHAR_MAX): Likewise.
8151 * include/grub/file.h (grub_file_filter_id): New compression filter
8152 GRUB_FILE_FILTER_LZOPIO.
8153 * include/grub/file.h (grub_file_filter_id): Set
8154 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
8155 * include/grub/types.h (grub_get_unaligned16): New function.
8156 (grub_get_unaligned32): Likewise.
8157 (grub_get_unaligned64): Likewise.
8158 * util/import_gcry.py (cryptolist): Add adler32.
8159
0eb8ffb1
VS
81602011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
8161
8162 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
8163 in perspective decreases the complexity of build system and fixes
8164 compilation right now.
8165
ce79cc99 81662011-10-01 Ales Nesrsta <starous@volny.cz>
8167
8168 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
8169 (fixed problem related to using UHCI with coreboot).
8170
8667a314
BC
81712011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
8172
8173 * gentpl.py: Use Autogen macros so that the output template file
8174 (Makefile.tpl) size is reduced.
8175
fc5efcc0
MK
81762011-09-29 Mads Kiilerich <mads@kiilerich.com>
8177
8178 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
8179 extra_dist.
8180
d1ab689d
ML
81812011-09-29 Mario Limonciello <mario_limonciello@dell.com>
8182
8183 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
8184 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
8185
c05de032
ML
81862011-09-29 Mario Limonciello <mario_limonciello@dell.com>
8187
8188 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
8189 _fullpath.
8190
cca7ccd8
ML
81912011-09-29 Mario Limonciello <mario_limonciello@dell.com>
8192
8193 Remove extra declaration of sleep for mingw32.
8194
8195 * util/misc.c (sleep) [__MINGW32__]: Removed.
8196 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
8197
e0b0dc83
GS
81982011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
8199
8200 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
8201 type and packname.
8202 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
8203 Resurrected.
8204 (NETBSD_BTINFO_BOOTWEDGE): New definition.
8205 (grub_netbsd_btinfo_bootwedge): New struct.
8206 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
8207 New function.
8208 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
8209
91a1a164
TH
82102011-09-28 Thomas Haller <thomas.haller@fen-net.de>
8211
8212 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
8213 loader.
8214
2ded951e
AB
82152011-09-28 Andreas Born <futur.andy@googlemail.com>
8216
8217 Fix incorrect identifiers in bash-completion.
8218
8219 * util/bash-completion.d/grub-completion.bash.in
8220 (_grub_mkpasswd-pbkdf2): Rename to ...
8221 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
8222 (_grub_script-check): Rename to ...
8223 (_grub_script_check): ... this. All users updated.
8224
69915030
VS
82252011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
8226
8227 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
8228 Return 0 if disk isn't biosdisk.
8229
20fd15f9
GS
82302011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
8231
8232 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
8233 on NetBSD.
8234 * Makefile.util.def (grub-fstest): Likewise.
8235
1a7d7db9
GS
82362011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
8237
8238 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
8239 Get sector size from disk label.
8240
2221ab6c
CW
82412011-09-05 Colin Watson <cjwatson@ubuntu.com>
8242
8243 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
8244 */README* as well as README*.
8245 Reported by: Axel Beckert.
8246
ca51c4a0
VS
82472011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8248
8249 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
8250 case of less than 256 MiB of RAM.
8251
ab80f326
VS
82522011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8253
8254 * grub-core/commands/wildcard.c (make_regex): Handle @.
8255
4155e697
VS
82562011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8257
8258 * util/grub-install.in: Move cryptodisk logic to appropriate place.
8259
ab178c08
SJ
82602011-08-21 Szymon Janc <szymon@janc.net.pl>
8261
8262 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
8263 AC_LANG_CONFTEST macros.
8264
7dc3c686
SJ
82652011-08-20 Szymon Janc <szymon@janc.net.pl>
8266
8267 Add grub-fstest option to uncompress data for commands.
8268
8269 * util/grub-fstest.c (uncompress): New var.
8270 (options): New option -u.
8271
fe8d4a7b
SJ
82722011-08-20 Szymon Janc <szymon@janc.net.pl>
8273
8274 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
8275 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
8276
a5219af1
SJ
82772011-08-20 Szymon Janc <szymon@janc.net.pl>
8278
8279 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
8280 file type was not recognized correctly (not gzip or corrupted).
8281
f87abff5
VS
82822011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8283
8284 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
8285 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
8286
d94497ea
VS
82872011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8288
8289 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
8290 loongson.
8291 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
8292 video_radeon_fuloong2e.
8293 * grub-core/video/radeon_fuloong2e.c: New file.
8294 * include/grub/video.h (grub_video_id_t): Add new ID
8295 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
8296
0d1fd011
VS
82972011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8298
8299 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
8300 define.
8301 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
8302 that PRID matches the detected subplatform and reset the subplatform
8303 if it doesn't.
8304
84beb0ee
VS
83052011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8306
8307 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
8308
1227c133
VS
83092011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8310
8311 Fix PCI iterating on functions >= 4.
8312
8313 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
8314 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
8315 Removed.
8316 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
8317 (grub_pci_read): Fix bitmask.
8318 (grub_pci_read_word): Likewise.
8319 (grub_pci_read_byte): Likewise.
8320 (grub_pci_write): Likewise.
8321 (grub_pci_write_word): Likewise.
8322 (grub_pci_write_byte): Likewise.
8323
9594c689
VS
83242011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8325
8326 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
8327 can still be specified in TARGET_CFLAGS)
8328
14a2562c
VS
83292011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8330
8331 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
8332
8333 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
8334 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
8335 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
8336 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
8337 (FULOONG): Rename to ...
8338 (FULOONG2F): ... this. All users updated.
8339 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
8340 (machtype_fuloong2f_str): ... this.
8341 (machtype_fuloong2e_str): New string.
8342 Check for machtype_fuloong2e_str.
8343 * grub-core/loader/mips/linux.c (loongson_machtypes)
8344 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
8345 * grub-core/term/serial.c (loongson_defserial)
8346 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
8347 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
8348 loongson_defserial.
8349 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
8350 Rename to ...
8351 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
8352 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
8353 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
8354 to IMAGE_FULOONG2F_FLASH. All users updated.
8355 (image_targets): Rename images.
8356 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
8357
b526cbb6
SJ
83582011-08-19 Szymon Janc <szymon@janc.net.pl>
8359
8360 Make enable of disk cache statistics code configurable.
8361
8362 * configure.ac: --enable-cache-stats added.
8363 * config.h.in (DISK_CACHE_STATS): New define.
8364 * grub-core/Makefile.core.def (cacheinfo): New command.
8365 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
8366 * grub-core/commands/cacheinfo.c: New file.
8367 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
8368 moved to cacheinfo.c.
8369 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
8370 debug code.
8371 * include/grub/disk.h: Likewise.
8372
fb739ccd
SJ
83732011-08-19 Szymon Janc <szymon@janc.net.pl>
8374
8375 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
8376 * grub-core/Makefile.am: Likewise.
8377
2bba8cfd
VS
83782011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8379
8380 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
8381 non-zero pull.
8382
43526629
VS
83832011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8384
8385 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
8386 All users updated.
8387 (grub_jfs_lookup_symlink): Use correct starting inode.
8388
5c144cc8
VS
83892011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8390
8391 * util/grub-setup.c (main): Add missing gcry initialisation.
8392
b1257f65
VS
83932011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8394
8395 Don't accept text modes on EFI when booting Linux.
8396
8397 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
8398 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
8399
828bc390
ML
84002011-08-15 Mario Limonciello <mario_limonciello@dell.com>
84012011-08-15 Colin Watson <cjwatson@ubuntu.com>
8402
8403 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
8404 use of "/path/.." as in grub-install for EFI as well as handling
8405 symlinks correctly.
8406 Fixes Debian bug #637768.
8407
5f60ccac
CW
84082011-08-15 Colin Watson <cjwatson@ubuntu.com>
8409
8410 * util/grub-probe.c: Remove duplicate #include.
8411
6dc212f9
RM
84122011-08-10 Robert Millan <rmh@gnu.org>
8413
8414 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
8415
8416 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
8417 function.
8418 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
8419 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
8420
66816d85
RM
84212011-08-03 Robert Millan <rmh@gnu.org>
8422
8423 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
8424 la_array as packed.
8425 Reported by: Zachary Bedell
8426
20168fca
CW
84272011-07-26 Colin Watson <cjwatson@ubuntu.com>
8428
8429 * configure.ac: The Loongson port requires grub-mkfont due to its
8430 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
8431 be built.
8432
303b6246
CW
84332011-07-26 Colin Watson <cjwatson@ubuntu.com>
8434
8435 * util/grub-install.in: Don't source grub-mkconfig_lib until after
8436 processing arguments (otherwise help2man fails when GRUB has not yet
8437 been installed).
8438
6795300e
VS
84392011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8440
41aa28ea
VS
8441 New script grub-mkstandalone.
8442
8443 * Makefile.util.def (grub-mkstandalone): New script.
8444 * docs/man/grub-mkstandalone.h2m: New file.
8445 * util/grub-mkstandalone.in: Likewise.
8446
84472011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8448
8449 Support ATA disks with 4K sectors.
6795300e
VS
8450
8451 * include/grub/ata.h (grub_ata): New member log_sector_size.
8452 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
8453 (grub_ata_identify): Read sector size.
8454 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
8455
92227597
VS
84562011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8457
8458 * util/grub-install.in: Don't use uhci outside of x86.
8459
c77069f5
VS
84602011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
8461
8462 * util/grub-mkrescue.in: Add missing quotes.
8463
84642011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
8465
8466 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
8467 dereference.
8468
583168a2
VS
84692011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
8470
8471 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
8472
6be1c01f
VS
84732011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
8474
8475 * include/grub/video.h: add missing EXPORT_FUND on
8476 grub_video_edid_checksum and grub_video_edid_preferred_mode.
8477
a1167439
VS
84782011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
8479
8480 * include/grub/mips/kernel.h: Fix define conflict.
8481
bf66054f
VS
84822011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
8483
8484 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
8485 all four ways.
8486
8fc4fa45
CW
84872011-07-21 Colin Watson <cjwatson@ubuntu.com>
8488
8489 Preferred resolution detection for VBE.
8490
8491 * grub-core/video/video.c (grub_video_edid_checksum): New function.
8492 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
8493 the Flat Panel extension, in line with the X.org VESA driver.
8494 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
8495 New function.
8496 (grub_vbe_bios_get_ddc_capabilities): Likewise.
8497 (grub_vbe_bios_read_edid): Likewise.
8498 (grub_vbe_get_preferred_mode): Likewise.
8499 (grub_video_vbe_setup): When the mode is "auto", try to get the
8500 preferred mode from VBE, and use the largest mode that is no larger
8501 than the preferred mode (some BIOSes expose a preferred mode that is
8502 not in their mode list!). If this fails, fall back to 640x480 as a
8503 safe conservative choice.
8504 (grub_video_vbe_get_edid): New function.
8505 (grub_video_vbe_adapter): Add get_edid.
8506 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
8507 (struct grub_video_adapter): Add get_edid.
8508 (grub_video_edid_checksum): Add prototype.
8509 (grub_video_edid_preferred_mode): Likewise.
8510 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
8511 structure.
8512
8513 * grub-core/commands/videoinfo.c (print_edid): New function.
8514 (grub_cmd_videoinfo): Print EDID if available.
8515
8516 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
8517 is more appropriate on a wider range of platforms than 640x480.
8518 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
8519 documentation.
8520
ca5572a9
VS
85212011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8522
8523 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
8524
e4bcf625
VS
85252011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8526
8527 * po/POTFILES.in: Regenerate.
8528
c4edd548
VS
85292011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8530
8531 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
8532 incorrect memory usage.
8533
16a2bab0
VS
85342011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8535
8536 * util/grub-install.in: Source grub-mkconfig_lib.
8537
2e418de6
VS
85382011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
8539
8540 Remove getroot.c from core on emu platform.
8541
8542 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
8543 kern/emu/raid.c.
8544 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
8545 useless.
8546 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
8547 * util/getroot.c (get_win32_path): ... here.
8548 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
8549 * util/getroot.c (fini_libzfs): ... here.
8550 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
8551 * util/getroot.c (grub_get_libzfs_handle): ... here.
8552 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
8553 Moved from here...
8554 * util/getroot.c (grub_find_zpool_from_dir): ... here.
8555 * grub-core/kern/emu/misc.c
8556 (grub_make_system_path_relative_to_its_root): Moved from here...
8557 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
8558 * grub-core/kern/emu/getroot.c: Moved from here ...
8559 * util/getroot.c: ... here. All users updated.
8560 * grub-core/kern/emu/raid.c: Moved from here ...
8561 * util/raid.c: ... here. All users updated.
8562
def9832a
VS
85632011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
8564
8565 * po/POTFILES.in: Regenerate.
8566
cd8fe79a
VS
85672011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8568
8569 Fix compilation on GNU/Linux.
8570
8571 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
8572 Disable geli.
8573 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
8574 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
8575 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
8576
a251b719
VS
85772011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
85782011-07-07 Michael Gorven <michael@gorven.za.net>
85792011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
8580
8581 LUKS and GELI support.
8582
8583 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
8584 grub-core/disk/luks.c, grub-core/disk/geli.c,
8585 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
8586 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
8587 grub-core/lib/arg.c.
8588 (libgrubmods.a): Remove gcrypts cflags and cppflags.
8589 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
8590 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
8591 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
8592 (grub-bin2h): Add libgcry.a.
8593 (grub-mkimage): Likewise.
8594 (grub-mkrelpath): Likewise.
8595 (grub-script-check): Likewise.
8596 (grub-editenv): Likewise.
8597 (grub-mkpasswd-pbkdf2): Likewise.
8598 (grub-pe2elf): Likewise.
8599 (grub-fstest): Likewise.
8600 (grub-mkfont): Likewise.
8601 (grub-mkdevicemap): Likewise.
8602 (grub-probe): Likewise.
8603 (grub-ofpath): Likewise.
8604 (grub-mklayout): Likewise.
8605 (example_unit_test): Likewise.
8606 (grub-menulst2cfg): Likewise.
8607 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
8608 * grub-core/Makefile.core.def (cryptodisk): New module.
8609 (luks): Likewise.
8610 (geli): Likewise.
8611 * grub-core/disk/AFSplitter.c: New file.
8612 * grub-core/disk/cryptodisk.c: Likewise.
8613 * grub-core/disk/geli.c: Likewise.
8614 * grub-core/disk/luks.c: Likewise.
8615 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
8616 grub_util_is_lvm.
8617 (grub_util_get_dm_abstraction): New function.
8618 (grub_util_follow_gpart_up): Likewise.
8619 (grub_util_get_geom_abstraction): Likewise.
8620 (grub_util_get_dev_abstraction): Use new functions.
8621 (grub_util_pull_device): Pull GELI and LUKS.
8622 (grub_util_get_grub_dev): Handle LUKS and GELI.
8623 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
8624 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
8625 (follow_geom_up): Removed.
8626 (grub_util_fd_seek): New function.
8627 (open_device): Use grub_util_fd_seek.
8628 (nread): Rename to ..
8629 (grub_util_fd_read): ... this. All users updated.
8630 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
8631 (grub_crypto_cbc_decrypt): Likewise.
8632 (grub_crypto_hmac_write): Likewise.
8633 (grub_crypto_hmac_buffer): Likewise.
8634 (grub_password_get): Extend to util.
8635 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
8636 New member modname.
8637 (gcry_md_spec) [GRUB_UTIL]: Likewise.
8638 * include/grub/cryptodisk.h: New file.
8639 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
8640 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
8641 LUKS and GELI.
8642 (grub_util_follow_gpart_up): New proto.
8643 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
8644 (grub_util_fd_read): Likewise.
8645 (grub_cryptodisk_cheat_mount): Likewise.
8646 (grub_util_cryptodisk_print_uuid): Likewise.
8647 (grub_util_get_fd_sectors): Likewise.
8648 * util/grub-fstest.c (mount_crypt): New var.
8649 (fstest): Mount crypto if requested.
8650 (options): New option -C.
8651 (argp_parser): Parse -C.
8652 (main): Init and fini gcry.
8653 * util/grub-install.in: Support cryptodisk install.
8654 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
8655 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
8656 cryptodisk.
8657 (prepare_grub_to_access_device): Likewise.
8658 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
8659 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
8660 (probe_cryptodisk_uuid): New function.
8661 (probe_abstraction): Likewise.
8662 (probe): Use new functions.
8663 * util/import_gcry.py: Create Makefile.utilgcry.def.
8664 Add modname member.
8665
9bfdcbbc
VS
86662011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8667
8668 Lazy device scanning.
8669
8670 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
8671 (grub-setup): Remove util/raid.c.
8672 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
8673 * grub-core/disk/lvm.c (scan_depth): New variable.
8674 (grub_lvm_iterate): Rescan if necessary.
8675 (find_lv): New function based on grub_lvm_open.
8676 (grub_lvm_open): Use find_lv. Rescan on error.
8677 (is_node_readable): New function.
8678 (is_lv_readable): Likewise.
8679 (grub_lvm_scan_device): Skip already found disks.
8680 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
8681 Stop if searched device is found and readable.
8682 * grub-core/disk/raid.c (inscnt): New variable.
8683 (scan_depth): Likewise.
8684 (scan_devices): New function based on grub_raid_register. Abort if
8685 looked for device is found.
8686 (grub_raid_iterate): Rescan if needed.
8687 (find_array): NEw function based on -grub_raid_open.
8688 (grub_raid_open): Use find_array and rescan.
8689 (insert_array): Set became_readable_at.
8690 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
8691 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
8692 New function.
8693 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
8694 (grub_util_pull_device): New function.
8695 (grub_util_get_grub_dev): Call grub_util_pull_device.
8696 * util/raid.c: Moved to ..
8697 * grub-core/kern/emu/raid.c: ... here.
8698 (grub_util_raid_getmembers): New parameter "bootable".
8699 All users updated. Support 1.x.
8700 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
8701 All users updated.
8702 * include/grub/disk.h (grub_disk_pull_t): New enum.
8703 (grub_disk_dev): Change iterate prototype.
8704 All users updated.
8705 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
8706 New proto.
8707 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
8708 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
8709 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
8710 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
8711 All users updated.
8712 * include/grub/util/raid.h: Removed.
8713
1c358e59
VS
87142011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
8715
8716 * po/POTFILES.in: Regenerate.
8717
abee94ed
VS
87182011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
8719
8720 Unify sparc init with other ieee1275.
8721
8722 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
8723 instead of kern/sparc64/ieee1275/init.c.
8724 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
8725 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
8726 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
8727 grub/machine/kernel.h.
8728 (grub_ieee1275_original_stack) [__sparc__]: New variable.
8729 (grub_claim_heap) [__sparc__]: Use sparc version.
8730 (grub_machine_init): Moved args parsing to
8731 (grub_parse_cmdline): ...this.
8732 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
8733 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
8734 New definition.
8735 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
8736
8737 Move BOOTP to separate file.
8738
8739 * grub-core/Makefile.core.def (net): Add net/bootp.c.
8740 * grub-core/net/net.c: Move all BOOTP functions to
8741 * grub-core/net/bootp.c: ... here.
8742
8743 Use frame interface on PXE.
8744
8745 * grub-core/Makefile.core.def (pxecmd): Removed.
8746 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
8747 * grub-core/commands/i386/pc/pxecmd.c: Removed.
8748 * grub-core/i386/pc/pxe.c: Moved from here ...
8749 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
8750 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
8751 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
8752
8753 EFI network support.
8754
8755 * grub-core/Makefile.core.def (efinet): New module.
8756 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
8757 here...
8758 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
8759 All users updated.
8760 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
8761 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
8762 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
8763 * grub-core/net/drivers/efi/efinet.c: New file.
8764 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
8765 (grub_efi_net_config): New extern var.
8766
8767 Various cleanups and bugfixes.
8768
8769 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
8770 error.
8771 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
8772 disk declared as partition.
8773 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
8774 leak on failure.
8775 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
8776 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
8777 (grub_debug_zalloc): Likewise.
8778 (grub_debug_realloc): Likewise.
8779 (grub_debug_memalign): Likewise.
8780 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
8781 Check that target is IPv4.
8782 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
8783 local-mac-address as fallback.
8784 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
8785 memory leak.
8786 * grub-core/net/ip.c (ipchksum): Rename to ...
8787 (grub_net_ip_chksum): ... this. All users updated.
8788 (grub_net_recv_ip_packets): Special handling for DHCP.
8789 * util/grub-mkimage.c (generate_image): Zero-out aout header.
8790
8791 Unify prefix handling
8792
8793 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
8794 (grub_machine_get_bootlocation): ... this.
8795 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
8796 (grub_machine_get_bootlocation): ... this.
8797 (grub_prefix): New variable.
8798 (prefix): Removed.
8799 (root_dev): New variable.
8800 (dir): Likewise.
8801 (main): Use new variables.
8802 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
8803 Revamped into ...
8804 (grub_machine_get_bootlocation): ... this.
8805 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
8806 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
8807 (grub_machine_get_bootlocation): ... this.
8808 (grub_machine_set_prefix): Removed.
8809 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
8810 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
8811 Revamped into ...
8812 (grub_machine_get_bootlocation): ... this.
8813 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
8814 (grub_set_prefix_and_root): ... this. All users updated.
8815 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
8816 Revamped into ...
8817 (grub_machine_get_bootlocation): ... this.
8818 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
8819 (grub_machine_get_bootlocation): New proto.
8820 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
8821
8822 Less intrusive and more reliable seek on network implementation.
8823
8824 * grub-core/kern/file.c (grub_file_net_seek): Removed.
8825 (grub_file_seek): Don't call grub_file_net_seek.
8826 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
8827 (grub_net_fs_read_real): .. this.
8828 (grub_net_seek_real): Use net->offset.
8829 (grub_net_fs_read): Seek if necessary.
8830
8831 Unify IEEE1275 netwotk config with the other platforms.
8832
8833 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
8834 New variable.
8835 (grub_machine_get_bootlocation): Support network.
8836 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
8837 Support type and device parsing.
8838 (grub_ieee1275_get_device_type): New function.
8839 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
8840 into ...
8841 (grub_ieee1275_net_config_real): ... this.
8842 (grub_ofnet_probecards): Removed.
8843 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
8844 * include/grub/ieee1275/ofnet.h: Removed.
8845 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
8846 extern var.
8847 (grub_ieee1275_get_device_type): New function.
8848
8849 Unify network device closing across platforms and make more robust.
8850
8851 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
8852 grub_grubnet_fini.
8853 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
8854 already.
8855 * grub-core/net/net.c (grub_net_network_level_interface_register):
8856 Update num_ifaces.
8857 (grub_net_card_unregister): Close all interfaces.
8858 (receive_packets): Don't poll if no iterfaces are registered.
8859 Open if necessary.
8860 (grub_net_fini_hw): New function.
8861 (grub_net_restore_hw): Likewise.
8862 (fini_hnd): New variable.
8863 (GRUB_MOD_INIT): Register preboot hook.
8864 (GRUB_MOD_FINI): Run and unregister preboot hook.
8865
8866 Poll network cards when idle.
8867
8868 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
8869 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
8870 * grub-core/net/net.c (receive_packets): Save last poll time.
8871 (grub_net_poll_cards_idle_real): New function.
8872 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
8873 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
8874 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
8875
8876 Rename ofnet interfaces.
8877
8878 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
8879 (grub_ofnet_findcards): Use ofnet_%s names.
8880
8881 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
8882
8883 Cleanup socket opening.
8884
8885 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
8886 (grub_net_fs_close): Likewise.
8887 (grub_net_fs_read_real): Use eof member.
8888 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
8889 (+grub_net_udp_close): New inline function.
8890
8891 * include/grub/net/tftp.h: Moved to the top of ...
8892 * grub-core/net/tftp.c: ... here.
8893 * include/grub/net/ip.h: Moved mostly to the top of ...
8894 * grub-core/net/ip.c: ... here.
8895 * include/grub/net/ethernet.h: Moved mostly to the top of ...
8896 * grub-core/net/ethernet.c: ... here.
8897
8898 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
8899
8900 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
8901 FS name.
8902
8903 * include/grub/net/ip.h (ipv4_ini): Removed.
8904 (ipv4_fini): Likewise.
8905
8906 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
8907 (grub_net_send_ip_packets): Likewise.
8908
cf1337aa
VS
89092011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8910
8911 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
8912 grub_read_cmos prototype.
8913
93c06ff9
VS
89142011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8915
8916 VGA text support in qemu-mips
8917
8918 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
8919 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
8920 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
8921 text.
8922 * grub-core/kern/i386/qemu/init.c: Renamed to ...
8923 * grub-core/kern/vga_init.c: ... this.
8924 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
8925 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
8926 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
8927 Adjust.
8928 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
8929 GRUB_MACHINE_PCI_IO_BASE.
8930
748ccabe
VS
89312011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8932
8933 MIPS qemu flash support.
8934
8935 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
8936 magic.
8937 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
8938 (grub_machine_init): Probe memory if its size isn't known.
8939 * util/grub-mkimage.c (image_targets): Add flash targets.
8940 (generate_image): Handle flash targets.
8941
d7345994
VS
89422011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8943
8944 MIPS qemu at_keyboard support.
8945
8946 * gentpl.py (videoinkernel): Add qemu-mips.
8947 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
8948 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
8949 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
8950 modules.
8951 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
8952 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
8953 * grub-core/term/serial.c (grub_serial_register)
8954 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
8955
a07a81b3
VS
89562011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
8957
8958 CMOS support on sparc.
8959
8960 * gentpl.py (cmos): Add powerpc and sparc.
8961 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
8962 powerpc and sparc.
8963 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
8964 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
8965 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
8966 grub_set_datetime_cmos.
8967 * grub-core/lib/ieee1275/cmos.c: New file.
8968 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
8969 (find_rtc): Set no_ieee1275_rtc on error.
8970 (grub_get_datetime): Call grub_get_datetime_cmos on error.
8971 (grub_set_datetime): Call grub_set_datetime_cmos on error.
8972 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
8973 fail. Move value to argument. All users updated
8974 (grub_cmos_write): Likewise.
8975 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
8976 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
8977 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
8978 grub_get_datetime_cmos and grub_set_datetime_cmos.
8979
77546584
GS
89802011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
8981
8982 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
8983 sourcing grub-mkconfig_lib.
8984 * util/update-grub_lib.in: Likewise.
8985 * util/grub.d/00_header.in: Likewise.
8986 * util/grub.d/10_hurd.in: Likewise.
8987 * util/grub.d/10_kfreebsd.in: Likewise.
8988 * util/grub.d/10_linux.in: Likewise.
8989 * util/grub.d/10_netbsd.in: Likewise.
8990 * util/grub.d/10_windows.in: Likewise.
8991 * util/grub.d/20_linux_xen.in: Likewise.
8992 * util/grub.d/30_os-prober.in: Likewise.
8993
54894791
CW
89942011-06-28 Colin Watson <cjwatson@ubuntu.com>
8995
8996 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
8997 default_bg_color rather than black.
8998 (grub_gfxterm_fullscreen): Likewise.
8999 (grub_gfxterm_background_color_cmd): Save new background color in
9000 default_bg_color.
9001
8d5d8444
VS
90022011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9003
9004 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
9005
5afeb5bd
VS
90062011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9007
9008 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
9009 mismerge.
9010
ba7df45e
VS
90112011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9012
9013 Chainloading on coreboot support.
9014
9015 * grub-core/Makefile.core.def (chain): Add coreboot.
9016 * grub-core/loader/i386/coreboot/chainloader.c: New file.
9017
d0b526b2
VS
90182011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9019
9020 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
9021 if it happens.
9022
5ff1d945
VS
90232011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9024
9025 Implement time command.
9026
9027 * grub-core/Makefile.core.def (time): New module.
9028 * grub-core/commands/time.c: New file.
9029 * grub-core/script/parser.y: Remove "time" keyword.
9030 * grub-core/script/yylex.l: Likewise.
9031
5ebaad7e
VS
90322011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9033
9034 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
9035
bdea3798
VS
90362011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9037
9038 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
9039 when handling leftovers.
9040
b28c5655
VS
90412011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
9044 so that help2man doesn't fail.
9045
b6f945dc
VS
90462011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9047
9048 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
9049 type in pointers on sparc64.
9050 (get_card_packet): Likewise.
9051
f9b75e8a
CW
90522011-06-27 Colin Watson <cjwatson@ubuntu.com>
9053
9054 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
9055 with `*'.
9056 (grub_cmd_videoinfo): Fetch current video mode.
9057
1e3d9b86
VS
90582011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9059
9060 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
9061 because of underlying system restrictions.
9062
efff4b1c
VS
90632011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9064
9065 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
9066 necessary.
9067
9fc9ce37
VS
90682011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9069
9070 Coreboot video support.
9071
9072 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
9073 (vbe): Likewise.
9074 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
9075 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
9076 here ...
9077 * grub-core/kern/i386/int.S: ... here.
9078 * grub-core/video/i386/pc/vbe.c: Updated includes.
9079 * grub-core/video/i386/pc/vga.c: Likewise.
9080 * include/grub/i386/coreboot/memory.h
9081 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
9082 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
9083 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
9084 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
9085 Disable interrupts.
9086 * include/grub/i386/pc/vga.h: Removed. All users updated.
9087
41bec7fe
VS
90882011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9089
9090 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
9091 definitions for dprintf.
9092 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
9093
ca80309d
VS
90942011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9095
9096 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
9097 prototype.
9098 (get_card_packet): Likewise.
9099
9e322ce8
YB
91002011-06-26 Yves Blusseau <blusseau@zetam.org>
9101
9102 Display the path of the file when file is not found
9103
9104 * grub-core/fs/fat.c: Display the filename when file is not found.
9105 * grub-core/fs/fshelp.c: Likewise.
9106 * grub-core/fs/hfs.c: Likewise.
9107 * grub-core/fs/jfs.c: Likewise.
9108 * grub-core/fs/minix.c: Likewise.
9109 * grub-core/fs/ufs.c: Likewise.
9110 * grub-core/fs/btrfs.c: Likewise.
9111 * grub-core/commands/i386/pc/play.c: Likewise.
9112
cbf597af
SJ
91132011-06-26 Szymon Janc <szymon@janc.net.pl>
9114
9115 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
9116 pointer checks before calling grub_free().
9117 * grub-core/commands/wildcard.c (match_devices): Likewise.
9118 * grub-core/commands/wildcard.c (match_files): Likewise.
9119 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
9120 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
9121 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
9122 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
9123 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
9124 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
9125 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
9126 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
9127 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
9128
6295b32f
P
91292011-06-25 Patrick <p55@mailinator.com>
9130
9131 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
9132
77c0840b
VS
91332011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
9134
9135 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
9136 (grub_pxe_send): Likewise.
9137 (GRUB_MOD_INIT): Fix types.
9138
40ea05de
SJ
91392011-06-24 Szymon Janc <szymon@janc.net.pl>
9140
9141 * grub-core/io/xzio.c: Fix code style issues
9142
90162423
MRA
91432011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
91442011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
9145
9146 Network infrastructure.
9147 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
9148
9149 * include/grub/net/arp.h: New file.
90162423
MRA
9150 * include/grub/net/device.h: Likewise.
9151 * include/grub/net/ethernet.h: Likewise.
9152 * include/grub/net/ip.h: Likewise.
9153 * include/grub/net/netbuff.h: Likewise.
9154 * include/grub/net/tftp.h: Likewise.
9155 * include/grub/net/udp.h: Likewise.
9156 * include/grub/ieee1275/ofnet.h: Likewise.
9157 * include/grub/emu/export.h: Likewise.
9158 * include/grub/net.h: Likewise.
9159 * grub-core/net/arp.c: Likewise.
9160 * grub-core/net/ethernet.c: Likewise.
9161 * grub-core/net/ip.c: Likewise.
9162 * grub-core/net/udp.c: Likewise.
9163 * grub-core/net/tftp.c: Likewise.
9164 * grub-core/net/netbuff.c: Likewise.
9165 * grub-core/net/net.c: Likewise.
9166 * grub-core/net/drivers/emu/emunet.c: Likewise.
9167 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
9168 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
9169 export.h.
9170 * grub-core/Makefile.core.def (net): New module.
9171 (tftp): Likewise.
9172 (ofnet): Likewise.
9173 (emunet): Likewise.
9174 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
9175 network protocols.
9176 * grub-core/kern/device.c (grub_net_open) : New variable.
9177 (grub_device_open): Handle network device.
9178 (grub_device_close): Likewise.
9179 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
9180 (grub_grubnet_fini): Likewise.
9181 (grub_file_seek): Seek in network device.
9182 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
9183 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
9184 network root.
9185 (grub_machine_fini): Call grub_grubnet_fini.
9186 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
9187 network.
9188 (grub_ieee1275_get_aliasdevname): New function.
9189 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
9190 Add unofficial Solaris network info.
9191 (grub_multiboot_make_mbi): Likewise.
9192 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
9193 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
9194 * include/grub/device.h (grub_fs): Removed.
9195 * include/grub/err.h (grub_err_t): Add network-related values.
9196 * include/grub/i386/pc/pxe.h: Removed bootp parts.
9197 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
9198 (grub_ieee1275_get_aliasdevname): New proto.
9199 * include/grub/net.h: Rewritten.
423a1849 9200
031f22a0
VS
92012011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9202
9203 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
9204 names.
9205
4388ca72
VS
92062011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9207
9208 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
9209 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
9210 it truncates the output.
9211 Reported by: Ximin Luo.
9212
98e2f506
VS
92132011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9214
9215 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
9216
2a5e94d8
VS
92172011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9218
9219 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
9220 partmap before abstraction.
9221
535c1910
AK
92222011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
9223
9224 * util/grub-mkconfig_lib.in: Add missing quotes.
9225
bc09e1a2
VS
92262011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9227
9228 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
9229 old method if mountinfo would return /dev/root and /dev/root doesn't
9230 exist.
9231
290766fb
VS
92322011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9233
9234 ZFS zlib support
9235
9236 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
9237 (decomp_table): Add zlib entries.
9238 (zio_read): USe 8 bits for compression function rather than 3.
9239 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
9240
92412011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9242
9243 * grub-core/disk/ahci.c: Add missing license statements.
9244 * grub-core/fs/romfs.c: Likewise.
9245 * grub-core/lib/ia64/setjmp.S: Likewise.
9246 * grub-core/loader/i386/pc/freedos.c: Likewise.
9247 * grub-core/loader/ia64/efi/linux.c: Likewise.
9248 * grub-core/video/colors.c: Likewise.
9249 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
9250
5ab3f48a
VS
92512011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9252
9253 AHCI support.
9254
9255 * grub-core/Makefile.core.def (ata_pthru): Removed.
9256 (ahci): New module.
9257 (pata): Likewise.
9258 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
9259 on unload.
9260 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
9261 readwrite.
9262 (grub_hdparm_do_check_powermode_cmd): Likewise.
9263 (grub_hdparm_do_smart_cmd): Likewise.
9264 (grub_hdparm_set_val_cmd): Likewise.
9265 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
9266 * grub-core/disk/ahci.c: New file.
9267 * grub-core/disk/ata.c: Factor out the low-level part into ...
9268 * grub-core/disk/pata.c: ... here.
9269 * grub-core/disk/ata_pthru.c: Contents moved to ...
9270 * grub-core/disk/pata.c: ... here.
9271 * grub-core/disk/scsi.c (grub_scsi_names): New array.
9272 (grub_scsi_iterate): Use grub_scsi_names.
9273 (grub_scsi_open): Likewise.
9274 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
9275 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
9276 (grub_ata_regs_t): New struct.
9277 (grub_disk_ata_pass_through_parms): Likewise.
9278 (grub_ata_device): Renamed to ...
9279 (grub_ata): ... this.
9280 (grub_ata_dev): New struct.
9281 Removed all low-level inline functions.
9282 * include/grub/scsi.h: Add PATA and AHCI subsystems.
9283 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
9284 iterate hooks and open. All users updated.
9285 * util/grub-install.in: Handle AHCI disk module.
9286
c31dc5f5
SJ
92872011-06-23 Szymon Janc <szymon@janc.net.pl>
9288
9289 Add support for DRI and RSTn markers in JPEG files.
9290
9291 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
9292 (JPEG_MARKER_RST0): Likewise.
9293 (JPEG_MARKER_RST1): Likewise.
9294 (JPEG_MARKER_RST2): Likewise.
9295 (JPEG_MARKER_RST3): Likewise.
9296 (JPEG_MARKER_RST4): Likewise.
9297 (JPEG_MARKER_RST5): Likewise.
9298 (JPEG_MARKER_RST6): Likewise.
9299 (JPEG_MARKER_RST7): Likewise.
9300 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
9301 (grub_jpeg_decode_dri): New function.
9302 (grub_jpeg_decode_sos): Move image data related part into
9303 grub_jpeg_decode_data function.
9304 (grub_jpeg_decode_data): New function.
9305 (grub_jpeg_reset): New function.
9306 (grub_jpeg_decode_jpeg): Handle new markers.
9307
fe12fd5b
VS
93082011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9309
9310 * util/ieee1275/ofpath.c (check_sas): Close fd.
9311 (main): Free of_path.
9312 Reported by: David Volgyes <dvolgyes>.
9313
03147f46
VS
93142011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9315
9316 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
9317 Reported by: David Volgyes <dvolgyes>.
9318
cad3237f
VS
93192011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9320
9321 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
9322 file after stat.
9323 Reported by: David Volgyes <dvolgyes>.
9324
13548d26
VS
93252011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9326
9327 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
9328
9329 Reported by: David Volgyes <dvolgyes>.
9330
e061a1b5
VS
93312011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9332
9333 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
9334 Prevent memory leak.
9335
1abe47dc
VS
93362011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9337
9338 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
9339 (main): Close file.
e061a1b5 9340 Reported by: David Volgyes <dvolgyes>.
1abe47dc 9341
fbc62666
VS
93422011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9343
9344 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
9345 to continue if allocation is failed.
9346
9347 Reported by: David Volgyes <dvolgyes>.
9348
e98c83e9
DV
93492011-06-23 David Volgyes <dvolgyes>
9350
9351 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
9352 dereference.
9353
a199a8cd
VS
93542011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9355
9356 Fix spurious warning.
9357
9358 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
9359 (acorn_partition_map_find): Use .bin member.
9360
e2d1dba0
VS
93612011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9362
9363 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
9364 /dev/root as a valid device.
9365
8a5d6919
JM
93662011-06-23 Jim Meyering <meyering@redhat.com>
9367
e2d1dba0
VS
9368 Avoid NULL deref in grub_device_open.
9369
8a5d6919
JM
9370 * grub-core/kern/device.c (grub_device_open): Don't dereference
9371 a NULL pointer upon failed grub_env_get.
9372
f7db6f4a
VS
93732011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9374
9375 Support non-512B sectors and agglomerate reads.
9376
9377 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
9378 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
9379 (disk_io_guid): Removed.
9380 (make_devices): Locate solely by BlockIO.
9381 (grub_efidisk_open): Fill log_sector_size and total_sectors.
9382 (grub_efidisk_read): Use read_blocks.
9383 (grub_efidisk_write): Use write_blocks.
9384 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
9385 log_sector_size.
9386 (get_safe_sectors): Handle non-512B sectors.
9387 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
9388 sectors.
9389 (grub_biosdisk_write): Handle non-512B sectors.
9390 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
9391 (grub_scsi_read): Remove special non-512B block handling (now handled
9392 one level up).
9393 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
9394 and do sanity checks.
9395 (grub_disk_adjust_range): Handle non-512B sectors.
9396 (transform_sector): New function.
9397 (grub_disk_read_small): Likewise.
9398 (grub_disk_read): Rewritten.
9399 (grub_disk_write): Handle non-512B sectors.
9400 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
9401 log_sector_size.
9402 (open_device): Use log_sector_size.
9403 (grub_util_biosdisk_read): Likewise.
9404 (grub_util_biosdisk_write): Likewise.
9405 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
9406 non-512B sectors.
9407 (pc_partition_map_embed): Likewise.
9408 * include/grub/disk.h (grub_disk): New field log_sector_size.
9409 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
9410 (GRUB_DISK_CACHE_BITS): Increased to 6.
9411 * util/grub-fstest.c (fstest): New command testload.
9412 (argp_parser): Likewise.
9413
881ac815
RM
94142011-06-16 Robert Millan <rmh@gnu.org>
9415
9416 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
9417 `ata' driver on kernel of FreeBSD 9.
9418
9419 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
9420 (get_ataraid_disk_name): New functions.
9421 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
9422 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
9423 get_ataraid_disk_name() and get_ada_disk_name().
9424
1e9aef7d
CW
94252011-06-13 Colin Watson <cjwatson@ubuntu.com>
9426
9427 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
9428 input format.
9429
351c7c8a
CW
94302011-05-29 Colin Watson <cjwatson@ubuntu.com>
9431
9432 * docs/grub.texi (Obtaining and Building GRUB): Substitute
9433 `ftp.gnu.org' for `alpha.gnu.org'.
9434
6b4e6430
CW
94352011-05-27 Colin Watson <cjwatson@ubuntu.com>
9436
9437 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
9438 partitions under /dev/disk/by-id/.
9439
c64db050
CW
94402011-05-27 Colin Watson <cjwatson@ubuntu.com>
9441
9442 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
9443 after ten consecutive open failures. Scanning all the way up to
9444 10000 is excessive and can cause serious performance problems in
9445 some configurations.
9446 Fixes Ubuntu bug #787461.
9447
245f4aba
VS
94482011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9449
9450 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
9451 opening new one.
9452
f767c929
VS
94532011-05-21 Colin Watson <cjwatson@ubuntu.com>
94542011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9455
9456 Don't stat devices unless we have to.
9457
9458 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
9459 dir == /dev/mapper.
9460 (grub_guess_root_device): Use already known os_dev if possible.
9461 * grub-core/kern/emu/hostdisk.c
9462 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
9463 if device is known to be a dm one.
9464
f35fa3a6
CW
94652011-05-20 Colin Watson <cjwatson@ubuntu.com>
9466
9467 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
9468 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
9469 Reported by: Pawel Tecza.
9470
9a79fcf2
VS
94712011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
9472
9473 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
9474 (lsefisystab): Likewise.
9475 (lssal): Likewise.
9476 (lsefimmap): Likewise.
9477 (hdparm): Enable on qemu-mips.
9478 (setjmp): Add ia64 nodist.
9479 (serial): Simplify tags.
9480
63e3eea9
CW
94812011-05-18 Colin Watson <cjwatson@ubuntu.com>
9482
9483 * Makefile.util.def (grub-ofpathname): Install manual page.
9484
09728256
CW
94852011-05-18 Colin Watson <cjwatson@ubuntu.com>
9486
9487 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
9488
8b63a142
CW
94892011-05-18 Colin Watson <cjwatson@ubuntu.com>
9490
9491 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
9492
e775d8ed
VS
94932011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9494
9495 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
9496 into dprintf.
9497
bf947d36
VS
94982011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9499
9500 Use full 64-bit division.
9501
9502 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
9503 (grub_divmod64): ... this.
9504 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
9505 version.
9506
b84f26c5
CW
95072011-05-18 Colin Watson <cjwatson@ubuntu.com>
9508
9509 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
9510 `source'.
9511
5626056f
CW
95122011-05-18 Colin Watson <cjwatson@ubuntu.com>
9513
9514 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
9515 to avoid accidents when debugging with 'sh -x'.
9516 * grub-core/gensyminfo.sh.in: Likewise.
9517 * tests/example_scripted_test.in: Likewise.
9518 * tests/grub_cmd_regexp.in: Likewise.
9519 * tests/grub_script_blanklines.in: Likewise.
9520 * tests/grub_script_dollar.in: Likewise.
9521 * tests/grub_script_expansion.in: Likewise.
9522 * tests/grub_script_final_semicolon.in: Likewise.
9523 * tests/partmap_test.in: Likewise.
9524 * tests/util/grub-shell-tester.in: Likewise.
9525 * tests/util/grub-shell.in: Likewise.
9526
e2965f4a
CW
95272011-05-18 Colin Watson <cjwatson@ubuntu.com>
9528
9529 Move gfxmenu color handling to video, so that gfxterm can use it
9530 too.
9531
9532 * grub-core/gfxmenu/named_colors.c: Move to ...
9533 * grub-core/video/colors.c: ... here. Rename
9534 grub_gui_get_named_color to grub_video_get_named_color.
9535 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
9536 * grub-core/video/colors.c (my_isxdigit): ... here.
9537 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
9538 Move to ...
9539 * grub-core/video/colors.c (parse_hex_color_component): ... here.
9540 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
9541 to ...
9542 * grub-core/video/colors.c (grub_video_parse_color): ... here.
9543
9544 * include/grub/gui.h (grub_gui_color_t): Move to ...
9545 * include/grub/video.h (grub_video_rgba_color_t): ... here.
9546 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
9547 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
9548 * include/grub/gui.h (grub_gui_map_color): Move to ...
9549 * include/grub/video.h (grub_video_map_rgba_color): ... here.
9550 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
9551 to ...
9552 * include/grub/video.h (grub_video_get_named_color): ... here.
9553 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
9554 * include/grub/video.h (grub_video_parse_color): ... here.
9555
9556 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
9557 video/colors.c.
9558 (gfxmenu): Remove gfxmenu/named_colors.c.
9559 (video) [videomodules]: Add video/colors.c.
9560
9561 Add a background_color command.
9562
9563 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
9564 function.
9565 (GRUB_MOD_INIT): Register background_color command.
9566 (GRUB_MOD_FINI): Unregister background_color command.
9567 (redraw_screen_rect): Allow blend/replace of text layer to be
9568 controlled independently from whether there is a background bitmap.
9569 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
9570 changing bitmap.
9571
1e4b4390
VS
95722011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9573
26618ff0
VS
9574 Patch BPB in ntldr and chainloader --bpb.
9575
1e4b4390
VS
9576 * grub-core/fs/fat.c: Include grub/fat.h.
9577 (grub_fat_bpb): Moved to ...
9578 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
9579 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
9580 grub/ntfs.h.
9581 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
9582 Moved from here...
9583 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
9584 here.
9585 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
9586 New function.
9587 (grub_chainloader_cmd): Patch BPB if --bpb is given.
9588 (GRUB_MOD_INIT): Show --bpb.
9589 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
9590 * grub-core/normal/main.c (features): New variable.
9591 (GRUB_MOD_INIT): Set feature_* variables.
9592 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
9593 proto.
9594 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
9595
cf02731e
VS
95962011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9597
9598 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
9599 for cleanness.
9600
e3a1073f
VS
96012011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9602
9603 FreeDOS direct loading support.
9604
9605 * docs/grub.texi (Supported OS): Add FreeDOS.
9606 * grub-core/Makefile.core.def (freedos): New module.
9607 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
9608 variable.
9609 (grub_relocator16_boot): Handle %ebx.
9610 * grub-core/lib/i386/relocator16.S: Likewise.
9611 * grub-core/loader/i386/pc/freedos.c: New file.
9612
05caa461
VS
96132011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9614
9615 Long Linux command line support.
9616
9617 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
9618 (maximal_cmdline_size): New variable.
9619 (allocate_pages): Use maximal_cmdline_size.
9620 (grub_cmd_linux): Set and use maximal_cmdline_size.
9621 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
9622 (allocate_pages): Use maximal_cmdline_size.
9623 (grub_cmd_linux): Set and use maximal_cmdline_size.
9624 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
9625 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
9626 and cmdline_size.
9627
a2491e23
VS
96282011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
96292011-05-18 Colin Watson <cjwatson@ubuntu.com>
9630
9631 Improve devmapper support
9632
9633 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
9634 (grub_util_is_lvm): New function.
9635 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
9636 than lvm if not dmraid.
9637 Handle mapped md nodes.
9638 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
9639 (grub_util_device_is_mapped): ... this. Make always available. All users
9640 updated.
9641 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
9642 (convert_system_partition_to_system_disk): Handle lvm, mpath and
9643 dmraid nodes.
9644 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
9645
6ad6223e
VS
96462011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9647
9648 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
9649
9650 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
9651 * grub-core/modinfo.sh.in: New file.
9652 * grub-core/Makefile.core.def (modinfo.sh): New script.
9653 * util/grub-mknetdir.in: Use modinfo.sh.
9654 * util/grub-mkrescue.in: Likewise.
9655
543a8f6e
VS
96562011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9657
9658 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
9659 Fix potential usage of Elf32 instead of Elf64 when compiling on
9660 32-bit architecture. Add endianness macros while on it.
9661
4959e111
VS
96622011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9663
9664 Use mipsel- rather than mips- in directories involving mipsel ports to
9665 allow both endiannesses coexist.
9666
9667 * configure.ac: proparate target_cpu=mipsel rather than resetting to
9668 mips. All conditions adjusted.
9669 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
9670 variable.
9671 * util/grub-install.in: Adjust conditions to take renaming into account.
9672 * util/grub-mkimage.c (image_targets): Likewise. New target
9673 mips-qemu_mips-elf for bigendian mips.
9674
35341bbc
VS
96752011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9676
9677 Avoid unnecessary copying on MIPS.
9678
9679 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
9680 early if src == dest.
9681 * util/grub-mkimage.c (generate_image): Arange for src == dest if
9682 compression is none.
9683
b772baed
VS
96842011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9685
9686 Reduce memory footprint on SGI by putting modules before the kernel
9687 as opposed to after.
9688
9689 * grub-core/Makefile.core.def (kernel): Increase linking address.
9690 (none_decompress): Likewise.
9691 (xz_decompress): Likewise.
9692 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
9693 address.
9694 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
9695 layout change.
9696 (grub_arch_modules_addr): New function.
9697 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
9698 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
9699 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
9700 here.
9701 * grub-core/kern/mips/startup.S (total_size): Rename to ...
9702 (grub_total_modules_size): ... this. Make global.
9703 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
9704 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
9705 New definition.
9706 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
9707 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
9708 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
9709 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
9710 * util/grub-mkimage.c (image_target_desc): New flag
9711 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
9712 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
9713 (generate_image): Handle images with modules before kernel.
9714
566a1917
VS
97152011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9716
9717 Prevent potential loss of memory map by overwrite on qemu-mips.
9718
9719 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
9720 Save ram size in $s4.
9721 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
9722 All users changed to grub_arch_memsize.
9723 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
9724 Loongson.
9725 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
9726 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
9727 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
9728 external variable.
9729
5d420cd9
CW
97302011-05-17 Colin Watson <cjwatson@ubuntu.com>
9731
9732 * .bzrignore: Remove grub-dumpbios.
9733
d064b830
CW
97342011-05-17 Colin Watson <cjwatson@ubuntu.com>
9735
9736 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
9737 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
9738 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
9739 existing options which append).
9740 * docs/grub.texi (Simple configuration): Document new options.
9741 Reported by: Ian Jackson. Fixes Debian bug #617538.
9742
3ca2b466
CW
97432011-05-17 Colin Watson <cjwatson@ubuntu.com>
9744
9745 * util/grub-fstest.c (cmd_cat): New function.
9746 (fstest): Handle CMD_CAT.
9747 (options): Add cat.
9748 (argp_parser): Handle cat.
9749
24c9143a
CW
97502011-05-17 Colin Watson <cjwatson@ubuntu.com>
9751
9752 * Makefile.util.def (grub-bin2h): Don't install.
9753 * docs/man/grub-bin2h.h2m: Remove.
9754
90f7ac19
VS
97552011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9756
9757 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
9758 place.
9759
8d4a5178
VS
97602011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9761
9762 Reenable qemu-mips port.
9763
9764 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
9765 Fix small arc bug while on it.
9766 * gentpl.py: Handle qemu_mips.
9767 * grub-core/Makefile.am: Likewise.
9768 * grub-core/Makefile.core.def: Likewise.
9769 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
9770 inappropriate includes.
9771 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
9772 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
9773 * grub-core/kern/main.c (grub_modules_get_end)
9774 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
9775 * grub-core/kern/mips/qemu-mips: Moved to ..
9776 * grub-core/kern/mips/qemu_mips: ... this.
9777 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
9778 (grub_machine_init): Call terminfo_init and serial_init.
9779 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
9780 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
9781 New variable.
9782 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
9783 parameter passing.
9784 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
9785 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
9786 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
9787 * include/grub/mips/qemu_mips/cmos.h: New file.
9788 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
9789 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
9790 Removed.
9791 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
9792 Use correct mips-style address.
9793 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
9794 (GRUB_TICKS_PER_SECOND): Removed.
9795 (grub_get_rtc): Likewise.
9796 (grub_cpu_idle): Likewise.
9797 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
9798 New definition.
9799 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
9800 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
9801 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
9802 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
9803 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
9804 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
9805 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
9806 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
9807
400b9371
VS
98082011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9809
9810 SGI ARCS port.
9811
9812 * Makefile.util.def (libgrubmods.a): Add dvh.c.
9813 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
9814 platforms.
9815 * configure.ac: New target mips-arc.
9816 * gentpl.py: Likewise.
9817 * grub-core/Makefile.am: Likewise.
9818 * grub-core/Makefile.core.def: Likewise.
9819 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
9820 (none_decompress): Likewise.
9821 (lsdev): New module.
9822 (datetime): Use lib/arc/datetime.c on ARC.
9823 (part_dvh): New module.
9824 * grub-core/commands/arc/lsdev.c: New file.
9825 * grub-core/disk/arc/arcdisk.c: Likewise.
9826 * grub-core/kern/mips/arc/init.c: Likewise.
9827 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
9828 aligned addresses.
9829 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
9830 support.
9831 (grub_arch_dl_relocate_symbols): Likewise.
9832 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
9833 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
9834 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
9835 platforms.
9836 * grub-core/lib/arc/datetime.c: New file.
9837 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
9838 pci.h on non-loongson.
9839 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
9840 (grub_linux_boot): Set unused registers to 0.
9841 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
9842 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
9843 * grub-core/mmap/mips/uppermem.c: ...here.
9844 * grub-core/partmap/dvh.c: New file.
9845 * grub-core/term/arc/console.c: Likewise.
9846 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
9847 (grub_terminfo_set_current): Add terminal "arc".
9848 (grub_terminfo_readkey): Support ARC sequences.
9849 * include/grub/arc/arc.h: New file.
9850 * include/grub/arc/console.h: Likewise.
9851 * include/grub/disk.h (grub_disk_dev_id): Add
9852 GRUB_DISK_DEVICE_ARCDISK_ID.
9853 * include/grub/mips/arc/kernel.h: New file.
9854 * include/grub/mips/arc/memory.h: Likewise.
9855 * include/grub/mips/arc/time.h: Likewise.
9856 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
9857 * include/grub/mips/kernel.h (grub_halt): ... here.
9858 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
9859 here...
9860 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
9861 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
9862 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
9863 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
9864 proto.
9865 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
9866 from here ...
9867 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
9868 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
9869 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
9870 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
9871 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
9872 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
9873 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
9874 (grub_phys_addr_t): Moved from here ...
9875 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
9876 (grub_vtop): Moved from here ...
9877 * include/grub/mips/memory.h (grub_vtop): ... here.
9878 (grub_map_memory): Moved from here ...
9879 * include/grub/mips/memory.h (grub_map_memory): ... here.
9880 (grub_unmap_memory): Moved from here ...
9881 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
9882 (grub_machine_mmap_iterate): Moved from here ...
9883 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
9884 (grub_mmap_get_lower): Moved from here ...
9885 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
9886 (grub_mmap_get_upper): Moved from here ...
9887 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
9888 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
9889 here ...
9890 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
9891 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
9892 here ...
9893 * include/grub/mips/time.h (grub_get_rtc): ... here.
9894 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
9895 here ...
9896 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
9897 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
9898 here ...
9899 * include/grub/mips/time.h (grub_cpu_idle): ... here.
9900 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
9901 definition.
9902 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
9903 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
9904 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
9905 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
9906 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9907 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9908 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
9909 (GRUB_MACHINE_LINK_ADDR): Likewise.
9910 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
9911 to 6.
9912 * util/grub-install.in: Run dvhtool on ARC.
9913 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 9914 (generate_image): Handle ECOFF output for mips-arc.
400b9371 9915
c8ecc840
VS
99162011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9917
9918 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
9919 blocks.
9920
153a4b55
VS
99212011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9922
9923 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
9924 after enabling port.
9925
ff44d107
VS
99262011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9927
9928 Skip incorrect USB devices.
9929
9930 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
9931 configcnt == 0.
9932 * include/grub/usb.h (grub_usb_err_t): New enum value
9933 GRUB_USB_ERR_BADDEVICE.
9934
638dbe4f
VS
99352011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
9936
9937 Fuloong video init support.
9938
9939 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
9940 well.
9941 (grub_vga_read_arx): New function.
9942 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
9943 definition.
9944 (framebuffer): New members io, mmioptr and mmiobase.
9945 (read_sis_cmd): New function.
9946 (write_sis_cmd): Likewise.
9947 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
9948 rather than 640x400.
9949 * grub-core/video/sis315_init.c: New file.
9950
c3fc520c
VS
99512011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9952
9953 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
9954 non-loongson.
9955 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
9956 to grub_dl_register_symbol.
9957
67b1e5c9
VS
99582011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9959
9960 Fix compilation errors.
9961
9962 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
9963 potentially unused.
9964 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
9965 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
9966 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
9967 to loongson machines.
9968
b756f75f
VS
99692011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
9970
9971 Several FS mtime support.
9972
9973 * grub-core/fs/affs.c (grub_affs_time): New struct.
9974 (grub_affs_file): New field mtime.
9975 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
9976 type. Removed 'size'. New field 'di'. All users updated.
9977 (grub_affs_mount): Simplify checsum checking.
9978 (grub_affs_iterate_dir): New helper grub_affs_create_node.
9979 (grub_affs_dir): Handle mtime.
9980 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
9981 (grub_cpio_dir): Likewise.
9982 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
9983 (grub_hfs_filerec): New field mtime.
9984 (grub_hfs_dir): Handle mtime.
9985 (grub_hfs_mtime): New function.
9986 (grub_hfs_fs): Register grub_hfs_mtime.
9987 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
9988 (grub_iso9660_dir): New field mtime.
9989 (grub_fshelp_node): New field dirent.
9990 (iso9660_to_unixtime): New function.
9991 (iso9660_to_unixtime2): Likewise.
9992 (grub_iso9660_read_symlink): Use node->dirent.
9993 (grub_iso9660_iterate_dir): Likewise.
9994 (grub_iso9660_dir): Set mtime.
9995 (grub_iso9660_mtime): New function.
9996 (grub_iso9660_fs): Register grub_iso9660_mtime.
9997 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
9998 (grub_jfs_inode): New fields atime, ctime and mtime.
9999 (grub_jfs_dir): Set mtime.
10000 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
10001 * grub-core/fs/ntfs.c (list_file): Set mtime.
10002 (grub_ntfs_dir): Likewise.
10003 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
10004 (grub_reiserfs_iterate_dir): Set mtime.
10005 (grub_reiserfs_dir): Likewise.
10006 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
10007 (grub_fshelp_node): Likewise.
10008 (grub_sfs_iterate_dir): Set mtime.
10009 (grub_sfs_dir): Likewise.
10010 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
10011 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
10012 (grub_xfs_inode): New fields atime, mtime, ctime.
10013 (grub_xfs_dir): Set mtime.
10014 * include/grub/datetime.h (grub_datetime2unixtime): New function.
10015 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
10016 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
10017
10018 Support UDF symlinks.
10019
10020 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
10021 (grub_ufs_read_symlink): New function. All users updated.
10022
10023 Check amiga partmap checksum.
10024
10025 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
10026 (grub_amiga_partition): Likewise.
10027 (amiga_partition_map_checksum): New function.
10028 (amiga_partition_map_iterate): Check checksum.
10029
5470225d
VS
100302011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10031
10032 ROMFS support.
10033
10034 * Makefile.util.def (libgrubmods.a): Add romfs.
10035 * grub-core/Makefile.core.def (romfs): New module.
10036 * grub-core/fs/romfs.c: New file.
10037
d4680a35
VS
100382011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10039
10040 Squashfs v4 support.
10041
10042 * Makefile.util.def (libgrubmods.a): Add squash4.
10043 * grub-core/Makefile.core.def (squash4): New module.
10044 * grub-core/fs/squash4.c: New file.
10045 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
10046 disk_input_start, disk_input.
10047 (get_byte): Handle disk_input.
10048 (grub_zlib_disk_read): New function.
10049 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
10050
bcb18e74
FZ
100512011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
100522011-05-15 Feiran Zheng <famcool@gmail.com>
10053
10054 * Makefile.util.def (libgrubmods.a): Add minix3.
10055 * grub-core/Makefile.core.def (minix3): New module.
10056 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
10057 (GRUB_MINIX_BSIZE): Removed.
10058 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
10059 (grub_minix_ino_t): New type.
10060 (grub_minix_le_to_cpu_ino): New macro.
10061 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
10062 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
10063 (grub_minix_data): New field block_size.
10064 (grub_minix_read_file): Handle 64-bit correctly.
10065 * grub-core/fs/minix3.c: New file.
10066
32297d5f
TG
100672011-05-15 Tristan Gingold <gingold@free.fr>
100682011-05-15 Robert Millan <rmh.grub@aybabtu.com>
100692011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10070
10071 IA64 support.
10072
10073 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
10074 * configure.ac: Add ia64-efi target.
10075 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
10076 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
10077 * gentpl.py: Add ia64_efi platform.
10078 Rename x86_efi to efi and Add ia64-efi. All users updated.
10079 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
10080 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
10081 Remove kern/generic/rtc_get_time_ms.c on EFI.
10082 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
10083 kern/ia64/dl_helper.c on ia64-efi.
10084 Add kern/emu/cache.c on emu.
10085 (linux): Use on loader/ia64/efi/linux.c on ia64.
10086 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
10087 whether symbol is a function.
10088 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
10089 (grub_symbol): New field 'isfunc'.
10090 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
10091 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
10092 (grub_dl_load_segments): Place all sections into the same region.
10093 [__ia64__]: Create trampolines and got.
10094 [GRUB_MACHINE_EMU]: Call mprotect.
10095 (grub_dl_resolve_symbols): Resolve symbol type as well.
10096 [__ia64__]: Create function descriptors.
10097 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
10098 (grub_rtc_get_time_ms): ... this. Expressions simplified.
10099 (grub_get_rtc): New function.
10100 * grub-core/kern/emu/cache.c [__ia64__]: New file.
10101 * grub-core/kern/emu/cache.S: Renamed to ...
10102 * grub-core/kern/emu/cache_s.S: ... this.
10103 [__ia64__]: Add a nop.
10104 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
10105 [__ia64__]: New function.
10106 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
10107 * grub-core/kern/ia64/dl.c: New file.
10108 * grub-core/kern/ia64/dl_helper.c: Likewise.
10109 * grub-core/kern/ia64/efi/init.c: New file.
10110 * grub-core/kern/ia64/efi/startup.S: Likewise.
10111 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
10112 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
10113 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
10114 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
10115 * grub-core/loader/ia64/efi/linux.c: New file.
10116 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
10117 (GRUB_MOD_DEP): Likewise.
10118 (grub_dl) [__ia64__]: New fields got and tramp.
10119 (grub_dl): New field 'base'.
10120 (grub_dl_register_symbol): New argument isfunc. All users updated.
10121 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
10122 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
10123 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
10124 (grub_ia64_dl_get_tramp_got_size): New proto.
10125 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
10126 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
10127 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
10128 * include/grub/efi/api.h: Skip call wrappers on ia64.
10129 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
10130 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
10131 * include/grub/elf.h (ELF_ST_INFO): New definition.
10132 * include/grub/ia64/efi/kernel.h: New file.
10133 * include/grub/ia64/efi/memory.h: Likewise.
10134 * include/grub/ia64/efi/time.h: Likewise.
10135 * include/grub/ia64/kernel.h: Likewise.
10136 * include/grub/ia64/setjmp.h: Likewise (from glibc).
10137 * include/grub/ia64/time.h: New file.
10138 * include/grub/ia64/types.h: Likewise.
10139 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
10140 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
10141 New protos.
10142 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
10143 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
10144 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
10145 * util/grub-mkimage.c (image_target_desc): New field pe_target.
10146 All users updated.
10147 (EFI64_HEADER_SIZE): New definition. All users updated.
10148 (image_targets): Add ia64-efi.
10149 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
10150 jumpers_addr. All users updated.
10151 Create function descriptors.
10152 (count_funcs): New function.
10153 (unaligned_uint32): New struct.
10154 (MASK20): New definition.
10155 (MASK19): Likewise.
10156 (MASKF21): Likewise.
10157 (add_value_to_slot_20b): New function.
10158 (add_value_to_slot_21_real): Likewise.
10159 (add_value_to_slot_21): Likewise.
10160 (ia64_kernel_trampoline): New struct.
10161 (nopm): New variable.
10162 (jump): Likewise.
10163 (make_trampoline): New function.
10164 (relocate_addresses): Handle ia64.
10165 (make_reloc_section): Likewise.
10166 (load_image): Likewise.
10167
983b414d
VS
101682011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10169
10170 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
10171 warning. Move variables before code while on it.
10172
5d063cdc
VS
101732011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10174
10175 Fuloong support.
10176
10177 * configure.ac: Rename yeeloong platform to loongson. All users updated.
10178 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
10179 * grub-core/boot/mips/loongson/fuloong.S: New file.
10180 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
10181 Explicitly init CS5536.
10182 [FULOONG]: Don't use serial until CS5536 is available.
10183 Set GPIO based on dumps.
10184 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
10185 [FULOONG]: Handle GPIO and memory controller differences.
10186 Parse machine type in $a2.
10187 * grub-core/boot/mips/startup_raw.S: Determine and save the
10188 architecture.
10189 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
10190 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
10191 init on architecture type.
10192 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
10193 SIS315E. Don't init at_keyboard on fuloong.
10194 (grub_halt): Support Fuloong.
10195 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
10196 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
10197 (loongson_machtypes): New array.
10198 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
10199 type.
10200 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
10201 config. All users updated. Handle CS5536 serial.
10202 * grub-core/term/serial.c (grub_serial_register): Conditionalise
10203 default port on machine type. Register serial as inactive.
10204 * grub-core/video/sis315pro.c: New file.
10205 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
10206 definition.
10207 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
10208 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
10209 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
10210 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
10211 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
10212 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
10213 to ...
10214 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
10215 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
10216 definition.
10217 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
10218 (grub_arch_machine): New extern var.
10219 * include/grub/mips/loongson/serial.h
10220 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
10221 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
10222 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
10223 (GRUB_MACHINE_SERIAL_PORT0): ... this.
10224 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
10225 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
10226 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
10227 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
10228 * include/grub/term.h (grub_term_register_input_inactive): New inline
10229 function.
10230 (grub_term_register_output_inactive): Likewise.
10231 * include/grub/video.h (grub_video_driver_id): New value
10232 GRUB_VIDEO_DRIVER_SIS315PRO.
10233 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
10234 New field "names". All users updated.
10235 New field value IMAGE_FULOONG_FLASH.
10236 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
10237
6ada82d1
JU
102382011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
10239
10240 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
10241 and add some clarification.
10242
90c571a4
VS
102432011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10244
10245 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
10246 platforms if kernel is compressed.
10247
de04eecf
VS
102482011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10249
10250 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
10251 unused modules since currently referrence counter isn't reliable and
10252 there isn't much memory to recover there anyway.
10253
57688121
VS
102542011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10255
10256 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
10257 rather than resetting it to allow modules to reference themselves
10258 in init.
10259
3d2c7e35
VS
102602011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10261
10262 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
10263 counter on dependencies since grub_dl_unref already handles this.
10264
b25db218
VS
102652011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10266
10267 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
10268 on error if not already done.
10269
25a45338
VS
102702011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10271
10272 Fix few potential memory misusage.
10273
10274 * grub-core/font/font.c (load_font_index): Don't free char_index to
10275 avoid double free.
b25db218
VS
10276 (grub_font_load): Zero-fill font at alloc for safety.
10277 Close file on error.
10278 (free_font): Free bmp_idx.
25a45338 10279
0cac83df
VS
102802011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10281
10282 * docs/grub.texi (Installation): Fix several outdated claims.
10283
2217a143
VS
102842011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10285
10286 Handle module_license on windows.
10287
10288 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
10289 sections shifted.
10290 (insert_string): Make argument const char * instead of char *.
10291 (write_section_data): Handle long section names.
10292 Handle module_license.
10293
d4de6b01
VS
102942011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10295
10296 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
10297 handle class-free menuentries.
10298 (grub_normal_add_menu_entry): Add a check to be sure.
10299
4c2a3b43
VS
103002011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10301
10302 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
10303 PgUp and PgDown.
10304
85c6210f
VS
103052011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10306
10307 * configure.ac: Bump version to 1.99.
10308
36084912
VS
103092011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10310
10311 Give ATA device a bit more time on first try in order to allow disks
10312 to spin up.
10313
10314 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
10315 if dev->present is 1. Reset dev->present on failure.
10316 (grub_ata_device_initialize): Set dev->present to 1.
10317 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
10318 (grub_ata_device): New member 'present'.
10319
bda0e219
VS
103202011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10321
10322 * util/grub-mkimage.c (generate_image): Update hash.
10323
19e1c41b
VS
103242011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10325
10326 Flush caches on DMA memory.
10327
10328 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
10329 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
10330 (grub_dma_free): Likewise.
10331 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
10332
91bbcc0c
VS
103332011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10334
10335 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
10336 to avoid asm treating ld and sd as macros.
10337
60ddfad3
VS
103382011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10339
10340 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
10341 decompressor.
10342
a298aa04
VS
103432011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10344
10345 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
10346 grub_decompress_core since later would fail if grub_decompress_core
10347 is too far.
10348
9b44feca
VS
103492011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10350
10351 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
10352 R_MIPS_JALR since it's used by newer compiler.
10353
56dbe7b4
VS
103542011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10355
10356 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
10357
52856af2
VS
103582011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10359
10360 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
10361 file_path to 0 for surety.
10362 (grub_chainloader_boot): Set exit_data to NULL.
10363 Unset the loader once done.
10364 (grub_cmd_chainloader): Fix confusing error message if file is empty.
10365
9c9bfc6d
VS
103662011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10367
10368 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
10369 unknown key into a dprintf.
10370
dd94a3df
VS
103712011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10372
10373 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
10374 on first non-existant partition.
10375
fa68d99c
VS
103762011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10377
10378 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
10379 openning fails.
10380 Reported by: Mark Korenberg.
10381
157effb7
VS
103822011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10383
10384 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
10385 overflow.
10386
ea75312f
VS
103872011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10388
10389 * util/grub-mkimage.c (main): Explicitely flush and sync the output
10390 before closing to ensure that it will be readable by grub-setup.
10391
072b5d31
VS
103922011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10393
10394 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
10395 (devpath_1): Use MAKE_PIWG_PATH.
10396 (devpath_2): Likewise.
10397 (devpath_3): Likewise.
10398 (devpath_4): Likewise.
10399 (devpath_5): Likewise.
10400 (devpath_6): Likewise.
10401
10402 The appleldr.mod was checked that to be binary identical to previous
10403 version.
10404
7fae0051
Z
104052011-05-05 Zach <mikezackles>
10406
10407 Support 2010 Macbooks.
10408
10409 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
10410 (devs): Add devpath_6.
10411
7c515bee
VS
104122011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10413
10414 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
10415 /dev/random. /dev/urandom is good enough for our purposes (salting).
10416
ed660bd8
VS
104172011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10418
10419 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
10420
ee5614b7
VS
104212011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10422
10423 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
10424 hexadecimal.
10425
664889a6
VS
104262011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10427
10428 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
10429 and not 0 on failure.
10430
bd405bbc
CW
104312011-05-03 Colin Watson <cjwatson@ubuntu.com>
10432
10433 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
10434 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
10435 disk; otherwise grub_fs_probe will not fall back to the next
10436 filesystem.
10437 (grub_pxefs_open): Likewise, for consistency.
10438 Reported and tested by: Ezekiel Grave.
10439
4ebff753
CW
104402011-05-03 Colin Watson <cjwatson@ubuntu.com>
10441
10442 * tests/partmap_test.in: Don't hardcode path to parted.
10443 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
10444
8f942553
CW
104452011-05-01 Colin Watson <cjwatson@ubuntu.com>
10446
10447 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
10448 of `ls' to find out which devices are available.
10449
3c62402d
VS
104502011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10451
10452 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
10453 than source address for efi mmap buffer.
10454
723f63f2
VS
104552011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10456
10457 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
10458 wrong action on non-detecting the magic.
10459
68797f92
VS
104602011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10461
10462 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
10463 already supplied by another part of the module (fixes compilation on
10464 FreeBSD).
10465
6be8715d
VS
104662011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10467
10468 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
10469 match the one used by mdadm.
10470
e91dba5b
CW
104712011-04-21 Colin Watson <cjwatson@ubuntu.com>
10472
10473 * po/README: Add instructions for creating po/LINGUAS.
10474
c85140b3
CW
104752011-04-21 Colin Watson <cjwatson@ubuntu.com>
10476
10477 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
10478 #551428.
10479
10480 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
10481 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
10482 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
10483 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
10484 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
10485 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
10486 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
10487 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
10488 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
10489 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
10490 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
10491 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
10492 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
10493 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
10494 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
10495 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
10496 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
10497 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
10498 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
10499 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
10500 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
10501 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
10502
92051871
CW
105032011-04-21 Colin Watson <cjwatson@ubuntu.com>
10504
10505 * grub-core/kern/emu/getroot.c
10506 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
10507 test that was incorrectly reintroduced in r3214.
10508 Reported by: Ian Dall. Fixes Savannah bug #33133.
10509
b13f79a4
CW
105102011-04-21 Colin Watson <cjwatson@ubuntu.com>
10511
10512 Fix stack pointer handling in 16-bit relocator.
10513
10514 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
10515 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
10516 Fixes Ubuntu bug #683904.
10517
9b710a88
VS
105182011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
10519
10520 * configure.ac: Bump version to 1.99~rc2.
10521
d97e7b59
VS
105222011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
10523
10524 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
10525 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
10526 * grub-core/lib/x86_64/setjmp.S: Likewise.
10527 * grub-core/lib/mips/setjmp.S: Likewise.
10528 * grub-core/lib/powerpc/setjmp.S: Likewise.
10529 * grub-core/lib/sparc64/setjmp.S: Likewise.
10530
0624551c
VS
105312011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
10532
10533 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
10534 * grub-core/lib/efi/datetime.c: Likewise.
10535
e8f28d4c
VS
105362011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
10537
10538 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
10539 New function.
10540 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
10541 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
10542 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
10543
bba79a15
VS
105442011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
10545
10546 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
10547 bitmap.
10548 (grub_gfxterm_term_init): Likewise.
10549
abc474ef
VS
105502011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
10551
10552 Take into account the decorations the computing menu entry width.
10553
10554 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
10555 (grub_gfxmenu_create_box): Register get_border_width.
10556 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
10557 if available.
10558 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
10559 get_border_width.
10560
e74b3947
EP
105612011-04-18 Endres Puschner <code@e7p.de>
10562
10563 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
10564 Don't skip first class.
10565
34faa595
VS
105662011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10567
10568 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
10569 chunks.
10570 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
10571
93a777e3
VS
105722011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10573
10574 Complete 64-bit division support.
10575
10576 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
10577 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
10578 * include/grub/misc.h (grub_divmod64): Rename to ...
10579 (grub_divmod64_full): ... this.
10580 (grub_divmod64): New inline function.
10581
a5102d94
VS
105822011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10583
10584 * util/grub-mkimage.c (generate_image): Add forgotten comma.
10585
f3fb7b36
VS
105862011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10587
10588 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
10589 performing the necessary test.
10590
9ac718b0
VS
105912011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
10592
10593 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
10594 (kfreebsd.elf): Likewise.
10595 (pc-chainloader.elf): Likewise.
10596 (ntldr.elf): Likewise.
10597
50d2cc5a
VS
105982011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
10599
10600 Identify RAID by its UUID rather than (guessed) name.
10601
10602 * grub-core/disk/raid.c (ascii2hex): New function.
10603 (grub_raid_open): Accept mduuid/%s specification.
10604 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
10605 (get_mdadm_uuid): ... this.
10606 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
10607
e03f7bea
VS
106082011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
10609
10610 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
10611 to negative size.
10612
e74c3112
CW
106132011-04-13 Colin Watson <cjwatson@ubuntu.com>
10614
10615 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
10616 btrfs subvolume.
10617 * util/grub.d/20_linux_xen.in: Likewise.
10618
78fa584f
CW
106192011-04-13 Colin Watson <cjwatson@ubuntu.com>
10620
10621 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
10622 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
10623
10624 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
10625 Build a list of relevant visible mounts using the mnt_id and
10626 parent_mnt_id fields, and then scan that list at the end.
10627
9d5f8162
CW
106282011-04-12 Colin Watson <cjwatson@ubuntu.com>
10629
10630 * docs/grub.texi (normal): New section.
10631 (normal_exit): New section.
10632 (Embedded configuration): Add reference to normal.
10633 (GRUB only offers a rescue shell): Likewise.
10634 * docs/grub-dev.texi (Error Handling): Fix typo.
10635
09a9d66f
CW
106362011-04-12 Colin Watson <cjwatson@ubuntu.com>
10637
10638 * NEWS: Drop obsolete entry about probe-only btrfs support.
10639
0c676933
CW
106402011-04-12 Colin Watson <cjwatson@ubuntu.com>
10641
10642 * util/import_gcry.py: Fix typo.
10643
ec9f5e0d
VS
106442011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10645
10646 * NEWS: Add btrfs support.
10647
fe6b2cba
VS
106482011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
106492011-04-11 Colin Watson <cjwatson@ubuntu.com>
10650
10651 BtrFS support. Written by me (Vladimir) with important bugfixes and
10652 even more important testing by Colin.
10653
10654 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
10655 * grub-core/Makefile.core.def (btrfs): Add crc.c.
10656 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
10657 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
10658 mem_input_off and mem_input. All users updated to accept in-RAM input.
10659 (gzio_seek): New function.
10660 (test_zlib_header): Likewise.
10661 (grub_gzio_read): Likewise.
10662 (grub_zlib_decompress): Likewise.
10663 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
10664 Accept partial and non-virtual mounts.
10665 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
10666 avoid receiving /dev/dm-X as device.
10667 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
10668 Handle bind and partial mounts.
10669 * grub-core/lib/crc.c: New file.
10670 * include/grub/deflate.h: Likewise.
10671 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
10672 proto.
10673 * include/grub/lib/crc.h: New file.
10674
e745cf0c
VS
106752011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10676
10677 Implement automatic module license checking according to new GNU
10678 guidelines.
10679
10680 * grub-core/kern/dl.c (grub_dl_check_license): New function.
10681 (grub_dl_load_core): Use grub_dl_check_license.
10682 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
10683 (GRUB_MOD_LICENSE): Likewise.
10684 (GRUB_MOD_DUAL_LICENSE): Likewise.
10685 All modules updated.
10686
2a9bc016
CW
106872011-04-11 Colin Watson <cjwatson@ubuntu.com>
10688
10689 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
10690 reserved_first_sector to 1. btrfs reserves plenty of space for boot
10691 loaders.
10692 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
10693
8a3bc88e
VS
106942011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10695
10696 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
10697
af869a4a
VS
106982011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10699
10700 * util/grub-fstest.c (read_file): Report GRUB error if file opening
10701 failed.
10702
9ee8d94f
VS
107032011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10704
10705 * grub-core/kern/file.c (grub_file_open): Don't take into account the
10706 parenthesis in the middle of the filename.
10707
b01abe3e
VS
107082011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10709
10710 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
10711 rather than trying to put initrd way too high.
10712 Reported by: Ryan Lortie <desrt@desrt.ca>
10713
335bda1e
VS
107142011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10715
10716 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
10717 improperly removed string.
10718
5ca1a64d
VS
107192011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10720
10721 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
10722 is_disk.
10723 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
10724 (open_device) Likewise.
10725 (grub_util_biosdisk_close): Likewise.
d8ce9995 10726 Reported by: Mark Korenberg.
5ca1a64d 10727
cbac5b1e
AK
107282011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
10729
10730 * util/grub-mkconfig_lib.in: Add missing quotes.
10731
088cdb65
CW
107322011-04-10 Colin Watson <cjwatson@ubuntu.com>
10733
10734 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
10735 is NULL.
10736
8b8a81fa
VS
107372011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10738
10739 Dynamically count the number of lines for the lower banner.
10740
10741 * grub-core/normal/menu_entry.c (per_term_screen): New member
10742 num_entries.
10743 (print_down): Use num_entries.
10744 (update_screen): Likewise.
10745 (grub_menu_entry_run): Set num_entries.
10746 * grub-core/normal/menu_text.c (menu_viewer_data): New member
10747 num_entries.
10748 (grub_print_message_indented): Move real part to ...
10749 (grub_print_message_indented_real): ... here. Additional argument
10750 dry_run.
10751 (draw_border): Additional argument num_entries.
10752 (print_message): Additional argument dry_run.
10753 (print_entries): Receive menu viewer data.
10754 (grub_menu_init_page): New argment num_entries.
10755 (menu_text_set_chosen_entry): Use num_entries.
10756 (grub_menu_try_text): Likewise.
10757 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
10758 All users updated.
10759 (grub_ucs4_count_lines): New function.
10760 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
10761 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
10762 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
10763 (grub_term_border_height): Likewise.
10764 (grub_term_num_entries): Likewise.
10765
277f955b
VS
107662011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10767
10768 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
10769 Remove now unused string.
10770
536ce85a
CW
107712011-04-09 Colin Watson <cjwatson@ubuntu.com>
10772
10773 * docs/grub-dev.texi (Finding your way around): Update for 1.99
10774 build system.
10775 (Getting started): GRUB is developed in Bazaar now, not Subversion.
10776
10777 (Comment): Fix typo.
10778 (Getting started): General copy-editing.
10779 (Typical Development Experience): Likewise.
10780 (Error Handling): Likewise.
10781 (Video API): Likewise.
10782
2cf09e32
CW
107832011-04-09 Colin Watson <cjwatson@ubuntu.com>
10784
10785 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
10786 throughout.
10787
1ec652f4
VS
107882011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10789
10790 * util/grub-mkimage.c (main): Handle special naming of yeeloong
10791 directory.
10792
2c583728
CW
107932011-04-08 Colin Watson <cjwatson@ubuntu.com>
10794
10795 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
10796 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
10797 "development".
10798
d7a565e9
VS
107992011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10800
10801 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
10802 grub_strcpy since the lines aren't necessarily 0-terminated.
10803
7c2e4909
VS
108042011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10805
10806 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
10807 root on legacy.
10808
34c09785
VS
108092011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10810
10811 * grub-core/commands/probe.c (options): Argument to set isn't optional.
10812 (GRUB_MOD_INIT): DEVICE isn't optional.
10813
6a6f8058
VS
108142011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10815
10816 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
10817 word on new line if it's too long anyway. Fixes a hang.
10818
2e335e90
VS
108192011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10820
10821 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
10822 const.
10823 * util/grub-setup.c (main): Reuse md device name if available.
10824 * util/raid.c (grub_util_raid_getmembers): Receive device name and
10825 not GRUB name as argument.
10826 Based on patch by: Florian Wagner <fwagner>.
10827
10a7a867
VS
108282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10829
10830 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10831 Place mbi on low memory for better compatibility.
10832
7a3d6cd9
VS
108332011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10834
10835 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
10836
18dd6b47
VS
108372011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
108382011-04-08 Colin Watson <cjwatson@ubuntu.com>
10839
10840 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 10841 * conf/Makefile.common: Likewise.
18dd6b47 10842
3c0e3f14
VS
108432011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10844
f7148863
VS
10845 * grub-core/normal/menu.c: Add missing include.
10846
108472011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10848
10849 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 10850
6d1fa41f
MZ
108512011-04-08 Martin Zuther <mzuther@mzuther.de>
10852
10853 * util/grub-mkconfig.in: Ignore emacsen backup.
10854
478182a8
VS
108552011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10856
10857 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
10858 on open.
10859 (grub_util_biosdisk_close): Likewise.
10860
72a89a54
VS
108612011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
10862
10863 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
10864 const attribute and use grub_isdigit.
10865
b5ebecfa
A
108662011-04-06 Andrey <dev_null@ukr.net>
10867
10868 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
10869 gcc warning.
10870
7755f66e
VS
108712011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10872
10873 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
10874 useful grub_dprintf's.
10875
461121ff
VS
108762011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10877
10878 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
10879
2a961775
VS
108802011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10881
10882 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
10883
adf594cc
VS
108842011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10885
10886 Output errors if theme loading failed.
10887
10888 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
10889 grub_gfxterm_fullscreen on error paths to ...
10890 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
10891 theme loading error.
10892
665900a3
VS
108932011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10894
10895 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
10896 space for older compilers.
10897 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10898
a562b479
VS
108992011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10900
10901 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
10902 and report them as not RAID members since they are useless for GRUB.
10903 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10904
850e9373
VS
109052011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10906
10907 Increase LVM implementation robustness in order not to crash on
10908 configurations like pvmove. Previously code assumed that in some places
10909 only lvs or only pvs are used whereas it seems that they are used
10910 interchangeably.
10911
10912 * grub-core/disk/lvm.c (read_node): New function.
10913 (read_lv): Use read_node.
10914 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
10915 Match volumes only at the end when all lvs are found. Take both
10916 pvs (first) and lvs (second) into account.
10917 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
10918 mirror_* into node_*. All users updated.
10919 (grub_lvm_stripe): Merge this ...
10920 (grub_lvm_mirror): ... and this ...
10921 (grub_lvm_node): ... into this. All users updated.
10922
6f332153
VS
109232011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10924
10925 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
10926 of function to allow further scanning for LVMs.
10927
829ea451
VS
109282011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10929
10930 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
10931 on failed seek as it breaks open fd reusage.
10932
09ceb9a5
VS
109332011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10934
10935 * util/grub-install.in: Add a recommendation to use --recheck before
10936 reporting bugs.
10937
67e11623
VS
109382011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10939
10940 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
10941 are obtained.
10942
caee5efd
VS
109432011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10944
10945 GRUB developper manual based on existing Internals section and
10946 contributions by the various authors with active copyright assignment.
10947
10948 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
10949 * docs/font_char_metrics.png: New file.
10950 * docs/font_char_metrics.txt: Likewise.
10951 * docs/grub-dev.texi: Likewise.
10952 * docs/grub.texi (Internals): Move from here ...
10953 * docs/grub-dev.texi: ... here.
10954
2cccc747
CW
109552011-04-01 Colin Watson <cjwatson@ubuntu.com>
10956
10957 Store the loopback device as data on loopback grub_disk structures,
10958 rather than the file it points to. This fixes use of freed memory
10959 if an existing loopback device is replaced.
10960
10961 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
10962 disk->data, not dev->file.
10963 (grub_loopback_read): Adjust file assignment to match.
10964 Fixes Ubuntu bug #742967.
10965
186ae367
CW
109662011-04-01 Colin Watson <cjwatson@ubuntu.com>
10967
10968 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
10969 when replacing an existing device.
10970
cfed2ad0
VS
109712011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10972
10973 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
10974 memory corruptions.
10975
10976 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
10977 unsigned.
10978 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
10979 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
10980 (grub_jfs_read_inode): Likewise.
10981 (grub_jfs_opendir): Likewise. Remove now useless casts.
10982 (grub_jfs_getent): Likewise.
10983 Make ino a grub_uint32_t rather than int.
10984 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
10985 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
10986 division and module with bit operations.
10987 (grub_jfs_find_file): Make ino a grub_uint32_t.
10988 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
10989
05d2ed32
CW
109902011-04-01 Colin Watson <cjwatson@ubuntu.com>
10991
10992 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
10993 warning. (This was in fact always initialised before use, but GCC
10994 wasn't smart enough to prove that.)
10995 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
10996
91dc6073
VS
109972011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10998
10999 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
11000 stack alignment.
11001 (efi_wrap_1): Likewise.
11002 (efi_wrap_2): Likewise.
11003 (efi_wrap_3): Likewise.
11004 (efi_wrap_4): Likewise.
11005 (efi_wrap_5): Likewise.
11006 (efi_wrap_6): Likewise.
11007 (efi_wrap_10): Likewise.
11008 Based on information by: Red Hat/Peter Jones.
11009
a8afc1d1
CW
110102011-03-31 Colin Watson <cjwatson@ubuntu.com>
11011
11012 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
11013 set-but-not-used variable.
11014
a826cc7d
CW
110152011-03-31 Colin Watson <cjwatson@ubuntu.com>
11016
11017 * docs/grub.texi (Simple configuration): Be more explicit about
11018 GRUB_DEFAULT, and add an example.
11019 Reported by: Leslie Rhorer.
11020
875b67ba
CW
110212011-03-30 Colin Watson <cjwatson@ubuntu.com>
11022
11023 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
11024 shell".
11025
fd7cd914
AS
110262011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
11027
11028 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
11029 * util/grub.d/20_linux_xen.in: Likewise.
11030
090b1b6a
VS
110312011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11032
11033 * util/grub.d/10_linux.in: Try alternative config filenames where
11034 we parse config file.
11035 * util/grub.d/20_linux_xen.in: Likewise.
11036
baad885c
AS
110372011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
11038
11039 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
11040 * util/grub.d/20_linux_xen.in: Likewise.
11041
241e41f5
VS
110422011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11043
11044 * grub-core/disk/raid.c (insert_array): Add few potentially
11045 useful grub_util_info.
11046 (grub_raid_register): Likewise.
11047
56445fb2
VS
110482011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11049
11050 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
11051 Preserve partition number in mdadm code path.
11052
c871b1c6
VS
110532011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11054
11055 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
11056 few potentially useful grub_util_info.
11057
5e631b4f
CW
110582011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11059
11060 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
11061
2d5d0333
CW
110622011-03-30 Colin Watson <cjwatson@ubuntu.com>
11063
11064 * docs/grub.texi (default): Use @example rather than nested
11065 itemized lists to avoid breaking gendocs.
11066
3d7ed04e
CW
110672011-03-30 Colin Watson <cjwatson@ubuntu.com>
11068
11069 * docs/grub.texi (Future): Update.
11070
abf04200 110712011-03-30 Colin Watson <cjwatson@ubuntu.com>
11072
11073 * docs/grub.texi (Environment): New chapter.
11074 (Changes from GRUB Legacy): Link to "Environment block" section for
11075 details of limitations.
11076 (Simple configuration): Likewise. Link to documentation of gfxmode
11077 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
11078 respectively.
11079 (Shell-like scripting): Note that normal variables are stored in the
11080 environment.
11081 (gettext): Link to documentation of lang and locale_dir.
11082 (list_env): New section.
11083 (load_env): New section.
11084 (save_env): New section.
11085
11086 (Reporting bugs): Fix typo.
11087
e1ad0edd
VS
110882011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11089
11090 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
11091 the example.
11092
5d803174
VS
110932011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11094
11095 * grub-core/term/at_keyboard.c (set_scancodes)
11096 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
11097
2a2da1d0
CW
110982011-03-30 Colin Watson <cjwatson@ubuntu.com>
11099
11100 * docs/grub.texi (Menu-specific commands): Remove some semantics
11101 that were true in GRUB Legacy but not in GRUB 2.
11102 (submenu): New section.
11103 (false): New section.
11104 (read): New section.
11105 (true): New section.
11106
a7527639
CW
111072011-03-30 Colin Watson <cjwatson@ubuntu.com>
11108
11109 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
11110
111112011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
11112
11113 * docs/grub.texi (Simple configuration): Explain some of the
11114 current limitations of grub-mkconfig.
8a748df2 11115 Reported by: Leslie Rhorer.
e30af029 11116
fc858482
VS
111172011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11118
11119 Old macs search for boot.efi rather than for bootia32.efi.
11120
11121 * util/grub-install.in: Copy bootia32.efi to boot.efi.
11122 * util/grub-mkrescue.in: Likewise.
11123 Suggested by: Peter Jones.
11124
e1eb511d
VS
111252011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11126
11127 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
11128
70e75364
VS
111292011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11130
11131 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
11132 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
11133 (grub_lvm_mirror): New struct.
11134 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
11135 (grub_lvm_iterate): Iterate only visible volumes.
11136 (grub_lvm_read): Factor out to ..
11137 (read_lv): ... this. Support mirrors.
11138 (grub_lvm_read): New wrapper function.
11139 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
11140 stripped or mirrored.
11141
fc18f6a3
VS
111422011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11143
11144 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
11145
5c650f4c
CW
111462011-03-29 Colin Watson <cjwatson@ubuntu.com>
11147
11148 * docs/grub.texi (loopback): New section.
11149
61d7156b
CW
111502011-03-29 Colin Watson <cjwatson@ubuntu.com>
11151
11152 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
11153 removed -p option.
11154
994b8264
CW
111552011-03-29 Colin Watson <cjwatson@ubuntu.com>
11156
11157 * docs/grub.texi (BIOS installation): New section, partly based on
11158 previous text in other sections.
11159 (Installing GRUB using grub-install): Replace BIOS discussion with a
11160 cross-reference.
11161 (Images): Likewise.
11162
9e4d19e0
VS
111632011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11164
11165 * grub-core/kern/emu/hostdisk.c (find_partition_start)
11166 [HAVE_DIOCGDINFO]: Add safety checks.
11167
a307c0b2
VS
111682011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11169
11170 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
11171 per default compiled in kernel and prior to 8.0 isn't shipped at all.
11172
b4db4f39
CW
111732011-03-29 Colin Watson <cjwatson@ubuntu.com>
11174
11175 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
11176 real_sb->size is zero (e.g. RAID-0), get the disk size from
11177 real_sb->data_size instead.
11178 Fixes Ubuntu bug #743136.
11179
35e5f84c
VS
111802011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11181
11182 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
11183 printf clauses for printing size and start.
11184
d2e29d81
VS
111852011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11186
11187 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
11188 Reported and tested by: Timothy Nikkel.
11189
ed5587af
VS
111902011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11191
11192 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
11193 (dirty_region_add_real): ... this.
11194 (dirty_region_add): Don't discard margin refresh when performing
11195 scheduled repaint.
11196
a1dc717c
VS
111972011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11198
11199 * grub-core/lib/relocator.c (allocate_regstart)
11200 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
11201 terminals are capabple of malloc-free operation.
11202 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
11203 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
11204
9f3677d3
VS
112052011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
11206
11207 * util/grub-setup.c: Copy the partition table zone if floppy support
11208 is disabled, even if no partition table is found.
11209
11210 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
11211 during POST if an invalid partition table is contained in the PBR
11212 of the active partition when GRUB is installed to a partition.
11213
24148725
CW
112142011-03-28 Colin Watson <cjwatson@debian.org>
11215
11216 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
11217 comment.
11218
f329eda7
CW
112192011-03-28 Colin Watson <cjwatson@debian.org>
11220
11221 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
11222 to be specific about what kind of RAID device we're scanning for.
11223
c482ad98
SG
112242011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
11225
11226 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
11227 return freed string.
11228
5ee04984
VS
112292011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11230
11231 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
11232
f4727da9
VS
112332011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11234
11235 Use libgeom on FreeBSD to detect partitions.
11236
11237 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
11238 (grub-mkrelpath): Likewise.
11239 (grub-script-check): Likewise.
11240 (grub-editenv): Likewise.
11241 (grub-mkpasswd-pbkdf2): Likewise.
11242 (grub-fstest): Likewise.
11243 (grub-mkfont): Likewise.
11244 (grub-mkdevicemap): Likewise.
11245 (grub-probe): Likewise.
11246 (grub-setup): Likewise.
11247 (grub-ofpathname): Likewise.
11248 (grub-mklayout): Likewise.
11249 (example_unit_test): Likewise.
11250 (grub-menulst2cfg): Likewise.
11251 * grub-core/Makefile.core.def (grub-emu): Likewise.
11252 (grub-emu-lite): Likewise.
11253 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
11254 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
11255 define HAVE_DIOCGDINFO.
11256 (follow_geom_up) [FreeBSD]: New function.
11257 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
11258 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
11259 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
11260 unconditionally of HAVE_DIOCGDINFO.
11261
82fe6c75
VS
112622011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11263
11264 Fix FreeBSD compilation problem.
11265
11266 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
11267 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
11268
4c6c9431
CW
112692011-03-24 Colin Watson <cjwatson@ubuntu.com>
11270
11271 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
11272 Switch back to page zero before loading a kernel, since some kernel
11273 drivers expect that.
11274 Thanks to: Felix Kuehling.
11275
c7064d94
VS
112762011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11277
11278 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
11279 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
11280 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
11281
3f71cded
VS
112822011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11283
11284 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
11285 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
11286
ef6de21a
VS
112872011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11288
11289 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
11290 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
11291 malloc is disabled.
11292
8bc66a2c
VS
112932011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11294
11295 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
11296 for modules headers when counting the needed allocation size.
11297
5657722c
VS
112982011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11299
11300 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
11301 if no ASCII character is found to prevent crash.
11302
41a85f55
AK
113032011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
11304
11305 * grub-core/video/bitmap.c (match_extension): Ignore case.
11306
59e1e5f1
VS
113072011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11308
11309 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
11310
bd4d051a
VS
113112011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11312
11313 * grub-core/script/parser.y: Declare "time" as valid argument.
11314
bae7fcc1
PJ
113152011-03-23 Peter Jones <pjones@redhat.com>
11316
11317 Fix incorrect assert failure reporting.
11318
11319 * grub-core/tests/example_functional_test.c (example_test): Add
11320 a failure comment.
11321 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
11322 (failure_start): ...this. Check that malloc succeeded.
11323 Don't call xvasprintf. Return failure struct.
11324 (failure_append_vtext): New function.
11325 (failure_append_text): Likewise.
11326 (add_failure): Likewise.
11327 (grub_test_assert_helper): Likewise.
11328 * include/grub/test.h (grub_test_assert_helper): New declaration.
11329 (grub_test_assert): Macro rewritten.
11330
537dc9be
VS
113312011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11332
11333 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
11334
fa3e01bf
VS
113352011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11336
11337 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
11338
b1d28404
VS
113392011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11340
11341 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
11342 into GRUB-style one.
11343
2e3e2e09
VS
113442011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11345
11346 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
11347 error and not grub_errno.
11348 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
11349
ed57e557
VS
113502011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11351
11352 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
11353 GRUB_USB_SPEED_NONE in case of failure and not the error code.
11354
d1611f01
VS
113552011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11356
11357 * grub-core/efiemu/i386/pc/cfgtables.c
11358 (grub_machine_efiemu_init_tables): Make declaration a prototype.
11359 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
11360 (grub_xnu_unlock): Likewise.
11361 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
11362
7d4e39d6
VS
113632011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11364
11365 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
11366 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
11367 * grub-core/commands/hashsum.c (aliases): Likewise.
11368 * grub-core/commands/setpci.c (pci_registers): Likewise.
11369 * grub-core/disk/usbms.c (attach_hook): Likewise.
11370 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
11371 (zio_checksum_table): Likewise.
11372 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
11373 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
11374 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
11375 * grub-core/lib/relocator.c (leftovers): Likewise.
11376 (extra_blocks): Likewise.
11377 * grub-core/loader/i386/bsd.c (relocator): Likewise.
11378 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
11379 (modules_last): Likewise.
11380 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
11381 (devices): Likewise.
11382 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
11383 (modules_last): Likewise.
11384 * grub-core/normal/auth.c (users): Likewise.
11385 * grub-core/normal/context.c (initial_menu): Likewise.
11386 (current_menu): Likewise.
11387 * grub-core/normal/crypto.c (crypto_specs): Likewise.
11388 * grub-core/term/serial.c (grub_serial_ports): Likewise.
11389 (grub_serial_terminfo_input_template): Likewise.
11390 (grub_serial_terminfo_output_template): Likewise.
11391 (grub_serial_terminfo_input): Likewise.
11392 (grub_serial_terminfo_output): Likewise.
11393 (registered): Likewise.
11394 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
11395
40fc4659
VS
113962011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11397
11398 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
11399 grub_video_mode_type_t.
11400 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
11401 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
11402 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
11403
2da48d28
VS
114042011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11405
11406 * util/grub-install.in: Correct the x86-64 name as x86_64.
11407
9b43bf39
CW
114082011-03-11 Colin Watson <cjwatson@ubuntu.com>
11409
11410 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
11411 initial chunk read from the kernel always includes GRUB's multiboot
11412 header, which is now outside the first sector.
11413
be1a7ce0
CW
114142011-03-09 Colin Watson <cjwatson@ubuntu.com>
11415
11416 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
11417 cached mmap_size, so that this works correctly when called multiple
11418 times.
11419 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
11420
83a3c48d
CW
114212011-03-09 Colin Watson <cjwatson@ubuntu.com>
11422
11423 * docs/grub.texi (Simple configuration): Tidy up formatting.
11424
57d75699
SJ
114252011-03-07 Szymon Janc <szymon@janc.net.pl>
11426
11427 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
11428 Set-but-not-used variable removed.
11429
028501a0
VS
114302011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11431
11432 Workaround yet another IEEE1275 bug.
11433
11434 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
11435 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
11436 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
11437 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
11438 is set.
11439 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
11440 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
11441
d998657d
VS
114422011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11443
11444 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
11445 error.
11446
fee7cdd4
CW
114472011-02-11 Colin Watson <cjwatson@ubuntu.com>
11448
11449 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
11450 empty, since in that case we can only generate either nothing or a
11451 syntactically invalid configuration file.
11452 Reported by: Michal Suchanek. Fixes Debian bug #612898.
11453
97286eb5
CW
114542011-02-09 Colin Watson <cjwatson@ubuntu.com>
11455
11456 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
11457 (Making a GRUB bootable CD-ROM): Likewise.
11458 (Invoking grub-mkrescue): New section.
11459 Reported by: Yann Dirson. Fixes Debian bug #612585.
11460
22b28eb3
CW
114612011-02-09 Colin Watson <cjwatson@ubuntu.com>
11462
11463 * util/grub-install.in: Remove unnecessary brackets from tr
11464 arguments.
11465 * util/grub.d/10_hurd.in: Likewise.
11466 * util/grub.d/10_kfreebsd.in: Likewise.
11467 * util/grub.d/10_linux.in: Likewise.
11468 * util/grub.d/20_linux_xen.in: Likewise.
11469 Reported by: Jamie Heilman. Fixes Debian bug #612564.
11470
7e735e43
CW
114712011-02-08 Colin Watson <cjwatson@ubuntu.com>
11472
11473 * include/grub/file.h (not_easly_seekable): Rename to ...
11474 (not_easily_seekable): ... this. Update all users.
11475
800f1881
CW
114762011-01-28 Colin Watson <cjwatson@ubuntu.com>
11477
11478 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
11479 grub-mkrescue.
11480
3281d3d6
VS
114812011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
11482
11483 * util/grub-mkimage.c (generate_image): Refuse to create the images
11484 bigger than the actual flash (512K) in Loongson machines. 512K is also
11485 the biggest chip supported by them.
11486
3533413c
VS
114872011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11488
11489 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
11490
73ae4f4f
VS
114912011-01-22 Anthony DeRobertis <anthony@derobert.net>
11492
11493 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
11494 super_offset field.
11495
37f4f608
VS
114962011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11497
11498 * util/grub-install.in: Ignore install device on platforms
11499 where it doesn't make sense. Always use UUIDs except on pc, efi and
11500 sparc64.
11501 Reported by: Daniel Kahn Gillmor.
11502
03a4ccb5
VS
115032011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11504
11505 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
11506
ffc8f4d8
VS
115072011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11508
11509 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
11510 (iterate_real): Don't rely on partition being non-NULL.
11511
80f23be7
VS
115122011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11513
11514 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
11515 supported platforms. Put a compile time assert for this rather than
11516 generate a warning with 32-bit shift.
11517
5d4f4dd5
VS
115182011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11519
11520 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
11521 logical expression more readable.
11522
e489601a
VS
115232011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
11524
11525 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
11526 even if some elements have a name.
11527 Reported by: Alexander GQ Gerasiov.
11528
96e0a6ea
CW
115292011-01-22 Colin Watson <cjwatson@ubuntu.com>
11530
11531 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
11532 path unreadable if `grub-probe -t abstraction' fails, for example if
11533 memberlist fails on an LVM volume group.
11534 Reported by: Darius Jahandarie.
11535
81431e2b
CW
115362011-01-22 Colin Watson <cjwatson@ubuntu.com>
11537
11538 * docs/grub.texi (Simple configuration): Document
11539 GRUB_PRELOAD_MODULES.
11540
5e79d66a
CW
115412011-01-17 Colin Watson <cjwatson@ubuntu.com>
11542
11543 * .bzrignore: Remove nonexistent grub-pbkdf2.
11544
646ada34
VS
115452011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
11546
11547 * configure.ac: Bump version to 1.99~rc1.
11548
04360337
VS
115492011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11550
11551 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
11552 for safety.
11553
46c9db88
VS
115542011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11555
11556 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
11557 module.
11558
115592011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
11560
11561 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
11562
4fbf1852
VS
115632011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11564
11565 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
11566 diskdevid.
11567
f1632d4d
VS
115682011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11569
11570 Fix compilation on cygwin.
11571
11572 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
11573 -R .drectve on cygwin.
11574 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
11575 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
11576 (COND_CYGWIN): New condition.
11577 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
11578 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
11579 not @TARGET_OBJ2ELF@.
11580 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
11581 type to determine whether aux is to be used.
11582
0b5e127b
VS
115832011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11584
11585 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
11586 realpath'ed device string.
11587 Handle floppy (somewhat).
11588 Issue error in unknown case rather than garbage.
11589 Reported by: Axel Beckert.
11590
173b71e9
VS
115912011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11592
11593 * util/grub.d/00_header.in (load_video): Handle the case when no video
11594 drivers available.
11595 Thanks to: Axel Beckert.
11596
f8f479db
VS
115972011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11598
11599 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
11600 variable. Fixes problem on big endian platforms.
11601
8fc0a245
VS
116022011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11603
11604 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
11605 It doesn't work well there.
11606
b8494fbe
VS
116072011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11608
11609 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
11610 warning.
11611 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
11612 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
11613 counter.
11614
b44a558c
VS
116152011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11616
11617 Use alias->path rather than buggy "canon".
11618
11619 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
11620 (ofdisk_hash_add): New argument curcan. All users updated.
11621
51fa856c
CW
116222011-01-11 Colin Watson <cjwatson@ubuntu.com>
11623
11624 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
11625
9da068a5
VS
116262011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11627
11628 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
11629 loadmask before doing any calculations. Use correct type for offset.
11630 (grub_linux_load64): Likewise.
11631
86205c94
CW
116322011-01-11 Colin Watson <cjwatson@ubuntu.com>
11633
11634 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
11635 with NULL.
11636 (console_grub_equivalences_unshift): Likewise.
11637 Reported by: Daniel Dehennin.
11638
4531a206
VS
116392011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11640
11641 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
11642 (set_env_limn_ro): Likewise.
11643 (GRUB_MOD_INIT): Likewise.
11644 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
11645 ARRAY_SIZE while on it.
11646 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
11647 * grub-core/normal/context.c (grub_env_export): Move from here ...
11648 * grub-core/kern/env.c (grub_env_export): ... here.
11649 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
11650 prefix.
11651 * grub-core/kern/main.c (grub_main): Export root and prefix.
11652 * include/grub/env.h (grub_env_export): Export.
11653 Reported by: Seth Goldberg.
11654
45146057
VS
116552011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11656
11657 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
11658 Take into account space used by ELF sections and multiboot palette.
11659 Reported by: Grégoire Sutre.
11660
f093110b
VS
116612011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
11662
11663 * BUGS: New file.
11664
3395fe52
VS
116652011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11666
11667 Pass more appropriate video id to Linux.
11668
11669 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
11670 grub_video_get_driver_id and variable gfxpayloadforcelfb to
11671 fill have_vga.
11672 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
11673 shift params->lfb_size.
11674 * include/grub/i386/linux.h: Make an enume out of have_vga values.
11675
c2fa6cbb
VS
116762011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11677
11678 * util/grub-menulst2cfg.c: Add missing include of misc.h.
11679
b3ff6ff0
VS
116802011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11681
11682 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
11683 separator and pass bootpath/devid even if only one of them is available.
11684 Reported by: Seth Goldberg.
11685
ae67942e
VS
116862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11687
11688 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
11689 implementations bug on them.
11690
11691 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
11692 memory.
11693 (filter_memory_map): Likewise.
11694
d570097a
VS
116952011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11696
11697 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
11698 Reported by: nebuchadnezzar.
11699
a508e776
VS
117002011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
11703 Reported by: nebuchadnezzar.
11704
dcb883b1
VS
117052011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11706
11707 Submenu default support.
11708
11709 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
11710 auto_boot. All users updated.
11711 Declared static.
11712 Handle chosen and default with submenus.
11713 (grub_menu_execute_with_fallback): Declared static.
11714 Don't notify failure if autobooted. Upper level does it.
11715 (menuentry_eq): New function.
11716 (get_entry_number): Use menuentry_eq.
11717 (show_menu): New parameter "autobooted". All users updated.
11718 (grub_show_menu): Likewise.
11719 * include/grub/normal.h (grub_show_menu): Likewise.
11720 * include/grub/menu.h (grub_menu_execute_entry): Removed.
11721 (grub_menu_execute_with_fallback): Likewise.
11722
6fef99b4
VS
117232011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11724
11725 * util/grub-mklayout.c (usage): Update help text.
11726
47a77af5
VS
117272011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11728
11729 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
11730
ce6bb3ee
VS
117312011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11732
11733 * util/grub-menulst2cfg.c (main): Trim the line.
11734
db87be2a
VS
117352011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11736
11737 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
11738 (grub_machine_init): Don't check amount of low memory as reportedly
11739 INT 12h can be broken and if low memory is too low we wouldn't have
11740 gotten into grub_machine_init anyway.
11741
c49849cc
VS
117422011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11743
11744 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
11745 (grub_machine_mmap_iterate): Take low memory into account
11746
b1969b30
VS
117472011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11748
11749 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
11750 badfs.
11751 Reported by: TiCPU.
11752
cf0eaf13
VS
117532011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11754
11755 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
11756 members errors.
11757
1f060f39
GS
117582011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
11759
11760 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
11761 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
11762
a21e5672
GS
117632011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
11764
11765 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
11766 openbsd and netbsd types being in part_bsd module.
11767
c88172fa
VS
117682011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11769
11770 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
11771 (_FILE_OFFSET_BITS): Likewise.
11772 Reported by: Seth Goldberg.
11773
53798c4b
GS
117742011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11775
11776 * configure.ac: Check for libdevmapper header.
11777
e7121b69
VS
117782011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11779
11780 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
11781 avoid aliasing.
11782 (fzap_lookup): Likewise.
11783 (dnode_get): Likewise.
11784 (make_mdn): Likewise.
11785 (zfs_mount): Likewise.
11786 (fzap_iterate): Use temporary pointer to avoid aliasing.
11787 (grub_zfs_read): Likewise.
11788 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
11789 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
11790 pointers to avoid aliasing.
11791 (grub_cmd_xnu_kernel64): Likewise.
11792 (grub_xnu_load_driver): Likewise.
11793
fc836af9
VS
117942011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11795
11796 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
11797 aliasing warning.
11798 (grub_cmd_terminal_output): Likewise.
11799 Reported and tested by: Grégoire Sutre.
11800
f9f37648
VS
118012011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11802
11803 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
11804 warning.
11805 Reported and tested by: Grégoire Sutre.
11806
ec1dfd63
VS
118072011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11808
11809 * configure.ac: Do CPU substitution even if it's specified explicitly.
11810 Reported and tested by: Alain Greppin.
11811
9462775a
VS
118122011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11813
11814 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
11815 Reported and tested by: Alain Greppin.
11816
0fd48e35
VS
118172011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11818
11819 Satisfy some bison versions need for inttypes.h.
11820
11821 * grub-core/lib/posix_wrap/inttypes.h: New file.
11822 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
11823 (int16_t): Likewise.
11824 (int32_t): Likewise.
11825 (int64_t): Likewise.
11826 Reported and tested by: Alain Greppin.
11827
43f1bc83
VS
118282011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
11829
11830 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
11831 Silence spurious warning.
11832 Reported and tested by: Alain Greppin.
11833
64d1f041
SJ
118342011-01-07 Szymon Janc <szymon@janc.net.pl>
11835
11836 * docs/grub.texi (Support automatic decompression): Update with xz
11837 decompression support.
11838
25953e10
SJ
118392011-01-07 Szymon Janc <szymon@janc.net.pl>
11840
11841 Improve loaders' kernel command line handling.
11842
11843 * grub-core/lib/cmdline.c: New file.
11844 * include/grub/lib/cmdline.h: Likewise.
11845 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
11846 grub_create_loader_cmdline to create kernel command line.
11847 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11848 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
11849 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
11850 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
11851 (linux): Add lib/cmdline.c on common.
11852
e72d259f
VS
118532011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11854
11855 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
11856 inopos might be unaligned.
11857
c0cf26da
VS
118582011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11859
11860 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
11861 endian transformations.
11862 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11863 Based on report by: Doug Nazar.
11864
0ca09e6c
DN
118652011-01-07 Doug Nazar <nazard.michi@gmail.com>
11866
11867 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
11868 array->members[i].start_sector.
11869 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
11870
014b6806
VS
118712011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11872
11873 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
11874 Reported and tested by: Grégoire Sutre.
11875
415502c2
CW
118762011-01-06 Colin Watson <cjwatson@ubuntu.com>
11877
11878 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
11879 avoid causing test failures by clearing the screen.
11880
71b6a2b7
CW
118812011-01-06 Colin Watson <cjwatson@ubuntu.com>
11882
11883 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
11884 Fix prefix check to handle the case where dir ends with a slash
11885 (most significantly, "/" itself).
11886 Reported by: Michael Vogt.
11887
b3f8d28a
VS
118882011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11889
11890 Run terminfo_cls on initing terminfo output to clear the screen and
11891 move the cursor to (0,0).
11892
11893 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
11894 Call grub_terminfo_output_init.
11895 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
11896 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
11897 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
11898
4c3e4f37
VS
118992011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11900
11901 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
11902 only when needed.
11903
488f71f1
VS
119042011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11905
11906 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
11907 CTRL.
11908
18a38098
VS
119092011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
11910
11911 The E820 type 5 is BADRAM, not EXEC_CODE.
11912
11913 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
11914 (GRUB_E820_BADRAM): New define.
11915 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
11916 into reserved. Propagate BADRAM.
11917 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
11918 (GRUB_E820_BADRAM): New define.
11919
9eae2084
VS
119202011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11921
11922 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
11923 Ignore the memory post-4G.
11924 (grub_relocator_firmware_alloc_region): Additional debug statement.
11925
ebc71d28
VS
119262011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11927
11928 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
11929 names.
11930 Reported by: David Pravec.
11931
446fa400
VS
119322011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11933
11934 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
11935 BIOSes.
11936
a0159f37
VS
119372011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11938
11939 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
11940 Prevent overflow.
11941 (grub_reed_solomon_recover): Likewise.
11942
e5146ca1
VS
119432011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11944
11945 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
11946
119472011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
11948
11949 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
11950 variable.
11951
5b1bdf12
CW
119522011-01-04 Colin Watson <cjwatson@ubuntu.com>
11953
11954 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
11955 descriptions of extract_legacy_entries_source and
11956 extract_legacy_entries_configfile.
11957 Reported by: Seung Soo, Ha.
11958
99d925aa
CW
119592011-01-03 Colin Watson <cjwatson@ubuntu.com>
11960
11961 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
11962 on devices that do not implement function 0.
11963
4af0504b
DV
119642011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
11965
11966 * grub-core/fs/hfsplus.c: Make parent unsigned.
11967 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
11968 overflows.
11969 (grub_hfsplus_cmp_extkey): Likewise
11970
469ee10a
VS
119712011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
11972
11973 * util/grub-install.in: Correctly use bootloader_id and not
11974 GRUB_DISTRIBUTOR on efibootmgr line.
11975
323a8e9c
VS
119762011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
11977
11978 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
11979
1b394975
IC
119802010-12-31 Ian Campbell <ijc@hellion.org.uk>
11981
11982 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
11983 Xen and reorder menu item wording to make it clearer that this entry
11984 will launch Xen. Print separate messages when loading Xen and
11985 Linux.
11986
275bff5f
VS
119872010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11988
11989 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
11990 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
11991 loop in case of incorrect amiga partmap.
11992
307806cb
VS
119932010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
11994
11995 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
11996 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
11997 Reported by:EHeM.
11998
b12b923e
VS
119992010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12000
12001 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
12002 spurious warning.
12003 Reported by: crocket
12004
14b48a19
VS
120052010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12006
12007 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
12008 Preload EFIemu.
12009 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
12010
693db2df
VS
120112010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12012
12013 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
12014 is loaded
12015 (grub_cmd_xnu_kextdir): Likewise.
12016 (grub_cmd_xnu_splash): Likewise.
12017
c7638645
VS
120182010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12019
12020 Avoid using Reed-Solomon with 0 redundancy.
12021
12022 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
12023 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
12024 or 0 redundancy.
12025 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
12026 (grub_reed_solomon_recover): Likewise.
12027
25dd4780
VS
120282010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12029
12030 Don't use disk subsystem in freebsd_boot.
12031
12032 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
12033 (freebsd_biosdev): Likewise.
12034 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
12035 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
12036
0b2db943
VS
120372010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12038
12039 Handling of files of unknown size is currently limited. They can't be
12040 used e.g. for initrd or modules. Moreover gzip handling of not
12041 easily seekable files is buggy. Disable unknown file size for now. May
12042 be inefficient but works.
12043
12044 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
12045 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
12046
5c408d0f
MP
120472010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
12048
12049 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
12050 floppy probe.
12051
190a011a
JD
120522010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
12053
12054 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
12055
022d01b8
SL
120562010-12-25 Shea Levy <shlevy>
12057
12058 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
12059
c4855fdc
VS
120602010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12061
12062 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
12063 Windows Server 2008.
12064 Reported by: Devin Giddings.
12065
0354b867
VS
120662010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12067
12068 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
12069 writing an error message because of async power management.
12070 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
12071 (grub_reboot): Likewise.
12072
ab66c69f
JU
120732010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
12074
12075 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
12076 keep unit tests from failing when they shouldn't.
12077
1426ef35
CW
120782010-12-21 Colin Watson <cjwatson@ubuntu.com>
12079
12080 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
12081 previous patch increased the size of the RS code by 20 bytes (at
12082 least with gcc-4.4), so increase this by 20 bytes to match.
12083 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12084
20641b6b
CW
120852010-12-21 Colin Watson <cjwatson@ubuntu.com>
12086
12087 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
12088 scratch area. Make sure to initialise chosen in standalone mode as
12089 well as non-standalone.
12090 Reported by: Robert Hooker and Andy Whitcroft.
12091 Tested by: Andy Whitcroft.
12092
d060ad60
CW
120932010-12-21 Colin Watson <cjwatson@ubuntu.com>
12094
12095 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
12096 constructing a new unescaped string and passing it to grub_xputs in
12097 one go, rather than passing characters to grub_printf one at a time.
12098
b889cfad
CW
120992010-12-21 Colin Watson <cjwatson@ubuntu.com>
12100
12101 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
12102 initialising utf16.
12103
4e01b6c8
CW
121042010-12-21 Colin Watson <cjwatson@ubuntu.com>
12105
12106 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
12107 comment. Add an extra layer of quotation, requiring the output of
12108 this function to be used in a printf format string.
12109 (gettext_printf): New function.
12110 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
12111 Extract translatable strings from here-documents and use a temporary
12112 variable instead, so that xgettext can find them.
12113 * util/grub.d/10_kfreebsd.in: Likewise.
12114 * util/grub.d/10_linux.in: Likewise.
12115 * util/grub.d/20_linux_xen.in: Likewise.
12116
12117 * po/grub.d.sed: New file.
12118 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
12119 arguments. Set c-format flags on all strings extracted from
12120 util/grub.d/ (xgettext refuses to include these itself for strings
12121 it extracted from a shell file, but these really are c-format).
12122
5318fe98
VS
121232010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12124
12125 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
12126 Avoid next pointing to nowhere.
12127
6c85b743
VS
121282010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12129
12130 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
12131 rather than assuming than rootblock is exactly in the middle.
12132 (grub_affs_label): Likewise.
12133
a2a08a35
VS
121342010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12135
12136 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
12137 reserved_first_sector to 0.
12138 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
12139 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
12140 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
12141
7059d1ec
VS
121422010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12143
12144 Fix handling of UTF-16 UDF labels.
12145
12146 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
12147 (read_string): .. here.
12148 (grub_udf_label): Use read_string.
12149
30aff4cb
BC
121502010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
12151
12152 * grub-core/normal/menu_entry.c (run): Execute commands from menu
12153 editor under argument scope.
12154 Reported by: Jordan Uggla
12155
5cf86f4b
VS
121562010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12157
12158 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
12159
32570200
CW
121602010-12-18 Colin Watson <cjwatson@ubuntu.com>
12161
12162 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
12163 line, and other keys scroll an entire page (previous handling was
12164 for \r and \n to scroll a page and other keys to scroll two lines).
12165
e1dffcf2
VS
121662010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12167
12168 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12169 Set ptrdest to correct get_physical_target_address rather than
12170 incorrect get_virtual_current_address.
12171
b04298cf 121722010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
12173
12174 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
12175 correct cat to grub_uint8_t * rather than grub_uint32_t *.
12176
5367ecd3
CW
121772010-12-10 Colin Watson <cjwatson@ubuntu.com>
12178
12179 * .bzrignore: Ignore grub-core/rs_decoder.S.
12180
1fb430f8
CW
121812010-12-10 Colin Watson <cjwatson@ubuntu.com>
12182
12183 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
12184 .mo/.mo.gz opening sequence to ...
12185 (grub_mofile_open_lang): ... here.
12186 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
12187 * util/grub.d/00_header.in (grub_lang): Include country part of
12188 locale.
12189 Reported by: Mario Limonciello.
12190
a94a6671
RM
121912010-12-09 Robert Millan <rmh@gnu.org>
12192
12193 * NEWS: Document addition of ZFS support.
12194
24b7938b
CW
121952010-12-04 Colin Watson <cjwatson@ubuntu.com>
12196
12197 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
12198 rather than `/ 2', as the latter requires -Wa,--divide which would
12199 require bumping our minimum binutils version.
12200
bddc3ef6
BC
122012010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
12202
12203 * util/grub-script-check.c (main): Print script line number on
12204 error.
12205
bf78d5b2
RM
122062010-12-01 Robert Millan <rmh@gnu.org>
12207
12208 * grub-core/fs/zfs/zfs.c: New file.
12209 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
12210 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
12211 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
12212 * grub-core/fs/zfs/zfsinfo.c: Likewise.
12213
12214 * include/grub/zfs/dmu.h: Likewise.
12215 * include/grub/zfs/dmu_objset.h: Likewise.
12216 * include/grub/zfs/dnode.h: Likewise.
12217 * include/grub/zfs/dsl_dataset.h: Likewise.
12218 * include/grub/zfs/dsl_dir.h: Likewise.
12219 * include/grub/zfs/sa_impl.h: Likewise.
12220 * include/grub/zfs/spa.h: Likewise.
12221 * include/grub/zfs/uberblock_impl.h: Likewise.
12222 * include/grub/zfs/vdev_impl.h: Likewise.
12223 * include/grub/zfs/zap_impl.h: Likewise.
12224 * include/grub/zfs/zap_leaf.h: Likewise.
12225 * include/grub/zfs/zfs.h: Likewise.
12226 * include/grub/zfs/zfs_acl.h: Likewise.
12227 * include/grub/zfs/zfs_znode.h: Likewise.
12228 * include/grub/zfs/zil.h: Likewise.
12229 * include/grub/zfs/zio.h: Likewise.
12230 * include/grub/zfs/zio_checksum.h: Likewise.
12231
12232 * Makefile.util.def: Build ZFS into libgrubmods.
12233 * grub-core/Makefile.core.def: Build zfs.mod.
12234
3f0f3831
SJ
122352010-11-30 Szymon Janc <szymon@janc.net.pl>
12236
12237 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
12238 variable.
12239 * grub-core/commands/wildcard.c (match_files): Likewise.
12240
3a4253b2
RM
122412010-11-30 Robert Millan <rmh@gnu.org>
12242
12243 * grub-core/loader/i386/bsd.c
12244 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
12245 whether kernel is loaded using grub_loader_is_loaded(), rather
12246 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
12247 certain error conditions.
12248
8c317b27
RM
122492010-11-30 Robert Millan <rmh@gnu.org>
12250
c5c9cd3e
RM
12251 * grub-core/commands/echo.c: Include `<grub/term.h>'.
12252 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 12253
49d3ab46
VS
122542010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
12255
12256 Avoid using tricks for initialising endian variables.
12257
12258 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
12259 Make const.
12260 (GRUB_MOD_INIT): Don't byte-swap.
12261 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
12262 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
12263 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
12264 (grub_swap_bytes32_compile_time): Likewise.
12265 (grub_cpu_to_le32_compile_time): Likewise.
12266 (grub_cpu_to_le16_compile_time): Likewise.
12267
f420a804
VS
122682010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
12269
12270 * util/grub-setup.c (setup): Stop recommending --force. People who
12271 understand the dangers of blocklists are able to find this option
12272 anyway and the ones who don't shouldn't use it anyway.
12273
4e7db17b
RM
122742010-11-26 Robert Millan <rmh@gnu.org>
12275
12276 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
12277 Update all users.
12278
9be57a0d
CW
122792010-11-26 Colin Watson <cjwatson@ubuntu.com>
12280
12281 Fix LVM-on-RAID probing.
12282
12283 * util/grub-probe.c (probe): Remember which disk was detected as
12284 RAID (perhaps an LVM physical volume). Use that disk's raidname
12285 rather than that of the top-level disk.
12286
2c7859b3 122872010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 12288
d7647bb6
BC
12289 Fix cmdline argument quotes for setparams command of menuentry
12290 definitions.
7e623b0d
BC
12291
12292 * grub-core/commands/menuentry.c (setparams_prefix): Use single
12293 quotes for arguments.
f866fe80 12294 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 12295 grub_strchrsub function instead.
f866fe80 12296
7955bea0 12297 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 12298
74f72a64
CW
122992010-11-24 Colin Watson <cjwatson@ubuntu.com>
12300
12301 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
12302 effort by skipping "." and ".." entries up-front.
12303 Suggested by: Michael Lazarev.
12304
5a407278
CW
123052010-11-24 Colin Watson <cjwatson@ubuntu.com>
12306
12307 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
12308 ldflags to ldadd, to fix link line ordering.
12309 (none_decompress): Likewise.
12310
3030d8ec
CW
123112010-11-24 Colin Watson <cjwatson@ubuntu.com>
12312
12313 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
12314 platforms.
12315 (grub-emu-lite): Remove kern/emu/cache.S.
12316
b7fbac12
CW
123172010-11-23 Colin Watson <cjwatson@ubuntu.com>
12318
12319 * util/deviceiter.c (compare_devices): If the by-id link for a
12320 device couldn't be resolved, fall back to sorting by the by-id link
12321 rather than segfaulting.
12322 Reported and tested by: Daniel Mierswa.
12323
5225f328
CW
123242010-11-23 Colin Watson <cjwatson@ubuntu.com>
12325
12326 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
12327 ldflags, to fix link line ordering.
12328
038b3ce8
CW
123292010-11-23 Colin Watson <cjwatson@ubuntu.com>
12330
12331 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
12332 linkers are picky about this.
12333
bf16e98e
CW
123342010-11-23 Colin Watson <cjwatson@ubuntu.com>
12335
12336 * grub-core/Makefile.am (command.lst): Adjust sed expression
12337 ordering so that extended and priority commands aren't treated as
12338 ordinary commands.
12339
7242bab6
CW
123402010-11-23 Colin Watson <cjwatson@ubuntu.com>
12341
12342 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
12343 Remove byte-swapping function calls, which are not valid in
12344 structure initialisers.
12345 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
12346 non-const.
12347 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
12348 grub_gpt_partition_type_bios_boot.
12349
14e8b279
CW
123502010-11-22 Colin Watson <cjwatson@ubuntu.com>
12351
12352 Fix test program build on GNU/kFreeBSD.
12353
12354 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
12355 $(LIBNVPAIR)' library dependencies.
12356
e6f63338 123572010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
12358
12359 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
12360
cf8ffc38
CW
123612010-11-22 Colin Watson <cjwatson@ubuntu.com>
12362
12363 * util/grub-install.in: Remove excessive quoting that broke
12364 installations to RAID devices.
12365
7f8b0fd7
VS
123662010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
12367
12368 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
12369 bootloader version instead of 0.
12370
dfd240b1
VS
123712010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
12372
12373 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
12374 warning.
12375
7b61e609
VS
123762010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
12377
12378 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
12379 retrieve the metadat sector if size isn't known.
12380 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12381
9dfe92d0
RM
123822010-11-18 Robert Millan <rmh@gnu.org>
12383
12384 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
12385 with grub_memcmp().
12386
41cc919e
VS
123872010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
12388
12389 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
12390 arrow.
12391 Reported by: Jordan Uggla.
12392
1afcc914
VS
123932010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12394
12395 Make better UTF compliant.
12396
12397 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
12398 sequences as incorrect.
12399 (grub_is_valid_utf8): Likewise.
12400 (grub_utf8_to_ucs4): Likewise.
12401 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
12402 (grub_ucs4_to_utf8_alloc): Likewise.
12403 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
12404
f1808884
VS
124052010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12406
12407 Make legacy_source behave like source.
12408
12409 * grub-core/commands/legacycfg.c (legacy_file): Don't call
12410 grub_show_menu.
12411 (grub_cmd_legacy_source): Call grub_show_menu if needed.
12412
24ec575b
CW
124132010-11-16 Colin Watson <cjwatson@debian.org>
12414
12415 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
12416 (-Wunused implies -Wunused-parameter, but not vice versa).
12417
72b7c7aa
CW
124182010-11-16 Colin Watson <cjwatson@ubuntu.com>
12419
12420 * configure.ac: Make error messages less confusing by testing for
12421 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
12422 accepted, but produces a diagnostic if something else is wrong).
12423
e98937aa
VS
124242010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
12425
12426 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
12427 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
12428 (now unused).
12429 (grub_keyboard_controller_init)
12430 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
12431 read the initial state since controller isn't inited yet.
12432
f6bbabc3
VS
124332010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
12434
12435 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
12436 allocate_regbeg may need to create new chunk header.
12437
22e7dbb2
VS
124382010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12439
12440 Fix quoting in legacy parser.
12441
12442 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
12443 single quotes.
12444 (grub_legacy_parse): Likewise.
12445 Reported by: Jordan Uggla.
12446 Tested by: Jordan Uggla.
12447
03f80960
VS
124482010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12449
12450 Don't add -lgcc on i386 and x86_64.
12451
12452 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
12453 * conf/Makefile.common (LDADD_KERNEL): Likewise.
12454 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
12455
779dc15b
VS
124562010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12457
12458 * configure.ac: Add -Wno-trampolines when supported.
12459
d20a3b37
MV
124602010-11-14 Modestas Vainius <modax@debian.org>
12461
12462 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
12463 fakeraid.
12464
e5360933
GC
124652010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
12466
12467 Add generic logical block size support for UDF.
12468
12469 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
12470 (GRUB_UDF_BLKSZ): Removed.
12471 (struct grub_udf_data): New field "lbshift" to hold the logical block
12472 size of the file system in log2 format. All users updated.
12473 (sblocklist): Change type to unsigned.
12474 (grub_udf_mount): Change type of "sblklist" to unsigned.
12475 Move AVDP search before VRS recognition, because the latter requires
12476 knowledge of the logical block size, which is detected during the
12477 former.
12478 Detect and validate logical block size during AVDP search, adding
12479 support for block sizes 512, 1024 and 4096.
12480 Make VRS recognition independent of block size.
12481
cb0229c5
GC
124822010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
12483
12484 Properly handle deleted files on UDF.
12485
12486 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
12487 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
12488 set.
12489
406858a8
GC
124902010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
12491
12492 Support reading files larger than 2 GiB.
12493
12494 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
12495 "offset" to grub_off_t.
12496 (grub_udf_read_file): Likewise for parameter "pos".
12497
130da6a7
VS
124982010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12499
12500 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
12501 unavailable.
12502 (Simple configuration): Refer to Changes from GRUB Legacy about
12503 save_env availability.
12504
65e93f6b
VS
125052010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12506
12507 * util/grub-install.in: Ignore empty partition table detection
12508 instead of trying to include part_ module.
12509
1fd08bf1
VS
125102010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12511
12512 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
12513 LVM on RAID support.
12514
de1a024f
VS
125152010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
12516
12517 Properly define WORDS_BIGENDIAN in wrapped environments.
12518
12519 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
12520 definition.
12521 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
12522
12523 Reported by: Manoel Rebelo Abranches.
12524 Tested by: Manoel Rebelo Abranches.
12525
bc5dd0b9
VS
125262010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12527
12528 * util/grub-mkconfig.in: Fix quoting.
12529
58c184be
VS
125302010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12531
12532 Support big ext2 files.
12533
12534 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
12535 (grub_ext2_read_block): Support triple indirect blocks.
12536 (grub_ext2_read_file): Use 64-bit types and read size_high.
12537 (grub_ext2_open): Read size_high.
12538 Reported by: Ximin Luo.
12539 Tested by: Manoel Rebelo Abranches.
12540
5f0c02b3
VS
125412010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12542
12543 * util/grub-install.in: Handle filenames containing spaces.
12544 Reported by: Jordan Uggla.
12545 Tested by: Jordan Uggla.
12546
4417aae6
VS
125472010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12548
12549 * util/grub-mkconfig.in (grub_script_check): New variable.
12550 Use grub_script_check instead of grub-script-check.
12551 Reported by: Barry Jackson.
12552
7625a68e
VS
125532010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
12554
12555 * docs/grub.texi (menu): Correct the order.
12556 Reported by: D. Hugh Redelmeier.
12557
10001ac5
VS
125582010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12559
12560 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
12561 jump.
12562
9c4cf53b
MRA
125632010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
12564
10001ac5
VS
12565 * include/grub/elfload.h (grub_elf32_size): New parameter.
12566 All users updated.
9c4cf53b
MRA
12567 Return maximum segments alignment.
12568 (grub_elf64_size): Likewise.
12569 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
12570 Return maximum segments alignment.
12571 (grub_elf64_size): Likewise.
12572 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
12573 (grub_linux_claimmap_iterate): New function. Uses the
12574 "available" property in the "memory" node for memory allocation
12575 for kernel in the PowerPC loader.
9c4cf53b
MRA
12576 (grub_linux_load32): Correctly find linux entry point offset.
12577 (grub_linux_load64): Likewise.
12578
d2bf06bf
RM
125792010-11-07 Robert Millan <rmh@gnu.org>
12580
12581 On mips-yeeloong, build with -march=loongson2f when this flag is
12582 available (GCC >= 4.4).
12583 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
12584 `-march=mips3'.
12585 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
12586 or otherwise add -march=mips3.
12587
898c99a2
BC
125882010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
12589
87220a68
BC
12590 Suppress shell expansion on echo '*' and echo "*" like cases.
12591 Reported by: Jordan Uggla.
898c99a2
BC
12592
12593 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
12594 string arguments before shell expansion.
12595 * tests/grub_cmd_echo.in: New testcases.
12596
4f9b406a
RM
125972010-11-07 Robert Millan <rmh@gnu.org>
12598
12599 * conf/mips-qemu-mips.rmk: Remove stale file from previous
12600 transition.
12601
80c6d25e
VS
126022010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
12603
12604 * grub-core/kern/emu/hostdisk.c
12605 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
12606
4a1a0153
VS
126072010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12608
12609 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
12610 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
12611 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
12612
34706ddc
VS
126132010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12614
12615 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
12616
6972dea9
VS
126172010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12618
12619 * util/grub-install.in: Replace useless recomendation to pass
12620 --modules with a recomendation to report a bug.
12621
9c693bd6
VS
126222010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12623
12624 Properly register serial terminfo.
12625 Reported by: Jordan Uggla
12626
12627 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
12628 const.
12629 (grub_serial_terminfo_output_template): Likewise.
12630 (grub_cmd_serial): Register "serial" with terminfo.
12631 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
12632 grub_serial_terminfo_output.
12633
6c9e4c0c
RM
126342010-11-05 Robert Millan <rmh@gnu.org>
12635
12636 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
12637 needed).
12638
b9b3839f
RM
126392010-11-05 Robert Millan <rmh@gnu.org>
12640
12641 On Yeeloong, pass machine type information to Linux.
12642
12643 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
12644 (LOONGSON_MACHTYPE): New macro, set to
12645 "machtype=lemote-yeeloong-2f-8.9inches".
12646 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
12647 additional argument to Linux.
12648
1a3aaff4
RM
126492010-11-04 Robert Millan <rmh@gnu.org>
12650
12651 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
12652 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
12653 (its SATA disks are detected as slaveless IDE master drives on
12654 kFreeBSD).
12655 Reported by Carsten Aulbert.
12656
a75f4f62
CW
126572010-11-02 Colin Watson <cjwatson@ubuntu.com>
12658
12659 * util/bin2h.c (main): Fix spelling error in generated output.
12660
33b4b0c6
GS
126612010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
12662
12663 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
12664
2b36fbf4
VS
126652010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12666
12667 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
12668 vga= option is supplied.
12669
74aaf558
VS
126702010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12671
12672 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
12673 * util/grub.d/10_kfreebsd.in: Likewise.
12674 * util/grub.d/10_linux.in: Likewise.
12675 * util/grub.d/20_linux_xen.in: Likewise.
12676
6428dec3
VS
126772010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12678
12679 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
12680 argument as an argument to no-argument option.
12681
f8729d98
VS
126822010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12683
12684 * util/grub.d/10_linux.in: Add missing load_video with explicit
12685 GRUB_GFXPAYLOAD_LINUX.
12686
89d68fa6
VS
126872010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12688
12689 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
12690
3a1197cd
VS
126912010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12692
12693 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
12694 elements with invlid index.
12695 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12696 * grub-core/disk/raid.c (insert_array): Automatically reallocate
12697 members.
12698 * include/grub/raid.h (grub_raid_member): New struct.
12699 (grub_raid_array): Transform devices and start_sector into usage of
12700 grub_raid_member. All users updated
12701 (allocated_devs): New member.
12702
71574288
VS
127032010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12704
12705 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
12706 is modified
12707
8d40ec65
BC
127082010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
12709
12710 NetBSD build fix for getline function conflict from gnulib.
12711
12712 * Makefile.util.def (libgrubkern.a): New library for grub kernel
12713 components that depend on gnulib headers.
12714 (libgrubmods.a): Renamed from earlier libgrub.a.
12715 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
12716
95b9257e
VS
127172010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12718
12719 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
12720 install rather than creating a broken install.
12721
26c53dc6
VS
127222010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12723
12724 * util/grub-setup.c (argp): Remove misleading example of installing to
12725 a partition.
12726
4171b3c5
VS
127272010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12728
12729 * util/grub-setup.c (setup): Clarify the error message.
12730
18568d18
VS
127312010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12732
12733 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
12734
4f6a2e21
VS
127352010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12736
12737 * grub-core/kern/emu/misc.c
12738 (grub_make_system_path_relative_to_its_root)
12739 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
12740
127412010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
12742
12743 * grub-core/kern/emu/misc.c
12744 (grub_make_system_path_relative_to_its_root): Revert r2882.
12745
e138c458
VS
127462010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
12747
12748 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
12749 useless field head. All users updated.
12750 (free_subchunk): Correct handling of IN_REGION subchunk.
12751
0cbcdf0e
CW
127522010-10-22 Colin Watson <cjwatson@ubuntu.com>
12753
12754 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
12755 (Supported kernels): Likewise.
12756
b65ea155
GS
127572010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
12758
12759 Make mktemp invocations portable.
12760
12761 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
12762 exit if mktemp fails.
12763 * tests/grub_script_blockarg.in: Likewise.
12764 * tests/partmap_test.in: Likewise.
12765 * tests/util/grub-shell-tester.in: Likewise.
12766 * tests/util/grub-shell.in: Likewise.
12767 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12768 * Makefile.am: Likewise, and chain shell commands with `&&'
12769 instead of ';'.
12770 * util/grub-mkrescue.in: Use the same explicit template as above, and
12771 exit if mktemp fails.
12772
05f43cdd
BC
127732010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
12774
12775 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
12776 Linux kernel, reported by Dennis Schridde.
12777
800e6a9b
SJ
127782010-10-17 Szymon Janc <szymon@janc.net.pl>
12779
12780 * grub-core/normal/auth.c (grub_auth_check_authentication):
12781 Set-but-not-used variable removed.
12782
d82df574
VS
127832010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12784
12785 * docs/grub.texi (GNU/Linux): Document APM unavailability with
12786 32-bit linux protocol.
12787
7bced458
VS
127882010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12789
12790 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
12791 cursor shape for sanity.
12792
5b027690
VS
127932010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12794
12795 * docs/grub.texi (Installation): Document buggy BIOS install.
12796
ba5f65cf
VS
127972010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12798
12799 * docs/grub.texi (Installation): Indent.
12800
fdf2ec9c
VS
128012010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12802
12803 * util/grub-setup.c (setup): New parameter allow_floppy.
12804 (arguments): New member allow_floppy.
12805 (argp_parser): Handle --allow-floppy.
12806 (main): Pass allow_floppy.
12807 * util/grub-install.in: New option --allow-floppy passed though to
12808 grub-setup.
12809
861dfd4c
VS
128102010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12811
12812 * util/grub-install.in: Handle partitionless disks.
12813
f77a8c24
VS
128142010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
12815
12816 * util/grub-setup.c (setup): Don't clean blocklists before readability
12817 verfification.
12818
27d9ee32
VS
128192010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12820
12821 * docs/grub.texi (Installation): Document embedding zone. Remove
12822 obsolete grub-install example.
12823
6bdda8f8
SJ
128242010-10-16 Szymon Janc <szymon@janc.net.pl>
12825
12826 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
12827 Set-but-not-used variable ifdef'ed.
12828 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
12829 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
12830 variable removed.
12831 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
12832 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
12833 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
12834 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
12835 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
12836 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
12837 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
12838 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
12839 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
12840 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
12841 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
12842 Likewise.
12843
e19b016b
VS
128442010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12845
12846 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
12847 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
12848 enum value.
12849
6c8d3002
VS
128502010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12851
12852 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
12853 synonym to _S5_. Needed for some DSDTs.
12854
c32b51c9
VS
128552010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12856
12857 Userspace ACPI parser debugging.
12858
12859 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
12860 headers and add relevant defines. Don't include standard headers.
12861 (main) [GRUB_DSDT_TEST]: New function.
12862 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
12863 Don't declare functions.
12864
fbfbeb39
VS
128652010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12866
12867 Remove dead grub_efi_mm_fini.
12868
12869 * grub-core/kern/efi/mm.c (allocated_page): Removed.
12870 (ALLOCATED_PAGES_SIZE): Likewise.
12871 (MAX_ALLOCATED_PAGES): Likewise.
12872 (allocated_pages): Likewise.
12873 (grub_efi_allocate_pages): Don't record allocated pages.
12874 (grub_efi_free_pages): Likewise.
12875 (grub_efi_mm_init): Likewise.
12876 (grub_efi_mm_fini): Removed.
12877
65f7ed7c
VS
128782010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12879
12880 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
12881 (grub_efi_mm_init): Take into account the memory map size increase.
12882
24977b44
VS
128832010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12884
12885 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
12886 (serial_hw_put): Wait based on real time rather than port reads. Don't
12887 roken ports.
12888 * include/grub/serial.h (grub_serial_port): New field broken.
12889
1eb01cd2
RM
128902010-10-16 Robert Millan <rmh@gnu.org>
12891
12892 * grub-core/kern/emu/misc.c
12893 (grub_make_system_path_relative_to_its_root): Fix premature return
12894 when processing non-root ZFS filesystems.
5f8b440b 12895 Reported by Sergio Talens-Oliag.
1eb01cd2 12896
2d5fed60
RM
128972010-10-15 Robert Millan <rmh@gnu.org>
12898
12899 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
12900 guarantee compressed ones are processed first.
12901
d0f4c1ea
VS
129022010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12903
12904 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
12905 grub_efiemu_autocore.
12906
d87c681f
VS
129072010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12908
12909 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
12910 rather than 0x1b.
12911 (grub_console_getkey): Use correct jae opcode rather than ja.
12912
219b3564
RM
129132010-10-12 Robert Millan <rmh@gnu.org>
12914
12915 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
12916 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
12917 variable. All references updated.
12918
12919 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
12920
20c6bb7e
VS
129212010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
12922
12923 Correctly distinguish mdraid flavours.
12924
12925 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
12926 (insert_array): New argument raid.
12927 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
12928 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
12929 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
12930
74baff84
VS
129312010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
12932
12933 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
12934 handling of special keys.
12935
3ef068df 129362010-10-02 Aleš Nesrsta <starous@volny.cz>
12937
c7980ad9
VS
12938 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
12939 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 12940
a9455194 129412010-10-02 Aleš Nesrsta <starous@volny.cz>
12942
c7980ad9
VS
12943 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
12944 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
12945 users updated.
a9455194 12946 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 12947 Use right endpoint when querying descriptor.
a9455194 12948
441cfe65
VS
129492010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
12950
12951 Clear out 0x80 color bit on EFI.
12952 Tested by: decoder
12953 Reported by: decoder and meta tech.
12954
12955 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
12956 (grub_console_setcolorstate): Clear out 0x80 bit.
12957 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
12958 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
12959 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
12960
bf26bcc4
VS
129612010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
12962
12963 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
12964 Set to "auto".
12965
6e3c515d
VS
129662010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12967
12968 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
12969 mo_file after freeing.
12970
e6d983ba
VS
129712010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12972
12973 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
12974
74ccb5b5
VS
129752010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12976
12977 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
12978 flags.
12979
17821956
VS
129802010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12981
12982 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
12983 usage.
12984
ee74fa48
VS
129852010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
12986
12987 Put terminfo into core on ieee1275 and yeeloong (needed for console).
12988
12989 * gentpl.py: New groups terminfoinkernel and terminfomodule.
12990 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
12991 and terminfo.h when needed.
12992 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
12993 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
12994 (terminfo): Enable only on terminfokernel.
12995 (extcmd): Likewise.
12996 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
12997 * include/grub/lib/arg.h: Likewise.
12998 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
12999 incorrect usage of ->.
13000
aa438e68
VS
130012010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13002
13003 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
13004 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
13005
57994012
VS
130062010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13007
13008 Fix coreboot compilation.
13009
13010 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13011 Take VBE info into account even if only text is supported.
13012 (fill_vbe_info): Take into account the case when only VGA text
13013 is supported.
13014 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
13015 on coreboot, multiboot and qemu.
13016
2a406611
VS
130172010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13018
13019 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
13020 debug messages.
13021 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
13022
d33613fc
VS
130232010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13024
13025 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
13026 parameters.
13027
44a1b432
VS
130282010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13029
13030 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
13031 if they were BSD-style.
13032
edde54e6
VS
130332010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13034
13035 * grub-core/boot/i386/pc/lnxboot.S: Replace
13036 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
13037 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
13038
b65830fa
VS
130392010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13040
13041 Write embedding zone using Reed-Solomon.
13042
13043 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
13044 * grub-core/Makefile.am (rs_decoder.S): New target.
13045 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
13046 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
13047 (multiboot): Move to RS part.
13048 (post_reed_solomon): New label.
13049 (grub_boot_drive): Move to non-RS part since it's modified in memory
13050 on boot.
13051 Include rs_decoder.S.
13052 * grub-core/lib/reed_solomon.c: New file.
13053 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
13054 New definition.
13055 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
13056 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
13057 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
13058 * include/grub/partition.h (grub_partition_map): Change prototype of
13059 embed to allow returning additional sectors.
13060 * include/grub/reed_solomon.h: New file.
13061 * util/grub-setup.c (setup): Handle Reed-Solomon.
13062
0b4b227f
CW
130632010-09-28 Colin Watson <cjwatson@ubuntu.com>
13064
13065 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
13066 i386 and x86-64 definedness tests.
13067
f772623b
YB
130682010-09-27 Yves Blusseau <blusseau@zetam.org>
13069
13070 Fix generation of kernel_syms.lst
13071
13072 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
13073 ASM_PREFIX
13074
8e57a6ca
RM
130752010-09-26 Robert Millan <rmh@gnu.org>
13076
13077 Support degraded ZFS arrays in "grub-probe -t device" resolution.
13078
13079 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
13080 the pool is an array of devices, iterate through it and return the
13081 first device that passes a stat() test (instead of blindly returning
13082 the first one).
13083
f9130836
RM
130842010-09-26 Robert Millan <rmh@gnu.org>
13085
13086 Build fixes for GNU/kFreeBSD.
13087
13088 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
13089 to programs that require ZFS conversion.
13090 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
13091 kernels that don't have FLOPPY_MAJOR.
13092
96510faf
BC
130932010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
13094
13095 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
13096
449333eb
BC
130972010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
13098
13099 Fix grub-emu build.
13100
13101 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
13102 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
13103 mdraid09 and mdraid1x.
13104
e1fd1939
CW
131052010-09-24 Colin Watson <cjwatson@ubuntu.com>
13106
13107 Re-enable grub-extras.
13108
13109 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
13110 avoid confusing Automake. Run autogen only twice, once for the top
13111 level and once for grub-core. Add Makefile.util.def and
13112 Makefile.core.def from extra modules to the appropriate autogen
13113 invocations. If Makefile.common exists in an extra module, include
13114 it in both Makefile.util.am and grub-core/Makefile.core.am;
13115 similarly, include any Makefile.util.common file in Makefile.util.am
13116 and any Makefile.core.common file in grub-core/Makefile.core.am.
13117 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
13118 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
13119 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
13120 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
13121
13122 * gentpl.py (gvar_add): Turn GVARS into a set.
13123 (global_variable_initializers): Sort global variables on output.
13124 (vars_init): New function.
13125 (first_time): Likewise.
13126 (library): Ensure that non-global variable initialisations are
13127 emitted before the first time we emit code for a library block.
13128 Append to variables rather than setting them. Only emit
13129 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
13130 each conditional path.
13131 (program): installdir() emits an Autogen macro, so must be passed to
13132 var_add rather than gvar_add.
13133 (data): Likewise.
13134 (script): Likewise.
13135 (rules): New function, centralising handling for different target
13136 types. Set up Guile association lists for first_time and vars_init,
13137 and send most output to a diversion so that variable initialisations
13138 can be emitted first.
13139 (module_rules): Use new rules function.
13140 (kernel_rules): Likewise.
13141 (image_rules): Likewise.
13142 (library_rules): Likewise.
13143 (program_rules): Likewise.
13144 (script_rules): Likewise.
13145 (data_rules): Likewise.
13146
13147 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
13148
13149 * .bzrignore: Add contrib and grub-core/contrib. Remove
13150 grub-core/Makefile.gcry.am.
13151
1d12cf29
YB
131522010-09-24 Yves Blusseau <blusseau@zetam.org>
13153
13154 * grub-core/lib/LzFind.c: Add missing include.
13155 * grub-core/lib/LzmaEnc.c: Likewise.
13156 * grub-core/script/lexer.c: Likewise.
13157 * grub-core/script/yylex.l: Likewise.
13158 * util/grub-macho2img.c: Likewise.
13159 * util/grub-menulst2cfg.c: Likewise.
13160 * util/grub-mklayout.c: Likewise.
13161 * util/grub-mkpasswd-pbkdf2.c
13162 * util/grub-mkrelpath.c: Likewise.
13163 * util/resolve.c: Likewise.
13164
dd363028
BC
131652010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
13166
13167 * Makefile.util.def (example_unit_test): Add
13168 grub-core/gnulib/libgnu.a.
13169
f5a109e2
GS
131702010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
13171
13172 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
13173
6d0fa83c
VS
131742010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
13175
13176 Support xz compression on yeeloong.
13177
13178 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
13179 * configure.ac: Check for LZMA.
13180 * grub-core/Makefile.core.def (xz_decompress): New target.
13181 (none_decompress): Likewise.
13182 * grub-core/boot/decompressor/minilib.c: New file.
13183 * grub-core/boot/decompressor/none.c: Likewise.
13184 * grub-core/boot/decompressor/xz.c: Likewise.
13185 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
13186 * grub-core/kern/mips/cache_flush.S: Likewise.
13187 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
13188 * grub-core/kern/mips/startup.S: Move first stage to ...
13189 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
13190 nomacro.
13191 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
13192 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
13193 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
13194 Allocate statically.
13195 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
13196 Allocate statically or use scratch. Don't check CRC32.
13197 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
13198 Allocate statically. Don't check CRC32.
13199 * include/grub/decompressor.h: New file.
13200 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
13201 Removed.
13202 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
13203 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
13204 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
13205 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
13206 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
13207 * util/grub-mkimage.c (grub_compression_t): New type.
13208 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
13209 (image_target_desc): New field default_compression.
13210 (image_targets): Adjust yeeloong targets.
13211 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
13212 (compress_kernel): New parameter comp.
13213 (generate_image): Likewise. Handle new compression case.
13214 (options): New option --compression
13215 (help): Likewise.
13216 (main): Handle new option.
13217
1b655af6
GS
132182010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
13219
13220 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
13221
8f03f0b5
CW
132222010-09-22 Colin Watson <cjwatson@ubuntu.com>
13223
13224 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
13225 typo in __i386__ conditional.
13226
7835dfd3
VS
132272010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
13228
13229 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
13230 include.
13231
e255597e
VS
132322010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
13233
6d0fa83c 13234 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
13235
13236 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
13237 new tags as supported.
13238 (acpiv2_size): New function.
13239 (grub_multiboot_get_mbi_size): Take new tags into account.
13240 (grub_multiboot_make_mbi): Add new tags.
13241 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 13242
6cc14051 132432010-09-21 Aleš Nesrsta <starous@volny.cz>
13244
13245 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
13246 Added missing configuration of USB device.
13247
df7769d8
CW
132482010-09-21 Colin Watson <cjwatson@ubuntu.com>
13249
13250 * grub-core/normal/menu_entry.c (run): Make sure we always return
13251 a value.
13252
b031012d
CW
132532010-09-21 Colin Watson <cjwatson@ubuntu.com>
13254
13255 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
13256 NumberOfPages is UINT64 according to the UEFI specification, not
13257 UINTN. Fix printf format.
13258
174de8f3
CW
132592010-09-21 Colin Watson <cjwatson@ubuntu.com>
13260
13261 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
13262 `err' to grub_usb_err_t.
13263 Reported and tested by: KESHAV P.R.
13264
d7dbe923
CW
132652010-09-21 Colin Watson <cjwatson@ubuntu.com>
13266
13267 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
13268 tpart non-const, so that we can assign to it. (Since this is a
13269 typedef, the constness refers to the pointer rather than what it
13270 points to.)
13271
8d5e2af3
CW
132722010-09-21 Colin Watson <cjwatson@ubuntu.com>
13273
13274 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
13275 $(top_srcdir)/grub-core/gnulib as well as
13276 $(top_builddir)/grub-core/gnulib.
13277 Reported by: KESHAV P.R.
13278
5c527783
CW
132792010-09-21 Colin Watson <cjwatson@ubuntu.com>
13280
13281 * util/grub-install.in: Fix the bootloader ID option to be
13282 consistently --bootloader-id, not --bootloader_id.
13283 Reported by: KESHAV P.R.
13284
d309a16e
CW
132852010-09-21 Colin Watson <cjwatson@ubuntu.com>
13286
13287 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
13288 check hash checksum." consistently translatable.
13289
b830cd16
YB
132902010-09-21 Yves Blusseau <blusseau@zetam.org>
13291
13292 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
13293 $(top_builddir).
13294
c4fe27a8
CW
132952010-09-21 Colin Watson <cjwatson@ubuntu.com>
13296
13297 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
13298 (GRUB_MOD_INIT): Register sha1sum command.
13299 (GRUB_MOD_FINI): Unregister sha1sum command.
13300
a4c1d277
YB
133012010-09-21 Yves Blusseau <blusseau@zetam.org>
13302
13303 Keep boot and grub directory names in sync with utils scripts
13304
13305 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
13306 * config.h.in: Add previous macros.
13307 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
13308 * util/grub-install.in: Use $bootdir and $grubdir variables.
13309
4eff79d2
CW
133102010-09-21 Colin Watson <cjwatson@ubuntu.com>
13311
13312 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
13313 convert partition names to disk names if the new `convert' parameter
13314 is set.
13315 (grub_util_biosdisk_get_grub_dev): If opening the disk device
13316 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
13317 disk in its own right. This can happen with Xen disk images.
13318
934d7e44
YB
133192010-09-21 Yves Blusseau <blusseau@zetam.org>
13320
13321 * util/grub-editenv.c: Update strings to avoid warnings when generating
13322 grub.pot file.
13323 * util/grub-setup.c: Likewise.
934d7e44 13324
df3367cc
VS
133252010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
13326
13327 * configure.ac: Change version to 1.99~beta0.
13328
77a94e98
VS
133292010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
13330
13331 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
13332 Add BADRAM.
13333 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
13334 Likewise.
13335 * include/multiboot.h: Resynced with specification.
13336 * include/multiboot2.h: Likewise.
13337
269004c1
CW
133382010-09-21 Colin Watson <cjwatson@ubuntu.com>
13339
13340 Fix po directory handling.
13341
13342 * configure.ac: Create po/Makefile.in rather than po/Makefile.
13343 * grub-core/gnulib/Makefile.am: Import gettext module.
13344 * m4/gnulib-cache.m4: Likewise.
13345 * m4/gnulib-comp.m4: Likewise.
13346 * m4/gettext.m4: New file, from gnulib.
13347 * m4/glibc2.m4: Likewise.
13348 * m4/iconv.m4: Likewise.
13349 * m4/intdiv0.m4: Likewise.
13350 * m4/intl.m4: Likewise.
13351 * m4/intldir.m4: Likewise.
13352 * m4/intlmacosx.m4: Likewise.
13353 * m4/intmax.m4: Likewise.
13354 * m4/inttypes-pri.m4: Likewise.
13355 * m4/lcmessage.m4: Likewise.
13356 * m4/lib-ld.m4: Likewise.
13357 * m4/lib-link.m4: Likewise.
13358 * m4/lib-prefix.m4: Likewise.
13359 * m4/lock.m4: Likewise.
13360 * m4/nls.m4: Likewise.
13361 * m4/po.m4: Likewise.
13362 * m4/printf-posix.m4: Likewise.
13363 * m4/progtest.m4: Likewise.
13364 * m4/threadlib.m4: Likewise.
13365 * m4/uintmax_t.m4: Likewise.
13366 * m4/visibility.m4: Likewise.
13367 * po/Makefile.am: Remove.
13368 * po/Makefile.in.in: New file, from gettext.
13369 ($(DOMAIN).pot-update): Support POTFILES-shell.
13370 * po/Makevars: New file.
13371 * po/POTFILES-shell: Rename to ...
13372 * po/POTFILES-shell.in: ... this. Update.
13373 * po/POTFILES: Rename to ...
13374 * po/POTFILES.in: ... this. Update.
13375 * po/Rules-quot: New file, from gettext.
13376 * po/boldquot.sed: Likewise.
13377 * po/en@boldquot.header: Likewise.
13378 * po/en@quot.header: Likewise.
13379 * po/insert-header.sin: Likewise.
13380 * po/quot.sed: Likewise.
13381 * po/remove-potcdate.sin: Likewise.
13382
3e0fa5d0
VS
133832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13384
13385 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
13386
ade9bd66
VS
133872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13388
13389 * util/grub.d/20_linux_xen.in: Use submenus.
13390
fc55cc4c
VS
133912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13392
13393 Support submenus.
13394
13395 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
13396 parameter submenu. All users updated.
13397 * grub-core/normal/main.c (free_menu): Rename to ...
13398 (grub_normal_free_menu): ... this. Made global.
13399 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
13400 if requested.
13401 * grub-core/normal/menu_entry.c (screen): New field submenu.
13402 (make_screen): Set submenu.
13403 (run): Open new context if requested.
13404 * include/grub/menu.h (grub_menu_entry): New field submenu.
13405 * include/grub/normal.h (grub_normal_free_menu): New proto.
13406
600cedf7
VS
134072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13408
13409 Menu entries extractor.
13410
13411 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
13412 variants.
13413 (GRUB_MOD_INIT): Register new variants.
13414 (GRUB_MOD_FINI): Unregister new variants.
13415 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
13416 into grub_cmd_legacy_source.
13417 (grub_cmd_legacy_source): Implement extractor variants.
13418 (GRUB_MOD_INIT): Register new variants.
13419 (GRUB_MOD_FINI): Unregister new variants.
13420 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
13421 as an extractor.
13422 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
13423 search as an extractor.
13424 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
13425 test as an extractor.
13426 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
13427 as an extractor.
13428 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
13429 (grub_env_new_context): New function.
13430 (grub_env_context_open): Likewise.
13431 (grub_env_extractor_open): Likewise.
13432 (grub_env_extractor_close): Likewise.
13433 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
13434 grub_extractor_level.
13435 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
13436 * include/grub/env.h (grub_env_extractor_open): New proto.
13437 (grub_env_extractor_close): Likewise.
13438 * include/grub/normal.h (grub_extractor_level): New external variable.
13439
7bda3a87
VS
134402010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13441
13442 Make cutmem accept a region specification.
13443 Suggested by: Samuel Thibault
13444
13445 * grub-core/mmap/mmap.c (parsemem): New function.
13446 (grub_cmd_cutmem): Handle new arguments.
13447
2ea57f88
VS
134482010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13449
13450 New command cutmem.
13451
13452 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
13453 (GRUB_MOD_INIT): Register new command.
13454 (GRUB_MOD_FINI): Unregister new command.
13455
74342e31
VS
134562010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13457
13458 Support some annoying BSD and Minix subpartitions.
13459
13460 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
13461 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
13462 Properly handle concatenation.
13463 * grub-core/kern/device.c (grub_device_iterate): Likewise.
13464 * grub-core/normal/completion.c (iterate_partition): Likewise.
13465 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
13466 contain partition. All users updated.
13467 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
13468 struct.
13469 (grub_openbsdlabel_partition_map): Likewise.
13470 (bsdlabel_partition_map_iterate): Rename to ..
13471 (iterate_real): ... this. New arguments sector, freebsd and pmap.
13472 (bsdlabel_partition_map_iterate): New function.
13473 (netopenbsdlabel_partition_map_iterate): Likewise.
13474 (netbsdlabel_partition_map_iterate): Likewise.
13475 (openbsdlabel_partition_map_iterate): Likewise.
13476 (GRUB_MOD_INIT): Register new partmaps.
13477 (GRUB_MOD_FINI): Unregister new partmaps.
13478 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
13479 (grub_partition_msdos_iterate): ... this. All users updated.
13480 Don't support embedding other than in a minix partition.
13481 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
13482 proto.
13483 * include/grub/partition.h (grub_partition): New field msdostype.
13484 * util/grub-install.in: Handle openbsd and netbsd types being in
13485 part_bsd module.
13486
1e8d555b
VS
134872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13488
13489 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
13490
13491 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
13492 * grub-core/Makefile.core.def (mdraid): Renamed to ...
13493 (mdraid09): ... this.
13494 (mdraid1x): New module.
13495 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
13496 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
13497
899d8af4
VS
134982010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13499
13500 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
13501 vsprintf.
13502
40901acd
CW
135032010-09-20 Colin Watson <cjwatson@ubuntu.com>
13504
13505 * grub-core/commands/efi/lsefimmap.c: Correct header.
13506 * NEWS: Update.
13507
dfe3b247
CW
135082010-09-20 Colin Watson <cjwatson@ubuntu.com>
13509
13510 * util/grub-editenv.c (argp_parser): Don't pass translated strings
13511 as printf format strings; the translations might contain '%' which
13512 could cause a crash.
13513 (main): Likewise.
13514 * util/grub-fstest.c (argp_parser): Likewise.
13515 * util/grub-setup.c (argp_parser): Likewise.
13516 (main): Likewise.
13517
3286a4b4
VS
135182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13519
13520 Use argp in grub-fstest.
13521
13522 * util/grub-fstest.c: Don't include getopt.h.
13523 Include argp.h.
13524 (root): New variable.
13525 (args_count): Likewise.
13526 (nparm): Likewise.
13527 (num_disks): Likewise.
13528 (images): Likewise.
13529 (cmd): Likewise.
13530 (debug_str): Likewise.
13531 (args): Likewise.
13532 (options): Transformed to argp.
13533 (usage): Removed.
13534 (main): Split argument parsing into ...
13535 (argp_parser): ... this. Changed to argp format.
13536 (argp): New variable.
13537 (main): Use argp_parse.
13538
3dccbe4b
TG
135392010-09-20 Tristan Gingold <gingold@free.fr>
135402010-09-20 Robert Millan <rmh.grub@aybabtu.com>
135412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13542
13543 * grub-core/commands/efi/lsefimmap.c: New file.
13544 * grub-core/Makefile.core.def (lsefimmap): New module.
13545 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
13546
38c259a7
VS
135472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13548
13549 Pause the execution (10s max) if any errors are displayed so the user
13550 has a chance to see them.
13551
13552 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
13553 (grub_print_error): Increment grub_err_printed_errors.
13554 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
13555 execution if any errors were displayed.
13556 (show_menu): Remove old code for pause.
13557 * grub-core/normal/menu_entry.c (run): Likewise.
13558 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
13559 users updated.
13560 (grub_normal_get_char_counter): Likewise.
13561 * include/grub/err.h (grub_err_printed_errors): New external variable.
13562 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
13563
f218b09c
VS
135642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13565
13566 Support multiboot VBE info.
13567
13568 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13569 Take VBE info into account.
13570 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
13571 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
13572 Call fill_vbe_info when appropriate.
13573 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
13574 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
13575 as supported.
13576 (grub_multiboot_get_mbi_size): Take new tags into account.
13577 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
13578 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
13579 Call fill_vbe_tag when appropriate.
13580 (grub_multiboot_make_mbi): Properly align tags.
13581 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
13582 function.
13583 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
13584 proto.
13585 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
13586
a9cc5438
VS
135872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13588
13589 Suport manual terminal geometry specification.
13590
13591 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
13592 Save state in grub_ofconsole_terminfo_output.
13593 (grub_ofconsole_term): Use grub_terminfo_getwh.
13594 (grub_ofconsole_getwh): Removed.
13595 * grub-core/term/serial.c (grub_serial_getwh): Removed.
13596 (grub_serial_term): Use grub_terminfo_getwh.
13597 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
13598 (options): New struct.
13599 (OPTION_*): New enum.
13600 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
13601 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
13602 width and height.
13603 (grub_terminfo_getwh): New proto.
13604 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
13605
1a8fed20
VS
136062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13607
13608 Handle legacy "terminal" command.
13609
13610 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
13611 and FLAG_TERMINAL.
13612 (legacy_commands): Add terminal and title.
13613 (grub_legacy_parse): Handle terminal. Simplify title handling.
13614
41e9c57d
VS
136152010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13616
13617 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
13618 parameters overflow.
13619
61c874c5
CW
136202010-09-20 Colin Watson <cjwatson@ubuntu.com>
13621
13622 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
13623 widthspec.h.
13624
13625 * docs/grub.texi (Shell-like scripting): Document `!'.
13626 (Network): Simplify using new i386-pc-pxe format. Mention
13627 grub-mknetdir.
13628
13629 * NEWS: Update.
13630
943682b4
CW
136312010-09-20 Colin Watson <cjwatson@ubuntu.com>
13632
13633 * Makefile.am (SUBDIRS): Restore "."; it's important to force
13634 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
13635 when needed.
13636
6d3d698d
CW
136372010-09-20 Colin Watson <cjwatson@ubuntu.com>
13638
13639 * grub-core/commands/efi/lsefisystab.c: Correct header.
13640 * grub-core/commands/efi/lssal.c: Likewise.
13641 * grub-core/commands/testload.c: Likewise.
13642
c982589f
CW
136432010-09-20 Colin Watson <cjwatson@ubuntu.com>
13644
13645 * util/grub-mkrescue.in: Add explicit root argument to --set to
13646 prevent the UUID being interpreted as an argument to --set (matches
13647 previous change to prepare_grub_to_access_device).
13648
a63c31b6
CW
136492010-09-20 Colin Watson <cjwatson@ubuntu.com>
13650
13651 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
13652 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
13653 the verbosity of later #ifs.
13654 (find_partition_start): Define this function on FreeBSD too.
13655 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
13656 function.
13657 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
13658 on FreeBSD.
13659
6439b8ee
YB
136602010-09-20 Yves Blusseau <blusseau@zetam.org>
13661
13662 * util/grub-editenv.c: Use argp instead of getopt.
13663
c5930ec8
YB
136642010-09-20 Yves Blusseau <blusseau@zetam.org>
13665
13666 * util/grub-setup.c: Use argp instead of getopt.
13667
15c69261
YB
136682010-09-20 Yves Blusseau <blusseau@zetam.org>
13669
13670 Use gnulib-tool to create gnulib source files.
13671
13672 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
13673 grub-core/gnulib directories
13674 * .bzignore: Add **/.deps and autogenerated gnulib files
13675 * configure.ac: Assign auxiliary directory to build-aux, add invocation
13676 of gnulib macros, add grub-core/gnulib/Makefile
13677 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
13678 include m4 directory to aclocal.
13679 * Makefile.util.def: Remove direct compilation of gnulib source files
13680 and use the new grub-core/gnulib/libgnu.a.
13681 * build-aux/config.rpath: move config.rpath from top directory to
13682 build-aux
13683 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
13684 in gnulib headers
13685 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
13686 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
13687 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
13688 header.
13689 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
13690 string.
13691
e511c9f5
YB
136922010-09-20 Yves Blusseau <blusseau@zetam.org>
13693
13694 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
13695 grub-core/genmod.sh and grub-core/gensyminfo.sh
13696
c2dede05
BC
136972010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
13698
13699 Add a test for echo command options.
13700
13701 * tests/grub_cmd_echo.in: New test.
13702 * Makefile.util.def: Rules for new test.
13703
c55f5018
SJ
137042010-09-20 Szymon Janc <szymon@janc.net.pl>
13705
13706 Remove crc.mod and move crc command to hashsum.mod.
13707 Remove lib/crc.c - users updated to use gcrypt implementation.
13708
13709 * grub-core/commands/crc.c: Removed.
13710 * grub-core/Makefile.core.def (crc): Module removed.
13711 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
13712 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
13713 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
13714 * grub-core/lib/crc.c: Removed.
13715 * include/grub/lib/crc.h: Removed.
13716 * Makefile.util.def (crc): Remove lib/crc.c
13717 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
13718 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
13719 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
13720 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
13721 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
13722 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
13723
e0337366
VS
137242010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13725
13726 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
13727
742f9232
VS
137282010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13729
13730 Split config.h for util and core.
13731
13732 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
13733 (ADDR32): Likewise.
13734 (DATA32): Likewise.
13735 (BSS_START_SYMBOL): Likewise.
13736 (END_SYMBOL): Likewise.
13737 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
13738 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
13739 * config.h.in: New file.
13740 * configure.ac: Use config-util.h as config define file.
13741 Rename MACHINE into GRUB_MACHINE. All users updated.
13742 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
13743 updated.
13744 (NESTED_FUNC_ATTR): Likewise.
13745 Substitue new variables.
13746 (COND_HAVE_ASM_USCORE): New conditional.
13747 * grub-core/Makefile.am (ASM_PREFIX): New variable.
13748 (kernel_syms.lst): Use ASM_PREFIX.
13749 * grub-core/kern/emu/console.c: Include config-util.h.
13750 * grub-core/kern/emu/misc.c: Likewise.
13751 * grub-core/kern/emu/mm.c: Likewise.
13752 * include/grub/emu/misc.h: Likewise.
13753 * include/grub/libgcc.h: Likewise.
13754
39feb0e8
VS
137552010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13756
13757 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
13758 constants usage.
13759 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
13760 Fix GRUB_TERM_KEY_* constants usage.
13761 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
13762
9af6dac3
VS
137632010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13764
13765 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
13766 print pointer.
13767 * grub-core/bus/usb/uhci.c: Remove empty define.
13768 (grub_uhci_check_transfer): Add missing cast.
13769 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
13770 print pointer.
13771 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
13772 PRIuGRUB_SIZE.
13773 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
13774
d6d94820
VS
137752010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13776
13777 * grub-core/Makefile.core.def (legacycfg): Add
13778 lib/i386/pc/vesa_modes_table.c on emu.
13779
3572f2b6
BC
137802010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
13781
13782 Reduce number of temporary files generated by build system.
13783
13784 * grub-core/gencmdlist.sh: Removed.
13785 * grub-core/genfslist.sh: Removed.
13786 * grub-core/genhandlerlist.sh: Removed.
13787 * grub-core/genmodsrc.sh: Removed.
13788 * grub-core/genpartmaplist.sh: Removed.
13789 * grub-core/genparttoollist.sh: Removed.
13790 * grub-core/gentermiinallist.sh: Removed.
13791 * grub-core/genvideolist.sh: Removed.
13792
13793 * grub-core/genmod.sh.in: New file.
13794 * grub-core/gensyminfo.sh.in: New file.
13795
13796 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
13797 * conf/Makefile.extra-dist: Update with new files.
13798 * gentpl.py: Remove rules related to unnecessary temporary files.
13799 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
13800 and und-* files.
13801 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
13802 genmod.sh scripts.
13803 * grub-core/bus/usb/uhci.c: Remove empty #define.
13804 * grub-core/genmoddep.awk: Updated with new syminfo format.
13805 * util/bash-completion.d/Makefile.am: Add config.log to
13806 CLEANFILES.
13807
c836b030
YB
138082010-09-19 Yves Blusseau <blusseau@zetam.org>
13809
13810 * Makefile.util.def: Add forgotten $(LIBINTL) library.
13811
2f4e8053
BC
138122010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
13813
13814 * util/grub-mkconfig.in: Check the config script for syntax errors
13815 before saving.
13816
75831c34
CW
138172010-09-19 Colin Watson <cjwatson@ubuntu.com>
138182010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13819
13820 * Makefile.util.def (grub-install): Use util/grub-install.in on all
13821 platforms.
13822 * util/grub-install.in: Add EFI and IEEE1275 support.
13823 * util/i386/efi/grub-install.in: Removed.
13824 * util/ieee1275/grub-install.in: Likewise.
13825
eaf41b25
VS
138262010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
13827
13828 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
13829 (grub_cmd_cmosclean): Likewise.
13830 (GRUB_MOD_INIT): Register command cmosclean.
13831 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
13832 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
13833
1a9130dd
CPE
138342010-09-18 Carles Pina i Estany <carles@pina.cat>
138352010-09-18 Aleš Nesrsta <starous@volny.cz>
138362010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13837
13838 Add keyboard layouts support.
13839
13840 * Makefile.util.def (grub-mklayout): New file.
13841 (grub-kbdcomp): New script.
13842 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
13843 Add keyboard_layouts.h.
13844 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
13845 commands/boot.c on yeeloong.
13846 (keylayouts): New module.
13847 * grub-core/bus/usb/ohci.c
13848 * grub-core/bus/usb/uhci.c
13849 * grub-core/bus/usb/usbhub.c (rescan): New variable.
13850 (grub_usb_add_hub): Poll interrupt pipe for device handling.
13851 (attach_root_port): Likewise.
13852 (poll_nonroot_hub): Likewise.
13853 (grub_usb_poll_devices): Likewise.
13854 (detach_device): Close transfer.
13855 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
13856 function.
13857 (grub_usb_bulk_setup_readwrite): Likewise.
13858 (grub_usb_bulk_finish_readwrite): Likewise.
13859 * grub-core/commands/keylayouts.c: New file.
13860 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
13861 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
13862 aliases.
13863 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
13864 support scancode 2.
13865 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
13866 * include/grub/keyboard_layouts.h: New file.
13867 * util/grub-mklayout.c: New file.
13868 * util/grub-kbdcomp.in: Likewise.
13869
a1d84a5e
VS
138702010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13871
13872 Unify memory types.
13873
13874 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
13875 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
13876 types.
13877 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
13878 (grub_upper_mem): Likewise.
13879 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
13880 * include/grub/memory.h (grub_memory_type_t): New enum.
13881 All users updated.
13882
9696382e
VS
138832010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13884
13885 * grub-core/Makefile.core.def (lsapm): New module.
13886 * grub-core/commands/i386/pc/lsapm.c: New file.
13887 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
13888 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
13889 Likewise.
13890 * include/grub/i386/pc/apm.h: New file.
13891 * include/multiboot.h (multiboot_apm_info): New struct.
13892
138932010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
13894
13895 GRUB-legacy configuration file support.
13896
13897 * Makefile.util.def (grub-menulst2cfg): New util.
13898 * docs/man/grub-menulst2cfg.h2m: New file.
13899 * grub-core/Makefile.core.def (legacycfg): New module.
13900 * grub-core/commands/legacycfg.c: New file.
13901 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
13902 (grub_normal_add_menu_entry): ... this.
13903 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
13904 (grub_normal_set_password): ...this.
13905 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
13906 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
13907 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
13908 * grub-core/lib/legacy_parse.c: New file.
13909 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
13910 * include/grub/i386/pc/vesa_modes_table.h: New file.
13911 * include/grub/legacy_parse.h: Likewise.
13912 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
13913 * util/grub-menulst2cfg.c: New file.
13914
bf8d1338
CW
139152010-09-17 Colin Watson <cjwatson@ubuntu.com>
13916
13917 * grub-core/kern/emu/hostdisk.c
13918 (convert_system_partition_to_system_disk): Initialise node.
13919
9c0bad2e
CW
139202010-09-17 Colin Watson <cjwatson@ubuntu.com>
13921
13922 * grub-core/kern/emu/hostdisk.c
13923 (convert_system_partition_to_system_disk): Fix devmapper memory pool
13924 leak.
13925 Reported and based on patch by: Modestas Vainius.
13926
a939d135
CW
139272010-09-17 Colin Watson <cjwatson@ubuntu.com>
13928
13929 Fix DM-RAID probing with recent versions of device-mapper udev
13930 rules.
13931
13932 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
13933 canonicalise device paths under /dev/mapper/.
13934 (convert_system_partition_to_system_disk): Compare the
13935 uncanonicalised path to /dev/mapper/ rather than the canonicalised
13936 path, since device nodes under /dev/mapper/ are often symlinks.
13937
0f7ee3c9
YB
139382010-09-17 Yves Blusseau <blusseau@zetam.org>
13939
13940 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
13941
10854d0d
YB
139422010-09-16 Yves Blusseau <blusseau@zetam.org>
13943
13944 * configure.ac: Avoid some annoying error messages if freetype-config
13945 program is not found.
13946
108538d8
CW
139472010-09-16 Colin Watson <cjwatson@ubuntu.com>
13948
13949 Support RAID on virtio devices, and others.
13950
13951 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
13952 Rename to ...
13953 [__MINGW32__] (grub_find_device): ... this.
13954 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
13955 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
13956 reasonable default if dir is NULL.
13957 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
13958 ...
13959 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
13960 (grub_guess_root_device): Update callers.
13961 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
13962
13963 * util/raid.c (grub_util_getdiskname): Remove.
13964 (grub_util_raid_getmembers): Use grub_find_device rather than
13965 grub_util_getdiskname.
13966
e5bfc130
CW
139672010-09-16 Colin Watson <cjwatson@ubuntu.com>
13968
13969 * docs/grub.texi (serial): Remove obsolete comment about GRUB
13970 needing to be compiled with serial support.
13971 (ls): Indicate that multiple files are accepted.
13972 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
13973 indicate that multiple files are accepted.
13974
be458ae2
CW
139752010-09-16 Colin Watson <cjwatson@ubuntu.com>
13976
13977 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
13978 libgrub_a_init.c, and util/bash-completion.d/grub.
13979
cb731b5e
VS
139802010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13981
13982 * util/grub-setup.c (setup): Fix incorrect container semantics.
13983
35139e8a
VS
139842010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13985
13986 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
13987 misusage.
13988 Reported by: J. Nick Terry
13989
e50fca4a
VS
139902010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13991
13992 Move embedding routines to partmap sources files.
13993
13994 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
13995 [GRUB_UTIL]: New variable.
13996 (gpt_partition_map_iterate): Set part.parent.
13997 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
13998 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
13999 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
14000 New function.
14001 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
14002 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
14003 (grub_partition_map) [GRUB_UTIL]: New field embed.
14004 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
14005 (setup): Use ->embed.
14006
f00478b7
VS
140072010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14008
14009 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
14010 function.
14011 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
14012 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
14013
2b94e3ff
YB
140142010-09-15 Yves Blusseau <blusseau@zetam.org>
14015
14016 Add function to get completions from usage.
14017
14018 * util/bash-completion.d/grub-completion.bash.in: Add function to get
14019 completions from usage. Use LC_ALL=C to get options properly.
14020
2e04a006
VS
140212010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14022
14023 * grub-core/gnulib/basename-lgpl.c: Imported.
14024 * grub-core/gnulib/basename.c: Likewise.
14025 * grub-core/gnulib/dirname-lgpl.c: Likewise.
14026 * grub-core/gnulib/dirname.c: Likewise.
14027 * grub-core/gnulib/dirname.h: Likewise.
14028 * grub-core/gnulib/stripslash.c: Likewise.
14029
5dcdf93a
VS
140302010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14031
14032 * grub-core/gnulib/error.c: Resynced.
14033 * grub-core/gnulib/getopt.c: Likewise.
14034 * grub-core/gnulib/getopt_int.h: Likewise.
14035 * grub-core/gnulib/regex.h: Likewise.
14036 * grub-core/gnulib/regex_internal.c: Likewise.
14037 * grub-core/gnulib/regex_internal.h: Likewise.
14038
014f47b7
SJ
140392010-09-15 Szymon Janc <szymon@janc.net.pl>
14040
14041 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
14042 CRC calculations and validity checks.
14043 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
14044 calculations.
14045
dd521a4a
SJ
140462010-09-15 Szymon Janc <szymon@janc.net.pl>
14047
14048 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
14049
79c4eeb9
VS
140502010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14051
14052 Fix incorrect echo options handling.
14053 Reported by: Yves Blusseau.
14054
14055 * include/grub/command.h (grub_command_flags_t): New flags
14056 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
14057 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
14058 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
14059
ed80f7d5
VS
140602010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14061
14062 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
14063 users updated.
14064 (GRUB_COMMAND_FLAG_MENU): Likewise.
14065 (GRUB_COMMAND_FLAG_BOTH): Likewise.
14066 (GRUB_COMMAND_FLAG_TITLE): Removed.
14067 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
14068 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
14069 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
14070 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
14071 (grub_command_flags_t): New enum. All users updated.
14072
5fe7620a
SG
140732010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
14074
14075 Fix solaris compilation.
14076
14077 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
14078 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
14079 (grub-emu-list): Likewise.
14080
545b752f
VS
140812010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14082
14083 Remove deprecated root command.
14084
14085 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
14086 updated.
14087
6c1a338c
VS
140882010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14089
14090 * util/i386/pc/grub-setup.c: Merge this ...
14091 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
14092 * util/grub-setup.c: ... into this.
14093 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
14094 New struct.
14095
140962010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14097
14098 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
14099 possible.
14100
d2ea4551
VS
141012010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14102
14103 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
14104 allocate p.
14105
3c3b5040
VS
141062010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14107
14108 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
14109 explicit root argument to set to prevent UUID to be interpreted as
14110 argument to set.
14111
b71c3fae
VS
141122010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14113
14114 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
14115
275433e6
VS
141162010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14117
14118 Don't export grub_gate_a20.
14119
14120 * grub-core/kern/i386/pc/init.c: Remove leftovers.
14121 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
14122 to ...
14123 (grub_gate_a20): ... this. All users updated.
14124 * include/grub/i386/pc/init.h: Removed. All users updated.
14125
a5dbb1f1
VS
141262010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14127
14128 Create euro.pf2 which supports most European languages.
14129
14130 * Makefile.am (grubdata_DATA): Add euro.pf2.
14131 (euro.pf2): New target.
14132 (CLEANFILES): Add euro.pf2.
14133
62a747cb
VS
141342010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14135
14136 * configure.ac: Disable emu-usb by default to prevent inadvertent
14137 device takeover.
14138
608e43b1
VS
141392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14140
14141 Disable usbserial on grub-emu since our libusb code isn't good enough
14142 yet.
14143
14144 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
14145 (usbserial_pl2303): Likewise.
14146 (usbserial_ftdi): Likewise.
14147
94564f81
VS
141482010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14149
14150 * include/grub/disk.h (grub_disk): Remove has_partitions.
14151 All users updated.
14152 * disk/loopback.c (grub_loopback): Remove has_partitions.
14153 All users updated.
14154 (options): Remove partitions. All users updated.
14155 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
14156 * util/i386/pc/grub-setup.c (setup): copy partition table only when
14157 actual partition table is found.
14158
3352800b
VS
141592010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14160
14161 Remove readability checks (too many false negatives).
14162
14163 * util/grub-install.in: Remove readability checks.
14164 * util/grub-mkconfig.in: Likewise.
14165 * util/grub.d/10_hurd.in: Likewise.
14166 * util/grub.d/10_kfreebsd.in: Likewise.
14167 * util/grub.d/10_linux.in: Likewise.
14168 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
14169 way.
14170
2419f17a
VS
141712010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14172
14173 Enable acpi shutdown on all ACPI platforms.
14174
14175 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
14176 on coreboo, multiboot and EFI.
14177 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
14178 (grub_acpi_halt): Likewise.
14179 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
14180 (grub_cmd_halt): Don't call grub_acpi_halt directly.
14181 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
14182 * grub-core/lib/i386/halt.c (grub_halt)
14183 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
14184
0575c7c3
VS
141852010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14186
14187 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
14188 context.
14189
54ac3cd1
VS
141902010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14191
14192 * grub-core/video/efi_gop.c: Fix over-80-chars line.
14193 * grub-core/video/efi_uga.c: Likewise.
14194
b2a30ac5
VS
141952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14196
14197 Filter devaliases and never open same device twice.
14198
14199 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
14200 (last_ihandle): Likewise.
14201 (ofdisk_hash_ent): New member shortest.
14202 (ofdisk_hash_add): Add canonical path too.
14203 (scan): New function.
14204 (grub_ofdisk_iterate): Iterate over hashed entries.
14205 (compute_dev_path): Don't add :0.
14206 (grub_ofdisk_open): Don't really open the disk.
14207 (grub_ofdisk_close): Avoid closing unrelated disk.
14208 (grub_ofdisk_read): Implement reopen logic.
14209 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
14210 New function.
14211 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
14212 New proto.
14213
fb53b340
VS
142142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14215
14216 Fix sparc64.
14217
14218 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
14219 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
14220 right address. Add sparc64_ieee1275_ldflags.
14221 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
14222 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
14223 to grub_host_to_target_addr
14224 (load_image): Likewise.
14225
f452b040
VS
142262010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14227
14228 * grub-core/normal/completion.c (complete_file): Handle device
14229 containing slash.
14230 Fix based on patch by Doug Nazar.
14231
9b5b2541
VS
142322010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14233
14234 grub-mknetdir script.
14235
14236 * Makefile.util.def (grub-mknetdir): New module.
14237 * tests/util/grub-shell.in: Support boot=net
14238 * util/grub-mknetdir.in: New file.
14239
9d2be652
VS
142402010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14241
14242 videoinfo on non-vbe.
14243
14244 * grub-core/Makefile.core.def (vbeinfo): Removed.
14245 (vbetest): Removed.
14246 (videoinfo): New module.
14247 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
14248 * grub-core/commands/i386/pc/vbetest.c: Removed.
14249 * grub-core/commands/videoinfo.c: New file.
14250 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
14251 specification.
14252 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
14253 as vbetest.
14254 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
14255 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
14256 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
14257 mode_number. New parameter mode. All users updated.
14258 (grub_video_gop_iterate): New function.
14259 (grub_video_efi_gop): New member iterate.
14260 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
14261 (grub_vbe_set_video_mode): Remove setting useless fields.
14262 (vbe2videoinfo): New function.
14263 (grub_video_vbe_iterate): Likewise.
14264 (grub_video_vbe_setup): Use vbe2videoinfo.
14265 (grub_video_vbe_print_adapter_specific_info): New function.
14266 (grub_video_vbe_adapter): New fields iterate and
14267 print_adapter_specific_info.
14268 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
14269 All users updated.
14270 (grub_video_mode_info): New field mode_number.
14271 (grub_video_adapter): New fields iterate and
14272 print_adapter_specific_info.
14273
179503f5
TG
142742010-09-13 Tristan Gingold <gingold@free.fr>
142752010-09-13 Robert Millan <rmh.grub@aybabtu.com>
142762010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14277
14278 * grub-core/commands/efi/lsefisystab.c: New file.
14279 * grub-core/commands/efi/lssal.c: Likewise.
14280 * grub-core/Makefile.core.def (lsacpi): New module.
14281 (lsefisystab): Likewise.
14282 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
14283 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
14284 (grub_efi_sal_system_table): New struct.
14285 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
14286 (grub_efi_sal_system_table_memory_descriptor): Likewise.
14287 (grub_efi_sal_system_table_platform_features): Likewise.
14288 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
14289 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
14290 (grub_efi_sal_system_table_ap_wakeup): Likewise.
14291 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
14292
cf9827de
VS
142932010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14294
14295 Support explicit user claim that a device is BIOS-visible.
14296
14297 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
14298 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
14299 * grub-core/kern/emu/hostdisk.c
14300 (convert_system_partition_to_system_disk): Support mdX.
14301 (find_system_device): New parameter add. All users updated.
14302 (grub_util_biosdisk_is_present): New function.
14303 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
14304 proto.
14305
53f0eb1f
VS
143062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14307
14308 Search hints support.
14309
14310 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
14311 All users updated.
14312
b23ffd70
YB
143132010-09-13 Yves Blusseau <blusseau@zetam.org>
14314
14315 Bash completion script for util commands
14316
14317 * Makefile.am: Add util/bash-completion.d directory
14318 * configure.ac: Likewise.
14319 * util/bash-completion.d/Makefile.am: New file.
14320 * util/bash-completion.d/grub-completion.bash.in: Likewise.
14321
d547dc28
VS
143222010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14323
14324 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
14325 (print_backlog): set backlog_ucs4 and backlog_glyphs.
14326 Reported by: Yves Blusseau.
14327
2fc8ccb9
VS
143282010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14329
14330 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
14331 partition size and offset.
14332
d8a84076
VS
143332010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14334
14335 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
14336
84fb3b3d
VS
143372010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14338
14339 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
14340
768ec2e2
VS
143412010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14342
14343 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
14344 (grub_xvasprintf): Likewise.
14345
4870900f
VS
143462010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14347
14348 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
14349
faca6bec
VS
143502010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14351
14352 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
14353 args ending with NULL.
14354
143552010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
14356
14357 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
14358 pointer.
14359
3c70f225
SJ
143602010-09-11 Szymon Janc <szymon@janc.net.pl>
14361
14362 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
14363
4df7996d
VS
143642010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
14365
14366 Shutdown using ACPI.
14367
14368 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
14369 * grub-core/commands/acpihalt.c: New file.
14370 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
14371 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
14372 (grub_acpi_halt): New proto.
14373 (GRUB_ACPI_SLP_EN): New const.
14374 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
14375 (GRUB_ACPI_OPCODE_*): New enum.
14376 (GRUB_ACPI_EXTOPCODE_*): Likewise.
14377
126b4c32
TG
143782010-09-11 Tristan Gingold <gingold@free.fr>
143792010-09-11 Robert Millan <rmh.grub@aybabtu.com>
143802010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
14381
14382 * commands/lsacpi.c: New file.
14383 * grub-core/Makefile.core.def (lsacpi): New module.
14384 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
14385 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
14386 (grub_acpi_madt_entry_header): New struct.
14387 (grub_acpi_madt): Likewise.
14388 (grub_acpi_madt_entry_interrupt_override): Likewise.
14389 (grub_acpi_madt_entry_sapic): Likewise.
14390 (grub_acpi_madt_entry_lsapic): Likewise.
14391 (grub_acpi_madt_entry_platform_int_source): Likewise.
14392 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
14393 (PRIuGRUB_UINT32_T): Likewise.
14394 (PRIxGRUB_UINT64_T): Likewise.
14395
1aa4fe88
VS
143962010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
14397
14398 Implement loading palette on ieee1275_fb.
14399
14400 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
14401 (have_setcolors): Likewise.
14402 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
14403 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
14404 (grub_video_ieee1275_set_palette): Implement.
14405
25761e13
VS
144062010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
144072010-09-11 Colin Watson <cjwatson@ubuntu.com>
14408
14409 * util/grub-install.in (grub_partition): New variable.
14410 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
14411 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
14412 Fixes a bug reported by Yves Blusseau.
14413
050abaea
VS
144142010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
14415
14416 Fix emu on mipsel.
14417
14418 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
14419 =grub_cpu_flush_cache on all mips and not only yeeloong.
14420 * configure.ac (COND_mips): New conditional.
14421 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
14422 platforms.
14423 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
14424 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
14425 [GRUB_LINKER_HAVE_INIT]: New function.
14426 (grub_emu_post_init): Likewise.
14427 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
14428 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
14429 * include/grub/cache.h (_mips): Include mips/cache.h.
14430 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
14431 LVM and RAID prototypes.
14432 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
14433 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
14434 function.
14435
5ed7d816
CW
144362010-09-10 Colin Watson <cjwatson@ubuntu.com>
14437
14438 * util/grub-install.in: Don't try to verify core.img until after
14439 running grub-mkimage to create it.
14440
90367e04
RM
144412010-09-10 Robert Millan <rmh@gnu.org>
14442
14443 * util/grub.d/10_hurd.in: Add misc readability checks.
14444 * util/grub.d/10_kfreebsd.in: Likewise.
14445 * util/grub.d/10_linux.in: Likewise.
14446
c452fa66
CW
144472010-09-10 Colin Watson <cjwatson@ubuntu.com>
14448
14449 * util/grub-install.in: ${imgext} won't be defined here until the
14450 install branch is merged. For the meantime, only verify core.img on
14451 i386-pc and sparc64-ieee1275 platforms.
14452
c38fe9f4
RM
144532010-09-10 Robert Millan <rmh@gnu.org>
14454
14455 Solaris support in grub_find_zpool_from_dir(). Thanks
14456 Seth Goldberg for referring to getextmntent() facility.
14457
14458 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
14459 `sys/mkdev.h'.
14460 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
14461 `<sys/mnttab.h>'.
14462 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
14463 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
14464 method for finding zpool name.
14465
905f7773
CW
144662010-09-10 Colin Watson <cjwatson@ubuntu.com>
14467
14468 grub-fstest needs the host and hostfs modules while other utilities
14469 actively require those modules to be absent, so grub-fstest needs
14470 its own initialisation and finalisation code.
14471
14472 * Makefile.am (grub_fstest.pp): New target.
14473 (grub_fstest_init.lst): Likewise.
14474 (grub_fstest_init.c): Likewise.
14475 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
14476
fb90b546
RM
144772010-09-10 Robert Millan <rmh@gnu.org>
14478
14479 * configure.ac: Check for `struct statfs.f_fstypename' and
14480 `struct statfs.f_mntfromname'.
14481
14482 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
14483 kFreeBSD-specific code.
14484
66d4bea5
RM
144852010-09-10 Robert Millan <rmh@gnu.org>
14486
14487 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
14488 on ZFS. Now non-main filesystems are supported as / too.
14489
b6a690ee
CW
144902010-09-09 Colin Watson <cjwatson@ubuntu.com>
14491
14492 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
14493 and grub-core/disk/host.c to ...
14494 (grub-fstest): ... here. Having the host disk implementation
14495 present confuses grub-probe and other utility programs.
14496
14497 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
14498 when writing to a file, not when writing to stdout.
14499
8901b00c 145002010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
14501
14502 * tests/partmap_test.in: New test for partitions.
14503 * Makefile.util.def: Rules for new test.
14504
7bf45fdd
RM
145052010-09-09 Robert Millan <rmh@gnu.org>
14506
14507 * util/grub-probe.c (probe): Fix a pair of unhandled error
14508 conditions.
14509
4dfbc574
RM
145102010-09-09 Robert Millan <rmh@gnu.org>
14511
14512 Basic Btrfs support (detection and UUID).
14513
14514 * grub-core/fs/btrfs.c: New file.
14515 * Makefile.util.def (library): Register btrfs.c.
14516 * grub-core/Makefile.core.def: Likewise.
14517
6b8e78ae
RM
145182010-09-08 Robert Millan <rmh@gnu.org>
14519
14520 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
14521 with (optional) parameters to specify device and relative path.
14522 * util/grub-install.in: Use is_path_readable_by_grub() to
14523 verify readability of a few critical files.
14524 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
14525 verify readability of grub.cfg.new.
14526
27f21a8b
VS
145272010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
14528
14529 Split minix.mod into minix.mod and minix2.mod.
14530
14531 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
14532 * grub-core/Makefile.core.def (minix2): New module.
14533 * grub-core/fs/minix.c: Use definitions instead of runtime version
14534 checking.
14535 * grub-core/fs/minix2.c: New file.
14536
c0e53ea5
YB
145372010-09-08 Yves Blusseau <blusseau@zetam.org>
14538
14539 Add new --boot-directory option to replace --root-directory
14540
14541 * util/grub-install.in: Add new --boot-directory option
14542 * util/grub-reboot.in: Likewise.
14543 * util/grub-set-default.in: Likewise.
14544
b9fe6ea2
YB
145452010-09-08 Yves Blusseau <blusseau@zetam.org>
14546
14547 * util/grub-mkconfig.in: Use new variable.
14548
d87aedff
YB
145492010-09-08 Yves Blusseau <blusseau@zetam.org>
14550
14551 * configure.ac: Define some useful variables.
14552
e55e8495
VS
145532010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
14554
14555 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14556 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
14557 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
14558 Use terminfo and don't use cursor-on/cursor-off unless it's known
14559 to work.
14560 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
14561 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
14562
6fa6d675
CW
145632010-09-08 Colin Watson <cjwatson@ubuntu.com>
14564
14565 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
14566 starts with "(,", fill the drive containing the loaded image in
14567 between those two characters, but expect that a full partition
14568 specification including partition map names will follow.
14569
92f2aef0
RM
145702010-09-08 Robert Millan <rmh@gnu.org>
14571
14572 * configure.ac: Remove `--enable-grub-fstest' option.
14573 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
14574
14575 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
14576 `grub-fstest' instead of `grub-probe' for readability verification.
14577 * util/grub-probe.c (probe): Remove readability verification kludge.
14578
99fd620d
RM
145792010-09-08 Robert Millan <rmh@gnu.org>
14580
14581 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
14582 initializing `GRUB_FS'.
14583
058e30ac 145842010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
14585
14586 Not command (!) support to GRUB script.
14587
14588 * tests/grub_script_not.in: New test.
14589 * Makefile.util.def: Rules for new test.
14590
14591 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
14592 ! command as a special case.
14593 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
14594
b61d05ed 145952010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
14596
058e30ac 14597 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
14598 grub_free.
b61d05ed 14599
4d69c786 146002010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
14601
14602 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
14603
aa3119c4 146042010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
14605
14606 * docs/grub.texi (Shell-like scripting): Documentation for break,
14607 continue, shift and return commands.
14608
db0f7e3d
VS
146092010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
14610
14611 Rename CD-ROM to cd on BIOS.
14612
14613 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
14614 "cd".
14615 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
14616
88b87c93
VS
146172010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14618
14619 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
14620 * util/grub-probe.c (main): Likewise.
14621 * util/i386/pc/grub-setup.c (main): Likewise.
14622 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
14623 Reported and debugged by: alexxy
14624
294f324d
VS
146252010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14626
14627 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
14628 diagnostic info.
14629
d7ee3441
JS
146302010-09-05 Jo Shields <directhex@apebox.org>
14631
14632 * util/grub.d/30_os-prober.in: Add missing classes.
14633
d7e06c1f
VS
146342010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14635
14636 * docs/grub.texi (Theme file format): Document new position format.
14637
fc157e53
VS
146382010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14639
14640 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
14641 a table. Use @code instead of @verbatim.
14642
506e9a1c
CB
146432010-09-05 Colin D Bennett <colin@gibibit.com>
14644
14645 Gfxmenu documentation.
14646
14647 * docs/grub.texi (Theme file format): New chapter.
14648
f0aff67c
SJ
146492010-09-05 Szymon Janc <szymon@janc.net.pl>
14650
14651 * grub-core/Makefile.core.def (xzio): New module.
14652 * grub-core/io/xzio.c: New file.
14653 * grub-core/lib/xzembed/xz.h: New file (from xembed).
14654 * grub-core/lib/xzembed/xz_config.h: Likewise.
14655 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
14656 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
14657 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
14658 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
14659 * grub-core/lib/xzembed/xz_private.h: Likewise.
14660 * grub-core/lib/xzembed/xz_stream.h: Likewise.
14661 * include/grub/file.h (grub_file_filter_id): New compression filter
14662 GRUB_FILE_FILTER_XZIO.
14663
82a85062
VS
146642010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14665
14666 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
14667 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
14668 size.
14669
3579415d
VS
146702010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14671
14672 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
14673 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
14674
5124ae6d
VS
146752010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14676
14677 Uncompressed checksum support.
14678
14679 * grub-core/commands/hashsum.c (options): Add option --uncompress.
14680 (check_list): New parameter uncompress.
14681 (grub_cmd_hashsum): Handle --uncompress.
14682
9aadb3d1
VS
146832010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14684
14685 Reintroduce testload.
14686
14687 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
14688 from here ...
14689 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
14690 (GRUB_MOD_INIT): New function.
14691 (GRUB_MOD_FINI): Likewise.
14692 * grub-core/Makefile.core.def (testload): New module.
14693
a17792c3
SJ
146942010-09-05 Szymon Janc <szymon@janc.net.pl>
14695
14696 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
14697 (uint8_t): New type.
14698 (uint16_t): Likewise.
14699 (uint32_t): Likewise.
14700 (uint64_t): Likewise.
14701
b81e40a3
SJ
147022010-09-05 Szymon Janc <szymon@janc.net.pl>
14703
14704 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
14705
fc2ef117
VS
147062010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
14707
14708 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
14709 Made static.
14710 (grub_gzfile_open): Removed. All users updated.
14711 (GRUB_MOD_INIT): New function.
14712 (GRUB_MOD_FINI): Likewise.
14713 * grub-core/kern/file.c (grub_file_filters_all): New variable.
14714 (grub_file_filters_enabled): Likewise.
14715 (grub_file_open): Handle filters.
14716 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
14717 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
14718 * include/grub/file.h (grub_file_filter_id_t): New type.
14719 (grub_file_filter_t): Likewise.
14720 (grub_file_filters_all): New extern variable.
14721 (grub_file_filters_enabled): Likewise.
14722 (grub_file_filter_register): New inline function.
14723 (grub_file_filter_unregister): Likewise.
14724 (grub_file_filter_disable): Likewise.
14725 (grub_file_filter_disable_compression): Likewise.
14726 * include/grub/gzio.h: Removed.
14727
35ee15e0
BC
147282010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14729
14730 Filename expansion support for wildcards in GRUB script.
14731
14732 * tests/grub_script_expansion.in: New test.
14733 * Makefile.util.def: Rule for new test.
14734
14735 * grub-core/commands/wildcard.c: New file, implements filename
14736 expansion support for GRUB script.
14737 * grub-core/Makefile.core.def: Rule update for regexp.mod.
14738 * grub-core/script/argv.c: Cosmetic changes.
14739 * grub-core/script/execute.c (grub_script_arglist_to_argv):
14740 Refactored to perform wildcard expansion on arguments.
14741 * include/grub/script_sh.h (grub_script_wildcard_translator): New
14742 struct.
14743
14744 * tests/util/grub-shell.in: Fix quoting for read input.
14745
5f0c4aca
BC
147462010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14747
14748 Support for updating environment variables with matched substrings
14749 of regexp.
14750
14751 * tests/grub_cmd_regexp.in: New test.
14752 * Makefile.util.def: Rule for new test.
14753
14754 * grub-core/commands/regexp.c: New option -s to update environment
14755 variables with regexp matches.
14756
3759a35f
SJ
147572010-09-04 Szymon Janc <szymon@janc.net.pl>
14758
14759 * include/grub/file.h (grub_file): New member not_easly_seekable.
14760 (grub_file_seekable): New inline function.
14761 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
14762 easily seekable.
14763 (grub_gzio_open): Set not_easly_seekable.
14764 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
14765 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
14766
ed8c6dec
BC
147672010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14768
14769 Support for options to appear multiple times on cmdline.
14770
14771 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
14772 * grub-core/commands/extcmd.c: Support for repeatable option.
14773 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
14774 repeatable option support.
14775
14776 Refactor menuentry into a regular command.
14777
14778 * grub-core/commands/menuentry.c: New file, menuentry command
14779 implementation.
14780 * grub-core/Makefile.core.def: Rule update for normal.mod.
14781 * grub-core/normal/main.c: Moved menuentry creation to
14782 grub-core/commands/menuentry.c.
14783 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
14784 (grub_menu_execute_entry_real): Removed.
14785 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
14786 function.
14787 (grub_script_execute_menuentry): Removed.
14788 * grub-core/script/parser.y (menuentry): Removed.
14789 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
14790 * grub-core/script/yylex.l (menuentry): Removed.
14791 * include/grub/menu.h (grub_menu_init): New prototype.
14792 (grub_menu_fini): New prototype.
14793 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
14794 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
14795 (grub_script_execute_sourcecode): New prototype.
14796
dacd0cf0
BC
147972010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14798
14799 "return" command for GRUB script functions.
14800
14801 * tests/grub_script_return.in: New test.
14802 * Makefile.util.def: Rules for new test.
14803
14804 * grub-core/script/execute.c (grub_script_return): New function.
14805 * grub-core/script/main.c: Register/unregister return commaond.
14806 * include/grub/script_sh.h (grub_script_return): New prototype.
14807
52e72f9d
BC
148082010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14809
14810 "setparams" command to update positional parameters.
14811
14812 * tests/grub_script_setparams.in: New test.
14813 * Makefile.util.def: Rules for new test.
14814
14815 * grub-core/script/argv.c (grub_script_argv_make): New function.
14816 * grub-core/script/execute.c (replace_scope): New function.
14817 (grub_script_setparams): New function.
14818 * grub-core/script/lexer.c: Remove unused variables.
14819 * grub-core/script/main.c: Register/unregister setparams command.
14820 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
14821 (grub_script_setparams): New prototype.
14822
25b60c91
BC
148232010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14824
14825 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
14826 grub_free order.
14827
37e7bf68
BC
148282010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14829
14830 Support for passing block of commands as an argument to extcmds.
14831
14832 * Makefile.util.def: Rules for new test.
14833 * tests/grub_script_blockarg.in: New test.
14834 * grub-core/tests/test_blockarg.c: New file, block argument
14835 command used in the test.
14836
14837 * include/grub/extcmd.h (grub_extcmd_context): New struct.
14838 (grub_register_extcmd_prio): New function prototype.
14839 (grub_extcmd_dispatcher): New function prototype.
14840 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
14841 type.
14842 * include/grub/script_sh.h (struct grub_script): New members
14843 `children', `next_siblings' and `refcnt' for block arguments and
14844 reference counting.
14845 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
14846 (grub_script_arg): New member `script' for block argument.
14847 (grub_script_argv): New member `script' for block argument.
14848 (grub_parser_param): New member `scripts' for block argument.
14849 (grub_script_mem_free): New extern function prototype.
14850 (grub_script_ref): New function prototype.
14851 (grub_script_unref): New function prototype.
14852
14853 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
14854 extcmd form to support block arguments.
14855 * grub-core/script/argv.c: Block arguments support.
14856 * grub-core/script/execute.c: Likewise.
14857 * grub-core/script/lexer.c: Likewise.
14858 * grub-core/script/main.c: Likewise.
14859 * grub-core/script/script.c: Likewise.
14860 * grub-core/script/parser.y: Likewise. New `block' and `block0'
14861 non-terminals.
14862
14863 * grub-core/commands/acpi.c: Update extcmd implementations with
14864 grub_extcmd_context_t.
14865 * grub-core/commands/cat.c: Likewise.
14866 * grub-core/commands/echo.c: Likewise.
14867 * grub-core/commands/extcmd.c: Likewise.
14868 * grub-core/commands/hashsum.c: Likewise.
14869 * grub-core/commands/hdparm.c: Likewise.
14870 * grub-core/commands/help.c: Likewise.
14871 * grub-core/commands/hexdump.c: Likewise.
14872 * grub-core/commands/i386/cpuid.c: Likewise.
14873 * grub-core/commands/i386/pc/drivemap.c: Likewise.
14874 * grub-core/commands/i386/pc/halt.c: Likewise.
14875 * grub-core/commands/i386/pc/sendkey.c: Likewise.
14876 * grub-core/commands/iorw.c: Likewise.
14877 * grub-core/commands/keystatus.c: Likewise.
14878 * grub-core/commands/loadenv.c: Likewise.
14879 * grub-core/commands/ls.c: Likewise.
14880 * grub-core/commands/lspci.c: Likewise.
14881 * grub-core/commands/memrw.c: Likewise.
14882 * grub-core/commands/probe.c: Likewise.
14883 * grub-core/commands/search_wrap.c: Likewise.
14884 * grub-core/commands/setpci.c: Likewise.
14885 * grub-core/commands/sleep.c: Likewise.
14886 * grub-core/disk/loopback.c: Likewise.
14887 * grub-core/hello/hello.c: Likewise.
14888 * grub-core/loader/i386/bsd.c: Likewise.
14889 * grub-core/loader/xnu.c: Likewise.
14890 * grub-core/term/gfxterm.c: Likewise.
14891 * grub-core/term/serial.c: Likewise.
14892 * grub-core/tests/lib/functional_test.c: Likewise.
14893
888d1500
BC
148942010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
14895
14896 Multi-line quoted strings support.
14897
14898 * grub-core/script/lexer.c (append_newline): Removed.
14899 (grub_script_lexer_yywrap): Refactored.
14900 (grub_script_lexer_init): Refactored.
14901 * grub-core/script/yylex.l (yywrap): New function.
14902 (grub_lexer_resplit): New function.
14903 (grub_lexer_unput): New function.
14904 * include/grub/script_sh.h (grub_lexer_param): New members, unput
14905 and resplit.
14906 * tests/grub_script_echo1.in: Added few more testcases.
14907
dda060dd
VS
149082010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
14909
14910 * grub-core/kern/misc.c: Don't add abort alias in utils.
14911 Reported by: echoline.
14912
6556eba9
BC
149132010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
14914
14915 Add missing files into "make dist" tarball for other platforms.
14916
14917 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
14918 * conf/Makefile.common (dist_noinst_DATA): New variable.
14919 * conf/Makefile.extra-dist: Added missing make dist files.
14920 * grub-core/Makefile.core.def: Likewise.
14921
c8e7bf5f
VS
149222010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
14923
14924 Compress grub_prefix.
14925
14926 * grub-core/boot/i386/pc/lnxboot.S: Use
14927 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
14928 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
14929 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
14930 GRUB_MACHINE_PREFIX_END. All users updated.
14931 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
14932 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
14933 + 0x40.
14934 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
14935 * util/grub-mkimage.c (image_target_desc): Change data_end to
14936 prefix_end. All users updated.
14937
a7c00cdb
VS
149382010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
14939
14940 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
14941 value.
14942 (grub_openbsd_boot): Likewise.
14943 (grub_netbsd_boot): Likewise.
14944 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
14945 (grub_xnu_boot): Likewise.
14946
9f915872
VS
149472010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14948
14949 * configure.ac: Clean LIBS variable after tests.
14950
efa1bee7
CW
149512010-09-02 Colin Watson <cjwatson@ubuntu.com>
14952
14953 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
14954
61d720e5
VS
149552010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14956
14957 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
14958 echo if libdevmapper will be used.
14959
ef8e0ec8
IT
149602010-09-02 Ian Turner <Ian.Turner@deshaw.com>
14961
14962 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
14963 constant for the same file.
14964
03e261d8
VS
149652010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14966
14967 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
14968
c2a4eba6
CW
149692010-09-02 Colin Watson <cjwatson@ubuntu.com>
14970
14971 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
14972 grub-core/*.pp.
14973
9056cbf3
CW
149742010-09-02 Colin Watson <cjwatson@ubuntu.com>
14975
14976 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
14977 required by the boot protocol.
14978
14979 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
14980 ebp and edi members.
14981 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
14982 state.ebp and state.edi.
14983 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
14984 %ebp and %edi according to grub_relocator32_ebp and
14985 grub_relocator32_edi respectively.
14986 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
14987 and state.edi.
14988
529cc99a
VS
149892010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14990
14991 Add i386-pc-pxe image target.
14992
14993 * util/grub-mkimage.c (image_target_desc): New enum value
14994 IMAGE_I386_PC_PXE.
14995 (image_targets): New target i386-pc-pxe.
14996 (generate_image): Handle i386-pc-pxe image.
14997
9a093920
VS
149982010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14999
15000 Fix grub_pxe_scan.
15001
15002 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
15003 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
15004 All users updated.
15005 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
15006 (grub_pxe_pxenv): Correct type.
15007
f9cefc4e
CW
150082010-09-01 Colin Watson <cjwatson@ubuntu.com>
15009
15010 * NEWS: Document most of the important changes since 1.98.
15011
4066f57f
CW
150122010-09-01 Colin Watson <cjwatson@ubuntu.com>
15013
15014 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
15015 generated manual page) a little.
15016
da2891f9
CW
150172010-09-01 Colin Watson <cjwatson@ubuntu.com>
15018
15019 * docs/grub.texi: Add myself as an author.
15020
ad717fae
VS
150212010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
15022
15023 * Makefile.util.def (libgrub.a): Add missing sunpc.
15024 Reported by: Seth Goldberg.
15025
eefe8abd
VS
150262010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15027
15028 Interrupt wrapping and code simplifications.
15029
9494ef9a
VS
15030 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
15031 x86_noieee1275 which are functionaly equivalent in this case.
15032 (grub-install): Make source on each platform explicit. Enable on
15033 all noemu.
15034 * gentpl.py (x86_efi_pc): Removed group.
15035 (x86_noefi): Likewise.
15036 (i386_noefi): Likewise.
15037 (x86_noieee1275): Likewise.
15038 (i386_noieee1275): Likewise.
15039 (i386_noefi_noieee1275): Likewise.
15040 (i386_pc_qemu_coreboot): Likewise.
15041 (i386_coreboot_multiboot): Likewise.
15042 (i386_pc_coreboot_multiboot_qemu): Likewise.
15043 (x86_noefi_mips): Likewise.
15044 (noieee1275): Likewise.
15045 (ieee1275_mips): Likewise.
15046 (noemu_noieee1275): Likewise.
15047 (cmos): New group.
15048 (usb): Likewise.
15049 (videoinkernel): Likewise.
15050 (videomodules): Likewise.
eefe8abd 15051 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
15052 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
15053 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
15054 include/grub/loader.h, include/grub/msdos_partition.h,
15055 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
15056 include/grub/machine/console.h, include/grub/machine/vga.h,
15057 include/grub/machine/vbe.h, include/grub/machine/init.h,
15058 include/grub/machine/kernel.h, include/grub/cpu/time.h,
15059 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 15060 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
15061 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
15062 * grub-core/Makefile.core.def (kernel): Explicit the source for
15063 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
15064 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
15065 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
15066 Use videoinkernel tag.
15067 (usb): Enable on all usb.
15068 (usbserial_common): Likewise.
15069 (usbserial_pl2303): Likewise.
15070 (usbserial_ftdi): Likewise.
15071 (uhci): Enable on all x86.
15072 (ohci): Enable on all pci.
15073 (cmostest): Enable on all CMOS.
15074 (acpi): Include commands/acpi.c on all platforms.
15075 (halt): Add relevant lib/*/halt.c.
15076 (hdparm): Enable on all pci.
15077 (lspci): Likewise.
15078 (usbtest): Enable on all usb.
15079 (ata): Enable on all pci.
15080 (ata_pthru): Likewise.
15081 (usbms): Enable on all usb.
15082 (usb_keyboard): Likewise.
15083 (font): Use tag videomodules.
15084 (bufio): Likewise.
15085 (datetime): Use tag cmos. Enable on all noemu.
15086 (mmap): Use tags common and x86.
15087 (gfxterm): Use tag videomodules.
15088 (bitmap): Likewise.
15089 (bitmap_scale): Likewise.
15090 (video_fb): Likewise.
15091 (video): Likewise.
15092 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
15093 adjust padding accordingly. All users updated.
15094 (grub_ohci_transaction): Fix bad format specification.
15095 (GRUB_MOD_INIT): Add asserts for struct size.
15096 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
15097 (grub_alloc_td): Likewise.
15098 (grub_free_queue): Likewise.
15099 (grub_uhci_transfer): Likewise.
15100 (grub_uhci_transaction): Fix bad format specification.
15101 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
15102 (grub_usb_bulk_readwrite): Likewise.
15103 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
15104 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
15105 Made static.
15106 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
15107 Made static.
15108 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
15109 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
15110 Transformed into C.
15111 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
15112 Moved from here ...
15113 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
15114 ... here. Transformed into C. Made static.
15115 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
15116 Moved from here ...
15117 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
15118 ... here. Transformed into C. Made static.
15119 * grub-core/kern/i386/pc/startup.S
15120 (grub_biosdisk_check_int13_extensions): Moved from here ...
15121 * grub-core/disk/i386/pc/biosdisk.c
15122 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
15123 Made static.
15124 * grub-core/kern/i386/pc/startup.S
15125 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
15126 * grub-core/disk/i386/pc/biosdisk.c
15127 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
15128 Transformed into C. Made static.
15129 * grub-core/kern/i386/pc/startup.S
15130 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
15131 * grub-core/disk/i386/pc/biosdisk.c
15132 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
15133 Transformed into C. Made static.
15134 * grub-core/kern/i386/pc/startup.S
15135 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
15136 * grub-core/disk/i386/pc/biosdisk.c
15137 (grub_biosdisk_get_diskinfo_standard): ... here.
15138 Transformed into C. Made static.
15139 * grub-core/kern/i386/pc/startup.S
15140 (grub_biosdisk_get_num_floppies): Moved from here ...
15141 * grub-core/disk/i386/pc/biosdisk.c
15142 (grub_biosdisk_get_num_floppies): ... here.
15143 Transformed into C. Made static.
15144 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
15145 New function.
15146 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
15147 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
15148 Transformed into C. Made static.
15149 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
15150 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
15151 Transformed into C. Made static.
15152 * grub-core/kern/i386/ieee1275/init.c: Removed.
15153 * grub-core/kern/i386/misc.S: Likewise.
15154 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
15155 Splitted from here ...
15156 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
15157 Transformed into C. Made static. All users updated.
15158 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
15159 Transformed into C. Made static. All users updated.
15160 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
15161 Moved from here...
15162 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
15163 Transformed into C. Made static. All users updated.
15164 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
15165 Moved from here...
15166 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
15167 Transformed into C. Made static. All users updated.
15168 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
15169 Removed (replaced by C version).
15170 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
15171 Moved from here...
15172 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
15173 Transformed into C. Made static.
15174 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
15175 Moved from here...
15176 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
15177 ... here. Transformed into C.
15178 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
15179 Moved from here...
15180 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
15181 ... here. Transformed into C.
15182 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
15183 Moved from here...
15184 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
15185 ... here. Transformed into C. Made static.
15186 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
15187 Moved from here...
15188 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
15189 ... here. Transformed into C.
21ed554b
VS
15190 * grub-core/kern/i386/pc/startup.S
15191 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
15192 * grub-core/video/i386/pc/vbe.c
15193 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
15194 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
15195 Moved from here...
15196 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
15197 ... here. Transformed into C.
15198 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
15199 Moved from here...
15200 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
15201 ... here. Transformed into C.
15202 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
15203 Moved from here...
15204 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
15205 ... here. Transformed into C.
15206 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
15207 Moved from here...
15208 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
15209 ... here. Transformed into C.
15210 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
15211 Moved from here...
15212 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
15213 ... here. Transformed into C. Made static.
15214 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
15215 Moved from here...
15216 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
15217 ... here. Transformed into C. Made static.
15218 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
15219 Moved from here...
15220 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
15221 ... here. Transformed into C. Made static.
15222 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
15223 pxe_rm_entry as third argument.
15224 (grub_bios_interrupt): New function.
15225 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
15226 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
15227 of calling grub_stop.
15228 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
15229 * grub-core/lib/efi/halt.c (grub_halt): ...here.
15230 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
15231 * grub-core/lib/emu/halt.c (grub_halt): ... here.
15232 * grub-core/lib/i386/halt.c: Moved from here ...
15233 * grub-core/lib/i386/halt.c: ... here.
15234 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
15235 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
15236 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
15237 grub_stop_floppy.
15238 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
15239 * include/grub/i386/coreboot/init.h: Removed.
15240 * include/grub/i386/multiboot/init.h: Likewise.
15241 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
15242 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
15243 * include/grub/i386/pc/int.h: New file.
15244 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
15245 (grub_pxe_scan): Removed.
15246 (grub_pxe_call): Update prototype.
15247 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
15248 prototypes.
15249 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
15250 * include/grub/i386/qemu/init.h: Removed.
15251 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
15252 noreturn.
15253 (grub_halt): Likewise.
15254 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
15255 (grub_reboot): Likewise.
15256 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
15257 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
15258 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
15259
215dd471
RM
152602010-08-30 Robert Millan <rmh@gnu.org>
15261
15262 * NEWS: Document addition of ZFS support in `grub-install' and
15263 `grub-mkconfig'.
15264
ebd65b82
BC
152652010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
15266
15267 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
15268 dprintf output.
15269
11721d19
VS
152702010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15271
15272 Remove leftover embedding of font objects.
15273
15274 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
15275 * util/grub-install.in (font): Removed.
15276 * util/grub-mkimage.c (generate_image): Remove font support. All users
15277 updated.
15278
37837d4e
VS
152792010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15280
15281 Remove leftover embedding of font objects.
15282
15283 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
15284 * util/grub-install.in (font): Removed.
15285 * util/grub-mkimage.c (generate_image): Remove font support. All users
15286 updated.
15287
b4c1aae0
VS
152882010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15289
15290 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 15291 Reported by: Ian Turner
b4c1aae0 15292
8920a08d
VS
152932010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15294
15295 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
15296 timeout to avoid indefinite boot stalling.
15297
f21db033
VS
152982010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15299
15300 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
15301 (grub_env_write_color_highlight): Likewise.
15302
9a9de209
VS
153032010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15304
15305 * grub-core/normal/term.c (print_more): Return to normal and not
15306 to standard state after printing "---MORE---".
15307
3dca01d7
VS
153082010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15309
15310 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
15311 Mask out the bit 0x80 since it has other meaning that specifiing color.
15312
0b986c40
VS
153132010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15314
15315 New relocator. Allows for more kernel support and more straightforward
15316 loader writing.
15317
15318 * Makefile.am (BOOTTARGET): New variable.
15319 (QEMU32): Likewise.
15320 (linux.init.x86_64): New target.
15321 (linux.init.i386): Likewise.
15322 (multiboot.elf): Likewise.
15323 (kfreebsd.elf): Likewise.
15324 (kfreebsd.aout): Likewise.
15325 (pc-chainloader.elf): Likewise.
15326 (pc-chainloader.bin): Likewise.
15327 (ntldr.elf): Likewise.
15328 (ntldr.bin): Likewise.
15329 (multiboot2.elf): Likewise.
15330 (kfreebsd.init.x86_64): Likewise.
15331 (kfreebsd.init.i386): Likewise.
15332 (knetbsd.init.i386): Likewise.
15333 (kopenbsd.init.i386): Likewise.
15334 (knetbsd.init.x86_64): Likewise.
15335 (kopenbsd.init.x86_64): Likewise.
15336 (linux-initramfs.i386): Likewise.
15337 (linux-initramfs.x86_64): Likewise.
15338 (kfreebsd-mfsroot.i386.img): Likewise.
15339 (knetbsd.image.i386): Likewise.
15340 (kopenbsd.image.i386): Likewise.
15341 (kopenbsd.image.x86_64): Likewise.
15342 (knetbsd.miniroot-image.i386.img): Likewise.
15343 (kfreebsd-mfsroot.x86_64.img): Likewise.
15344 (knetbsd.image.x86_64): Likewise.
15345 (knetbsd.miniroot-image.x86_64.img): Likewise.
15346 (kfreebsd-mfsroot.i386.gz): Likewise.
15347 (bootcheck-kfreebsd-i386): Likewise.
15348 (kfreebsd-mfsroot.x86_64.gz): Likewise.
15349 (bootcheck-kfreebsd-x86_64): Likewise.
15350 (knetbsd.miniroot-image.i386.gz): Likewise.
15351 (bootcheck-knetbsd-i386): Likewise.
15352 (bootcheck-kopenbsd-i386): Likewise.
15353 (bootcheck-kopenbsd-x86_64): Likewise.
15354 (knetbsd.miniroot-image.x86_64.gz): Likewise.
15355 (bootcheck-knetbsd-x86_64): Likewise.
15356 (bootcheck-linux-i386): Likewise.
15357 (bootcheck-linux-x86_64): Likewise.
15358 (bootcheck-linux16-i386): Likewise.
15359 (bootcheck-linux16-x86_64): Likewise.
15360 (bootcheck-multiboot): Likewise.
15361 (bootcheck-multiboot2): Likewise.
15362 (bootcheck-kfreebsd-aout): Likewise.
15363 (bootcheck-pc-chainloader): Likewise.
15364 (bootcheck-ntldr): Likewise.
15365 (CLEANFILES): Add new targets.
15366 (BOOTCHECKS): New variable.
15367 (.PHONY): Add bootchecks.
15368 (SUCCESSFUL_BOOT_STRING): New variable.
15369 (BOOTCHECK_TIMEOUT): Likewise.
15370 (bootcheck): New target
15371 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
15372 * configure.ac: Correct efiemu excuse.
15373 * docs/grub.texi (Supported kernels): New chapter.
15374 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
15375 include/grub/mm_private.h. Simplify inclusion of
15376 include/grub/boot.h, include/grub/loader.h
15377 and include/grub/msdos_partition.h
15378 (KERNEL_HEADER_FILES) [i386_coreboot]:
15379 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
15380 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
15381 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
15382 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
15383 include/grub/machine/loader.h.
15384 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
15385 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
15386 extra_dist.
15387 (pci.mod): Enable on i386-multiboot.
15388 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
15389 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
15390 i386-qemu.
15391 (relocator.mod): Rewritten.
15392 (aout.mod): Enable on all x86.
15393 (bsd.mod): Likewise.
15394 (ntldr.mod): New module.
15395 (linux.mod): Use loader/i386/linux.c on all x86.
15396 (xnu.mod): Enable on all x86.
15397 (vga_text.mod): disable on EFI and QEMU.
15398 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
15399 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
15400 * grub-core/efiemu/loadcore.c: Likewise.
15401 * grub-core/efiemu/main.c: Likewise.
15402 (grub_efiemu_exit_boot_services): Removed.
15403 (grub_efiemu_finish_boot_services): Likewise.
15404 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
15405 function.
15406 * grub-core/efiemu/i386/nocfgtables.c: New file.
15407 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
15408 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
15409 (grub_efi_finish_boot_services): Moved from here ...
15410 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
15411 Fille finish memory map and related data.
15412 (finish_mmap_buf): New variable.
15413 (grub_efi_uintn_t finish_mmap_size): Likewise.
15414 (grub_efi_uintn_t finish_key): Likewise.
15415 (grub_efi_uintn_t finish_desc_size): Likewise.
15416 (grub_efi_uint32_t finish_desc_version): Likewise.
15417 (grub_efi_is_finished): Likewise.
15418 (grub_efi_get_memory_map): Use saved memory map if EFI is already
15419 finished.
15420 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
15421 (grub_elf64_phdr_iterate): Likewise.
15422 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
15423 (grub_os_area_size): Likewise.
15424 (grub_machine_init): Don't reserve os area.
15425 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
15426 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
15427 * grub-core/kern/i386/loader.S: Removed.
15428 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
15429 (grub_os_area_size): Likewise.
15430 (grub_machine_init): Don't reserve os area.
15431 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
15432 Don't call grub_dl_unload_all.
15433 Don't include loader.S.
15434 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
15435 Declare the memory after _end as available.
15436 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 15437 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 15438 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
15439 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
15440 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
15441 * include/grub/mm_private.h (grub_mm_header): ... here.
15442 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
15443 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
15444 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
15445 (grub_mm_region): ..here. Removed addr. Added pre_size.
15446 All users updated.
15447 * grub-core/kern/mm.c (base): Renamed to ...
15448 (grub_mm_base): ... this. Made global.
15449 (grub_real_malloc): Alloc from end of region.
15450 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
15451 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
15452 * grub-core/kern/powerpc/cache_flush.S: ... here.
15453 * grub-core/lib/efi/relocator.c: New file.
15454 * grub-core/lib/i386/relocator.c: Rewritten.
15455 * grub-core/lib/i386/relocator16.S: New file.
15456 * grub-core/lib/i386/relocator32.S: Likewise.
15457 * grub-core/lib/i386/relocator64.S: Likewise.
15458 * grub-core/lib/i386/relocator_asm.S: Rewritten.
15459 * grub-core/lib/i386/relocator_common.S: New file.
15460 * grub-core/lib/ieee1275/relocator.c: Likewise.
15461 * grub-core/lib/mips/relocator.c: Rewritten.
15462 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
15463 stylistic adjustments.
15464 * grub-core/lib/powerpc/relocator.c: New file.
15465 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
15466 * grub-core/lib/relocator.c: Rewritten.
15467 * grub-core/lib/x86_64/relocator_asm.S: New file.
15468 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
15469 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
15470 (bsd_tag): New struct.
15471 (tags): New variable.
15472 (tags_last): Likewise.
15473 (netbsd_module): New struct.
15474 (netbsd_mods): New variable.
15475 (netbsd_mods_last): Likewise.
15476 (openbsd_opts): New parameter "serial".
15477 (OPENBSD_SERIAL_ARG): New definition.
15478 (netbsd_opts): New parameter "serial".
15479 (NETBSD_SERIAL_ARG): New definition.
15480 (grub_freebsd_add_meta): Reorganised into ...
15481 (grub_bsd_add_meta): ...this. All users updated.
15482 (grub_freebsd_add_mmap): Reorganised into ...
15483 (generate_e820_mmap): ...this...
15484 (grub_bsd_add_mmap): ...and this. All users updated.
15485 (grub_freebsd_list_modules): Use tags.
15486 (grub_netbsd_add_meta_module): New function.
15487 (grub_netbsd_list_modules): Likewise.
15488 (grub_freebsd_boot): Use relocator and finish EFI.
15489 (grub_openbsd_boot): Likewise.
15490 (grub_netbsd_setup_video): New function.
15491 (grub_netbsd_add_modules): Likewise.
15492 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
15493 and finish EFI.
15494 (grub_bsd_unload): Unload tags.
15495 (grub_bsd_load_aout): Use relocator.
15496 (grub_bsd_elf32_size_hook): New function.
15497 (grub_bsd_elf32_hook): Use relocator.
15498 (grub_bsd_elf64_size_hook): New function.
15499 (grub_bsd_elf64_hook): Use relocator.
15500 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
15501 (grub_bsd_load): Zero-out openbsd_ramdisk.
15502 (grub_bsd_load): Use relocator.
15503 (grub_cmd_openbsd): Support serial.
15504 (grub_cmd_netbsd): Support modules.
15505 (grub_cmd_freebsd_module): Use relocator.
15506 (grub_netbsd_module_load): New function.
15507 (grub_cmd_netbsd_module): Likewise.
15508 (grub_cmd_openbsd_ramdisk): Likewise.
15509 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
15510 kopenbsd_ramdisk.
15511 (GRUB_MOD_FINI): Unregister new commands.
15512 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
15513 (grub_freebsd_load_elfmodule_obj): Use relocator.
15514 (grub_freebsd_load_elfmodule): Likewise.
15515 (grub_freebsd_load_elf_meta): Likewise.
15516 (grub_netbsd_load_elf_meta): New function.
15517 (grub_openbsd_find_ramdisk): Likewise.
15518 * grub-core/loader/i386/bsd_helper.S: Removed.
15519 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
15520 * grub-core/loader/i386/bsd_trampoline.S: Removed.
15521 * grub-core/loader/i386/efi/linux.c: Likewise.
15522 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
15523 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
15524 (DEFAULT_VIDEO_MODE): Likewise.
15525 (real_mode_target): New variable.
15526 (prot_mode_target): Likewise.
15527 (initrd_mem_target): Likewise.
15528 (relocator): Likewise.
15529 (efi_mmap_buf): Likewise.
15530 (efi_mmap_size): Likewise.
15531 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
15532 (free_pages): Use relocator.
15533 (allocate_pages): Account for efi_mmap and use relocator. Return error.
15534 (grub_linux_setup_video): Return error.
15535 (grub_linux_trampoline_start): Removed.
15536 (grub_linux_trampoline_end): Likewise.
15537 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
15538 andd video parameters depending on firmware.
15539 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
15540 [GRUB_MACHINE_EFI]: Pass EFI parameters.
15541 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
15542 (grub_cmd_initrd): Use relocator.
15543 * grub-core/loader/i386/linux_trampoline.S: Removed.
15544 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
15545 (elf_sec_entsize): Likewise.
15546 (elf_sec_shstrndx): Likewise.
15547 (elf_sections): Likewise.
15548 (grub_multiboot_load): Use relocator.
15549 (grub_multiboot_get_mbi_size): Account for sections.
15550 (grub_multiboot_make_mbi): Use relocator and support sections.
15551 (grub_multiboot_add_elfsyms): New function.
15552 (grub_multiboot_free_mbi): Free sections.
15553 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
15554 (grub_linux_real_target): Likewise.
15555 (grub_linux_real_chunk): Likewise.
15556 (grub_linux16_prot_size): Likewise.
15557 (grub_linux16_boot): Use relocator.
15558 (grub_linux_unload): Unload relocator.
15559 (grub_cmd_linux): Use relocator.
15560 (grub_cmd_initrd): Likewise.
15561 * grub-core/loader/i386/pc/ntldr.c: New file.
15562 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
15563 Don't try to guess CPU frequency.
15564 (grub_xnu_set_video): Stretch bitmap.
15565 (grub_xnu_boot): Use relocator.
15566 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
15567 (grub_linux_unload): Free relocator.
15568 (grub_linux_load32): Use relocator.
15569 (grub_linux_load64): Likewise.
15570 (grub_cmd_initrd): Likewise.
15571 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
15572 (grub_multiboot_unload): Unload relocator.
15573 (grub_cmd_multiboot): Use relocator.
15574 (grub_cmd_module): Likewise.
15575 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
15576 Use relocator and support sections.
15577 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
15578 (elf_sec_entsize): Likewise.
15579 (elf_sec_shstrndx): Likewise.
15580 (elf_sections): Likewise.
15581 (grub_multiboot_load): Use relocator.
15582 (grub_multiboot_get_mbi_size): Account for sections.
15583 (grub_multiboot_make_mbi): Use relocator and support sections.
15584 (grub_multiboot_add_elfsyms): New function.
15585 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
15586 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
15587 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
15588 Prototype changed. All users updated.
15589 (grub_xnu_align_heap): Simplified.
15590 (grub_xnu_writetree_toheap): Likewise.
15591 (grub_xnu_unload): Unload relocator.
15592 (grub_cmd_xnu_kernel): Use relocator.
15593 (grub_cmd_xnu_kernel64): Likewise.
15594 (grub_xnu_register_memory): Simplified.
15595 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
15596 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
15597 EFI is finished.
15598 (grub_console_checkkey): Likewise.
15599 (grub_console_getkey): Likewise.
15600 (grub_console_getwh): Likewise.
15601 (grub_console_getxy): Likewise.
15602 (grub_console_gotoxy): Likewise.
15603 (grub_console_cls): Likewise.
15604 (grub_console_setcolorstate): Likewise.
15605 (grub_console_setcursor): Likewise.
15606 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
15607 * grub-core/tests/boot/kbsd.init-i386.S: New file.
15608 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
15609 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
15610 * grub-core/tests/boot/kernel-8086.S: Likewise.
15611 * grub-core/tests/boot/kernel-i386.S: Likewise.
15612 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
15613 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
15614 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
15615 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
15616 * grub-core/tests/boot/knetbsd.cfg: Likewise.
15617 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
15618 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
15619 * grub-core/tests/boot/linux.cfg: Likewise.
15620 * grub-core/tests/boot/linux.init-i386.S: Likewise.
15621 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
15622 * grub-core/tests/boot/linux16.cfg: Likewise.
15623 * grub-core/tests/boot/multiboot.cfg: Likewise.
15624 * grub-core/tests/boot/multiboot2.cfg: Likewise.
15625 * grub-core/tests/boot/ntldr.cfg: Likewise.
15626 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
15627 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
15628 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
15629 New definition.
15630 * include/grub/dl.h (grub_dl_unload_all): Removed.
15631 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
15632 (grub_efi_finish_boot_services): Change prototype.
15633 (grub_efi_is_finished): New variable.
15634 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
15635 Changed prototype.
15636 (grub_efiemu_finish_boot_services): Removed.
15637 (grub_machine_efiemu_init_tables): New prototype.
15638 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
15639 (grub_elf64_phdr_iterate): Likewise.
15640 * include/grub/i386/bsd.h: Include relocator.h.
15641 (freebsd_tag_header): New struct.
15642 (grub_openbsd_bios_mmap): Removed.
15643 (grub_unix_real_boot): Removed.
15644 (grub_freebsd_load_elfmodule32): Changed prototype.
15645 (grub_freebsd_load_elfmodule_obj64): Likewise.
15646 (grub_freebsd_load_elf_meta32): Likewise.
15647 (grub_freebsd_load_elf_meta64): Likewise.
15648 (grub_freebsd_add_meta): Removed.
15649 (grub_netbsd_load_elf_meta32): New prototype.
15650 (grub_netbsd_load_elf_meta64): Likewise.
15651 (grub_bsd_add_meta): Likewise.
15652 (grub_openbsd_ramdisk_descriptor): New struct.
15653 (grub_openbsd_find_ramdisk32): New prototype.
15654 (grub_openbsd_find_ramdisk64): Likewise.
15655 * include/grub/i386/coreboot/loader.h: Removed.
15656 * include/grub/i386/efi/loader.h: Likewise.
15657 * include/grub/i386/ieee1275/loader.h: Likewise.
15658 * include/grub/i386/linux.h (linux_kernel_header): Change void *
15659 to grub_uint32_t.
15660 * include/grub/i386/loader.h: Removed.
15661 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
15662 value.
15663 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
15664 (grub_phys_addr_t): New type.
15665 (grub_vtop): New inline function.
15666 (grub_map_memory): Likewise.
15667 (grub_unmap_memory): Likewise.
15668 * include/grub/i386/multiboot/loader.h: Removed.
15669 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
15670 (NETBSD_BTINFO_CONSOLE): New definition.
15671 (NETBSD_BTINFO_SYMTAB): Likewise.
15672 (NETBSD_BTINFO_MODULES): Likewise.
15673 (NETBSD_BTINFO_FRAMEBUF): Likewise.
15674 (grub_netbsd_bootinfo): New struct.
15675 (grub_netbsd_btinfo_common): Use explicit bitsize.
15676 (grub_netbsd_btinfo_mmap_entry): Removed.
15677 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
15678 (grub_netbsd_btinfo_bootdisk): New struct.
15679 (grub_netbsd_btinfo_symtab): Likewise.
15680 (grub_netbsd_btinfo_serial): Likewise.
15681 (grub_netbsd_btinfo_modules): Likewise.
15682 (grub_netbsd_btinfo_framebuf): Likewise.
15683 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
15684 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
15685 Likewise.
15686 (grub_openbsd_bootargs): Use explicit bitsize.
15687 (grub_openbsd_bootarg_console): New struct.
15688 (GRUB_OPENBSD_COM_MAJOR): New definition.
15689 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
15690 * include/grub/i386/pc/efiemu.h: Removed.
15691 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
15692 * include/grub/i386/qemu/loader.h: Removed.
15693 * include/grub/i386/relocator.h: Rewritten.
15694 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
15695 * include/grub/mips/memory.h: New file.
15696 * include/grub/mips/multiboot.h: Rewritten.
15697 * include/grub/mips/relocator.h: Rewritten.
15698 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
15699 (grub_vtop): New function.
15700 (grub_map_memory): Likewise.
15701 (grub_unmap_memory): Likewise.
15702 * include/grub/misc.h (ALIGN_DOWN): New definition.
15703 * include/grub/mm.h (grub_mm_check_real): New proto.
15704 (GRUB_MM_CHECK): New definition.
15705 * include/grub/mm_private.h: New file.
15706 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
15707 (grub_multiboot_get_mbi_size): Removed.
15708 (grub_multiboot_make_mbi): Change prottype.
15709 (grub_multiboot_set_accepts_video): New proto.
15710 (grub_multiboot_add_elfsyms): Likewise.
15711 (grub_multiboot_payload_eip): New variable.
15712 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
15713 New prototype.
15714 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
15715 New definition.
15716 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
15717 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
15718 * include/grub/powerpc/ieee1275/loader.h: Removed.
15719 * include/grub/powerpc/memory.h: New file.
15720 * include/grub/powerpc/relocator.h: Likewise.
15721 * include/grub/relocator.h: Likewise.
15722 * include/grub/relocator_private.h: Likewise.
15723 * include/grub/sparc64/ieee1275/loader.h: Removed.
15724 * include/grub/x86_64/memory.h: New file.
15725 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
15726 (grub_xnu_heap_malloc): Likewise.
15727 (grub_xnu_heap_real_start): Removed.
15728 (grub_xnu_heap_start): Likewise.
15729 (grub_xnu_relocator): New variable.
15730 (grub_xnu_heap_target_start): Likewise.
15731 * tests/util/grub-shell.in: Support non-pc.
15732 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 15733
5303b85d
VS
157342010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15735
15736 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
15737 on malloc error.
15738 (grub_bidi_logical_to_visual): Check that malloc succeded.
15739 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
15740 puts.
15741 (grub_xputs_normal): Likewise.
15742
d768d159
VS
157432010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15744
15745 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
15746 extra_dist.
15747
157482010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15749
15750 * grub-core/efiemu/runtime/efiemu.sh: Removed.
15751
5bf84df4
VS
157522010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15753
15754 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
15755
3626810e
VS
157562010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15757
15758 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
15759 dprintf.
15760
a7363f53
BC
157612010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
15762
15763 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
15764
902f75f6
VS
157652010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15766
15767 * grub-core/normal/term.c (print_more): Fix a memory leak.
15768 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
15769 (grub_xputs_normal): Likewise.
15770
3c707967
VS
157712010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15772
15773 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
15774 the begining of the string
15775
2053cc07
VS
157762010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15777
15778 * grub-core/script/script.c (grub_script_parse): Free parsed on
15779 failure.
15780
46422ebf
VS
157812010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15782
15783 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
15784 on failure.
15785
9e0fa3f6
VS
157862010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15787
15788 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
15789 return.
15790
3393cf16
VS
157912010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15792
15793 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
15794 (scroll_up): Fix a memory leak.
15795
b17540cb
VS
157962010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15797
15798 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
15799 errors.
15800
67140446
VS
158012010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
15802
15803 Handle USB pendrives exposed as floppies.
15804
15805 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
15806 floppy.
15807 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
15808 Check for partitions on all devices.
15809
e35e46fc
VS
158102010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15811
15812 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
15813 (readkey): Likewise.
15814
d24c6190
BC
158152010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
15816
15817 Multiple variable names support to "export" command.
15818
15819 * normal/context.c (grub_cmd_export): "export" command supports
15820 multiple variable names.
15821
04ddcc6a
ST
158222010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
15823
15824 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
15825 --target=drive output to Mach device name.
15826
0c8b61d8
BC
158272010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
15828
15829 New Automake based build system for GRUB.
15830
15831 * ABOUT-NLS: New file.
15832 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
15833 in Makefile.util.def file.
15834 * Makefile.util.def: New file. Autogen build definitions file for
15835 GRUB host utils.
15836 * conf/Makefile.common: New file. Common variables for GRUB host
15837 utils and target modules.
15838 * conf/Makefile.extra-dist: New file. Extra files for make dist.
15839 * docs/Makefile.am: New file. Automake file for docs.
15840 * gentpl.py: New file. Python script to generate Autogen
15841 template.
15842 * grub-core/Makefile.am: New file. GRUB target modules' rules
15843 that doesn't fit in Makefile.core.def file.
15844 * grub-core/Makefile.core.def: New file. Autogen build
15845 definitions file for GRUB target modules.
15846 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
15847 specific setjmp.S file.
15848 * po/Makefile.am: New file.
15849
15850 * .bzrignore: New ignores.
15851 * INSTALL: New requirements, without Ruby.
15852 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
15853 * autogen.sh: Updated to invoke autogen as necessary.
15854 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
15855 and defines for Automake conditionals.
15856 * geninit.sh: Refactoring.
15857
15858 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
15859 necessary.
15860 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
15861 New prototype.
15862
15863 * include/grub/test.h: Fix functional test modules' naming.
15864 * grub-core/tests/example_functional_test.c: Fix test module name.
15865
15866 * util/misc.c: Hosted versions' of grub functions for libgrub.a
15867 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
15868 * util/grub-editenv.c: Likewise.
15869 * util/grub-fstest.c: Likewise.
15870 * util/grub-mkdevicemap.c: Likewise.
15871 * util/grub-mkfont.c: Likewise.
15872 * util/grub-mkimage.c: Likewise.
15873 * util/grub-mkpasswd-pbkdf2.c: Likewise.
15874 * util/grub-probe.c: Likewise.
15875 * util/grub-script-check.c: Likewise.
15876 * util/i386/pc/grub-setup.c: Likewise.
15877 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15878
15879 * tests/util/grub-shell.in: Fix override directory path.
15880 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
15881 * util/import_gcry.py: Create Makefile.gcry.def file instead.
15882
15883 * util/lvm.c: Update #includes.
15884 * util/raid.c: Likewise.
15885 * util/resolve.c: Likewise.
15886 * grub-core/bus/emu/pci.c: Likewise.
15887 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
15888 * grub-core/lib/posix_wrap/string.h: Likewise.
15889 * grub-core/kern/emu/main.c: Likewise.
15890
15891 * grub-core/gensymlist.sh: New file. Script for generating kernel
15892 symbols file.
15893 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
15894
15895 * grub-core/gentrigtables.c: Fix unused variable warnings.
15896
15897 * Makefile.in: Removed.
15898 * conf/any-emu.rmk: Removed.
15899 * conf/common.rmk: Removed.
15900 * conf/i386-coreboot.rmk: Removed.
15901 * conf/i386-efi.rmk: Removed.
15902 * conf/i386-ieee1275.rmk: Removed.
15903 * conf/i386-multiboot.rmk: Removed.
15904 * conf/i386-pc.rmk: Removed.
15905 * conf/i386-qemu.rmk: Removed.
15906 * conf/i386.rmk: Removed.
15907 * conf/mips-yeeloong.rmk: Removed.
15908 * conf/mips.rmk: Removed.
15909 * conf/powerpc-ieee1275.rmk: Removed.
15910 * conf/sparc64-ieee1275.rmk: Removed.
15911 * conf/tests.rmk: Removed.
15912 * conf/x86-efi.rmk: Removed.
15913 * conf/x86_64-efi.rmk: Removed.
15914 * gendistlist.sh: Removed.
15915 * geninitheader.sh: Removed.
15916 * genkernsyms.sh.in: Removed.
15917 * genmk.rb: Removed.
15918 * gensymlist.sh.in: Removed.
15919 * mkinstalldirs: Removed.
15920 * boot: Moved ...
15921 * grub-core/boot: ... to here.
15922 * bus: Moved ...
15923 * grub-core/bus: ... to here.
15924 * commands: Moved ...
15925 * grub-core/commands: ... to here.
15926 * disk: Moved ...
15927 * grub-core/disk: ... to here.
15928 * efiemu: Moved ...
15929 * grub-core/efiemu: ... to here.
15930 * font: Moved ...
15931 * grub-core/font: ... to here.
15932 * fs: Moved ...
15933 * grub-core/fs: ... to here.
15934 * gencmdlist.sh: Moved ...
15935 * grub-core/gencmdlist.sh: ... to here.
15936 * genemuinit.sh: Moved ...
15937 * grub-core/genemuinit.sh: ... to here.
15938 * genemuinitheader.sh: Moved ...
15939 * grub-core/genemuinitheader.sh: ... to here.
15940 * genfslist.sh: Moved ...
15941 * grub-core/genfslist.sh: ... to here.
15942 * genhandlerlist.sh: Moved ...
15943 * grub-core/genhandlerlist.sh: ... to here.
15944 * genmoddep.awk: Moved ...
15945 * grub-core/genmoddep.awk: ... to here.
15946 * genmodsrc.sh: Moved ...
15947 * grub-core/genmodsrc.sh: ... to here.
15948 * genpartmaplist.sh: Moved ...
15949 * grub-core/genpartmaplist.sh: ... to here.
15950 * genparttoollist.sh: Moved ...
15951 * grub-core/genparttoollist.sh: ... to here.
15952 * genterminallist.sh: Moved ...
15953 * grub-core/genterminallist.sh: ... to here.
15954 * gentrigtables.c: Moved ...
15955 * grub-core/gentrigtables.c: ... to here.
15956 * genvideolist.sh: Moved ...
15957 * grub-core/genvideolist.sh: ... to here.
15958 * gettext: Moved ...
15959 * grub-core/gettext: ... to here.
15960 * gfxmenu: Moved ...
15961 * grub-core/gfxmenu: ... to here.
15962 * gnulib: Moved ...
15963 * grub-core/gnulib: ... to here.
15964 * hello: Moved ...
15965 * grub-core/hello: ... to here.
15966 * hook: Moved ...
15967 * grub-core/hook: ... to here.
15968 * io: Moved ...
15969 * grub-core/io: ... to here.
15970 * kern: Moved ...
15971 * grub-core/kern: ... to here.
15972 * lib: Moved ...
15973 * grub-core/lib: ... to here.
15974 * loader: Moved ...
15975 * grub-core/loader: ... to here.
15976 * mmap: Moved ...
15977 * grub-core/mmap: ... to here.
15978 * normal: Moved ...
15979 * grub-core/normal: ... to here.
15980 * partmap: Moved ...
15981 * grub-core/partmap: ... to here.
15982 * parttool: Moved ...
15983 * grub-core/parttool: ... to here.
15984 * script: Moved ...
15985 * grub-core/script: ... to here.
15986 * term: Moved ...
15987 * grub-core/term: ... to here
15988 * tests/example_functional_test.c: Moved ...
15989 * grub-core/tests/example_functional_test.c: ... to here.
15990 * tests/lib/functional_test.c: Moved ...
15991 * grub-core/tests/lib/functional_test.c: ... to here.
15992 * tests/lib/test.c: Moved ...
15993 * grub-core/tests/lib/test.c: ... to here.
15994 * video: Moved ...
15995 * grub-core/video: ... to here.
15996
645586e6
BC
159972010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
15998
15999 Replace --enable-grub-emu-modules with grub-emu-lite.
16000
16001 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
16002 cache.S.
16003
16004 * include/grub/emu/misc.h (grub_emu_init): New prototype.
16005 * kern/emu/full.c: New file. For grub-emu specific initialization.
16006 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
16007 * kern/emu/main.c: Call initialization function grub_emu_init.
16008
16009 * Makefile.in: Include grub-emu-lite in install.
16010 * commands/parttool.c: Use grub_no_autoload to differentiate
16011 between grub-emu and grub-emu-lite.
16012 * include/grub/misc.h: New variable grub_no_autoload.
16013
16014 * conf/any-emu.rmk: New rules for grub-emu-lite.
16015 * configure.ac: Remove --enable-grub-emu-modules.
16016 * genmk.rb: Cleanup unnecessary rules.
16017 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
16018
16019 * normal/main.c: Don't load list files on grub-emu-lite.
16020 * util/misc.c (grub_arch_sync_caches): Removed.
16021
f86a4030
CW
160222010-08-23 Colin Watson <cjwatson@ubuntu.com>
16023
16024 * kern/mips/startup.S (grub_prefix): Update comment to refer to
16025 grub-mkimage rather than grub-mkelfimage.
16026 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
16027
06776944
VS
160282010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
16029
16030 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
16031 a key after CapsLock or NumLock. It's just a qemu bug.
16032
df262419
VS
160332010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
16034
16035 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
16036 needed by libusb wrapper.
16037
b40ea81b
ST
160382010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
16039
16040 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
16041
dee50575
VS
160422010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
16043
16044 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
16045 --nounzip is passed.
16046
fb1d7b79
VS
160472010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
16048
16049 USB hotunplugging and USB serial support.
16050
16051 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
16052 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
16053 (grub_uhci_transfer): Respect timeout and set *actual.
16054 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
16055 non-standard length.
16056 (grub_usb_device_attach): Autoload modules.
16057 (GRUB_MOD_INIT): Set grub_term_poll_usb.
16058 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
16059 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
16060 users updated.
16061 (grub_usb_add_hub): Fill nports and children.
16062 (attach_root_port): Receive hub instead of controller.
16063 All users updated. Fill hub->devices.
16064 (grub_usb_root_hub): Allocate hub->devices.
16065 (detach_device): New function.
16066 (poll_nonroot_hub): Fill children and detach devices.
16067 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
16068 actual arguments. All users updated.
16069 (grub_usb_bulk_read_extended): New function.
16070 * bus/usb/serial/common.c: New file.
16071 * bus/usb/serial/ftdi.c: Likewise.
16072 * bus/usb/serial/pl2303.c: Likewise.
16073 * commands/terminal.c (handle_command): Support wildcard.
16074 * commands/usbtest.c: Output "Unknown" instead of empty string.
16075 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
16076 (usbserial_common_mod_SOURCES): New variable.
16077 (usbserial_common_mod_CFLAGS): Likewise.
16078 (usbserial_common_mod_LDFLAGS): Likewise.
16079 (pkglib_MODULES): Add usbserial_pl2303.mod.
16080 (usbserial_pl2303_mod_SOURCES): New variable.
16081 (usbserial_pl2303_mod_CFLAGS): Likewise.
16082 (usbserial_pl2303_mod_LDFLAGS): Likewise.
16083 (pkglib_MODULES): Add usbserial_ftdi.mod.
16084 (usbserial_ftdi_mod_SOURCES): New variable.
16085 (usbserial_ftdi_mod_CFLAGS): Likewise.
16086 (usbserial_ftdi_mod_LDFLAGS): Likewise.
16087 (pkglib_MODULES): Add serial.mod.
16088 (serial_mod_SOURCES): New variable.
16089 (serial_mod_CFLAGS): Likewise.
16090 (serial_mod_LDFLAGS): Likewise.
16091 * conf/i386-pc.rmk: Likewise.
16092 * conf/mips-yeeloong.rmk: Likewise.
16093 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
16094 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
16095 * disk/usbms.c (first_available_slot): New variable.
16096 (grub_usbms_attach): Don't reuse free slots due to potential cache
16097 problems.
16098 * include/grub/serial.h: Moved to ..
16099 * include/grub/ns8250.h: ...this.
16100 * include/grub/serial.h: New file.
16101 * include/grub/term.h (grub_term_poll_usb): New variable.
16102 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
16103 readkey. All users updated.
16104 (grub_terminfo_output_state): Pass term to put.
16105 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
16106 (grub_usb_controller_dev): Add timeout and actual arguments to
16107 transfer. All users updated.
16108 (grub_usb_interface): New field detach_data.
16109 (grub_usb_device): New fields children and nports.
16110 (grub_usb_ep_type_t): New type.
16111 (grub_usb_get_ep_type): New function.
16112 (grub_usb_bulk_read_extended): Likewise.
16113 * include/grub/usbdesc.h (grub_usb_desc): New type.
16114 * include/grub/usbserial.h: New file.
16115 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
16116 * kern/term.c (grub_term_poll_usb): New variable.
16117 (grub_getkey): Call grub_term_poll_usb if set.
16118 (grub_checkkey): Likewise.
16119 (grub_getkeystatus): Likewise.
16120 * term/serial.c: Moved controller-specific parts to ...
16121 * term/ns8250.c: ... here.
16122 * term/serial.c: Mostly rewritten.
16123 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
16124 according to spec.
16125
21a313de
RM
161262010-08-20 Robert Millan <rmh@gnu.org>
16127
16128 Make kFreeBSD code more generic to support ext2fs as root, ufs as
16129 a separate module and maybe other interesting combinations.
16130
16131 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
16132 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
16133 (kfreebsd_entry): Add generic filesystem module load routine.
16134 Map GRUB `ext2' to kFreeBSD `ext2fs'.
16135
63c734a6
CW
161362010-08-20 Colin Watson <cjwatson@ubuntu.com>
16137
16138 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
16139 "numcenter" (I misunderstood the purpose of this entry).
16140 * docs/grub.texi (sendkey): Likewise.
16141
c4d16542
CW
161422010-08-20 Colin Watson <cjwatson@ubuntu.com>
16143
16144 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
16145 status flag options; simply omitting the option is equivalent and
16146 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
16147 (keysym_table): Rename "num5numlock" to "numlock".
16148 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
16149 can uniformly say that only the last of multiple `sendkey'
16150 invocations has any effect.
16151 * docs/grub.texi (sendkey): New section.
16152
93541d66
CW
161532010-08-19 Colin Watson <cjwatson@ubuntu.com>
16154
16155 * commands/i386/pc/sendkey.c (options): Fix three typos.
16156
b4ece5e1
VS
161572010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16158
16159 Implement sendkey support.
16160
16161 * commands/i386/pc/sendkey.c: New file.
16162 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
16163 (sendkey_mod_SOURCES): New variable.
16164 (sendkey_mod_CFLAGS): Likewise.
16165 (sendkey_mod_LDFLAGS): Likewise.
16166
51f1f5af
CW
161672010-08-18 Colin Watson <cjwatson@ubuntu.com>
16168
16169 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
16170 fix warnings from Autoconf.
16171
9da94e05
CW
161722010-08-18 Colin Watson <cjwatson@ubuntu.com>
16173
16174 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
16175 to avoid false positives with some assemblers that output things
16176 like "someprefix_func" as part of their output.
16177
729a0f2e
RM
161782010-08-15 Robert Millan <rmh@gnu.org>
16179
16180 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
16181 errors.
16182 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
16183 grub_get_libzfs_handle() errors.
16184
f3710e08
RM
161852010-08-14 Robert Millan <rmh@gnu.org>
16186
16187 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
16188 filesystem is not ZFS.
16189
7a3c13de
BC
161902010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16191
16192 Fix for misspelled color names defaulting to black/black (bug
16193 reported by Doug Nazar)
16194
16195 * include/grub/normal.h (grub_parse_color_name_pair): Add return
16196 status to prototype.
16197 * normal/color.c (grub_parse_color_name_pair): Return failure
16198 status.
16199 (grub_env_write_color_normal): Ignore bad color names.
16200 (grub_env_write_color_highlight): Likewise.
16201 * normal/main.c (GRUB_MOD_INIT): Set default color names.
16202
ab8ba50d
BC
162032010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16204
16205 "shift" command support to GRUB script.
16206
16207 * include/grub/script_sh.h (grub_script_shift): New prototype.
16208 * script/execute.c (grub_script_shift): New function.
16209 * script/main.c (grub_script_init): Register shift command.
16210 (grub_script_fini): Unregister shift command.
16211 * util/grub-script-check.c (grub_script_cmd_shift): New function.
16212
16213 * tests/grub_script_shift.in: New testcase.
16214 * conf/tests.rmk: Rules for new testcase.
16215
4d61999e
BC
162162010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16217
16218 "continue" command support to GRUB script.
16219
16220 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
16221 (grub_script_break): Continue support.
16222 * script/main.c (grub_script_init): Register continue command.
16223 (grub_script_fini): Unregister continue command.
16224
16225 * tests/grub_script_continue.in: New testcase.
16226 * conf/tests.rmk: Rules for new testcase.
16227
4df51e00
BC
162282010-08-12 BVK Chaitanya <bvk@dbook>
16229
16230 "break" command support to GRUB script.
16231
16232 * conf/common.rmk: Rule updates to grub-script-check.
16233 * include/grub/misc.h (grub_min): New function.
16234 * include/grub/script_sh.h (grub_script_init): New prototype.
16235 (grub_script_fini): New prototype.
16236 (grub_script_break): New prototype.
16237 * script/main.c (grub_script_init): New function.
16238 (grub_script_fini): New function.
16239 * script/execute.c (grub_script_break): New function.
16240 * normal/main.c: Calls to grub_script_{init,fini}.
16241 * util/grub-script-check.c (grub_script_break): New function.
16242
16243 * tests/grub_script_break.in: New testcase.
16244 * conf/tests.rmk: Rules for new test case.
16245
f12c8420
BC
162462010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16247
16248 Function parameters support to GRUB script.
16249
16250 * script/yylex.l (VARIABLE): Regular expression update.
16251 * script/function.c (grub_script_function_call): Moved ...
16252 * script/execute.c (grub_script_function_call): ... to here.
16253 (grub_script_execute_arglist_to_argv): Removed.
16254 (grub_script_arglist_to_argv): New function.
16255 * script/argv.c: New file.
16256 (grub_script_argv_free): New function.
16257 (grub_script_argv_next): Likewise.
16258 (grub_script_argv_append): Likewise.
16259 (grub_script_argv_split_append): Likewise.
16260 * include/grub/script_sh.h (grub_script_argv): New struct.
16261 (grub_script_argv_free): New function.
16262 (grub_script_argv_next): Likewise.
16263 (grub_script_argv_append): Likewise.
16264 (grub_script_argv_split_append): Likewise.
16265
16266 * conf/common.rmk (normal.mod): New source script/argv.c.
16267
16268 * tests/grub_script_echo1.in: More tests.
16269 * tests/grub_script_vars1.in: Likewise.
16270 * tests/grub_script_functions.in: New test case.
16271 * conf/tests.rmk: Rules for new testcase.
16272
8022b748
BC
162732010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16274
16275 Remove grub_script_cmdblock struct.
16276
16277 * include/grub/script_sh.h: Remove grub_script_cmdblock.
16278 * script/parser.y: Likewise.
16279 * script/execute.c: Rename cmdblock suffix to cmdlist.
16280 * script/script.c: Likewise.
16281 * util/grub-script-check.c: Likewise.
16282
79a6ba61
YB
162832010-08-11 Yves Blusseau <blusseau@zetam.org>
16284
16285 * .bzrignore: add grub-macho2img
16286
d04b9414
VS
162872010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
16288
16289 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
16290
f947ab49
VS
162912010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
16292
16293 Remove the dump of sm712 initialisation sequence.
16294
16295 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
16296 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
16297 (GRUB_VGA_IO_MISC_WRITE): Likewise.
16298 (GRUB_VGA_CR_*): Added many registers.
16299 (GRUB_VGA_SR_*): Likewise.
16300 (GRUB_VGA_GR_*): Likewise.
16301 (grub_vga_write_arx): New function.
16302 (grub_video_hw_config): New struct.
16303 (grub_vga_set_geometry): New function.
16304 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
16305 GRUB_PCI_CLASS_SUBCLASS_VGA.
16306 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
16307 * video/sm712.c (grub_sm712_write_reg): New function
16308 (grub_sm712_read_reg): Likewise.
16309 (grub_sm712_sr_write): Likewise.
16310 (grub_sm712_gr_write): Likewise.
16311 (grub_sm712_cr_write): Likewise.
16312 (grub_sm712_write_arx): Likewise.
16313 (grub_sm712_cr_shadow_write): Likewise.
16314 (grub_sm712_write_dda_lookup): Likewise.
16315 (grub_video_sm712_setup): Initialise the video rather then
16316 blindly replay the dump.
16317 (main) [TEST]: Add a routine to be able to compile as standalone for
16318 tests.
16319 * video/sm712_init.c (sm712_init): Removed.
16320 (sm712_sr_seq1): New array.
16321 (sm712_sr_seq2): Likewise.
16322
f0206638
VS
163232010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
16324
16325 * include/grub/vga.h: Add missing grub/pci.h include.
16326
2764da3b
YB
163272010-08-10 Yves Blusseau <blusseau@zetam.org>
16328
16329 * util/grub-macho2img.c (main): fix typo
16330
cf0c775e
VS
163312010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
16332
16333 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
16334 (grub_vga_gr_read): Likewise.
16335 (grub_vga_cr_write): Likewise.
16336 (grub_vga_cr_read): Likewise.
16337 (grub_vga_sr_write): Likewise.
16338 (grub_vga_sr_read): Likewise.
16339 (grub_vga_palette_read): Likewise.
16340 (grub_vga_palette_write): Likewise.
16341 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
16342 (grub_sm712_sr_read): New function.
16343 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
16344 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
16345
07f360e9
RM
163462010-08-09 Robert Millan <rmh@gnu.org>
16347
16348 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
16349 out unused variables on non-ZFS build.
16350
346c2072
RM
163512010-08-08 Robert Millan <rmh@gnu.org>
16352
16353 Fix path generation for sub-filesystems in ZFS.
16354
16355 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
16356 missing slash.
16357
71175420
RM
163582010-08-08 Robert Millan <rmh@gnu.org>
16359
16360 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
16361
0d8286f3
RM
163622010-08-08 Robert Millan <rmh@gnu.org>
16363
16364 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
16365 exist, issue a proper error message (rely on `ls' for translated
16366 strings).
16367
55dd2924
RM
163682010-08-08 Robert Millan <rmh@gnu.org>
16369
16370 Fix grub-probe invocation.
16371
16372 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
16373
d3dd9e80
RM
163742010-08-04 Robert Millan <rmh@gnu.org>
16375
16376 * configure.ac: Remove checks for getfsstat() and getmntany().
16377 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
16378 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
16379 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
16380 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
16381 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
16382 function.
16383 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
16384 via find_mount_point_from_dir() and getfsstat() / getmntany().
16385
0de22aa9
RM
163862010-08-04 Robert Millan <rmh@gnu.org>
16387
16388 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
16389 (grub_find_zpool_from_mount_point): Merge into ...
16390 (grub_find_zpool_from_dir): ... this.
16391 * kern/emu/misc.c: Likewise.
16392
16393 * kern/emu/misc.c
16394 (grub_make_system_path_relative_to_its_root): Replace
16395 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
16396 with grub_find_zpool_from_dir().
16397 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
16398
62858144
RM
163992010-08-04 Robert Millan <rmh@gnu.org>
16400
16401 Support OpenSolaris in ZFS device resolution.
16402
16403 * configure.ac: Check for getmntany().
16404 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
16405 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
16406 support.
16407
9dd6fd50
RM
164082010-08-03 Robert Millan <rmh@gnu.org>
16409
16410 Fix grub-emu build.
16411
16412 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
16413 * include/grub/emu/misc.h: ... here.
16414
16415 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
16416 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
16417
16418 * util/misc.c: Remove `<grub/util/libzfs.h>'.
16419 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
16420 (grub_get_libzfs_handle): Move to ...
16421 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
16422 (grub_get_libzfs_handle): ... here.
16423
c9f7ff97
BC
164242010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
16425
16426 * script/execute.c (grub_script_execute_cmdline): Check for NULL
16427 as command name case.
16428
a870a783
CW
164292010-08-02 Colin Watson <cjwatson@ubuntu.com>
16430
16431 * disk/raid.c (insert_array): Select unique numbers for named arrays
16432 as well, for use as keys in the disk cache.
16433
c7db243b
RM
164342010-08-01 Robert Millan <rmh@gnu.org>
16435
16436 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
16437 kFreeBSD device name, except on ZFS where the filesystem label is
16438 used.
16439 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
16440 `/boot/zfs/zpool.cache'.
16441 Set mountfrom kernel variable using ${kfreebsd_device}.
16442
f7abdefb
RM
164432010-08-01 Robert Millan <rmh@gnu.org>
16444
16445 Make it even harder to use uninitialized `libzfs_handle' (and
16446 make the interface a bit simpler).
16447
16448 * include/grub/util/misc.h (grub_util_init_libzfs)
16449 (libzfs_handle): Remove.
16450 (grub_get_libzfs_handle): New prototype.
16451
16452 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
16453 attribute.
16454 (grub_util_init_libzfs): Remove.
16455 (grub_get_libzfs_handle): New function.
16456
16457 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
16458 grub_get_libzfs_handle() to obtain a libzfs handle instead of
16459 accessing `libzfs_handle' directly.
16460
c882acc0
RM
164612010-08-01 Robert Millan <rmh@gnu.org>
16462
16463 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
16464 (grub_find_zpool_from_mount_point): New function prototypes.
16465
16466 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
16467 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
16468
16469 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
16470 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
16471 `static' attribute.
16472
16473 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
16474 finding zpool from mount point into ...
16475 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
16476
16477 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
16478 requested path is part of a ZFS pool, use
16479 grub_find_zpool_from_mount_point() to detect its filesystem name,
16480 and generate a path with `/fsname@path' syntax.
16481
8bfe31d8
CW
164822010-08-01 Colin Watson <cjwatson@ubuntu.com>
16483
16484 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
16485 (void) rather than () so that this is a proper prototype.
16486
553df63d
VS
164872010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16488
16489 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
16490
8687cf07
VS
164912010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16492
16493 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
16494 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
16495
ea9be8ea
CW
164962010-08-01 Colin Watson <cjwatson@ubuntu.com>
16497
16498 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
16499
6eea041a
CW
165002010-08-01 Colin Watson <cjwatson@ubuntu.com>
16501
16502 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
16503
2cfb45df
CW
165042010-08-01 Colin Watson <cjwatson@ubuntu.com>
16505
16506 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
16507 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
16508 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
16509 disable gfxpayload.
16510 (Shell-like scripting): Add real content.
16511 (Serial terminal): Suggest `terminal_input serial; terminal_output
16512 serial' rather than putting the two commands on separate lines,
16513 since console input will be inoperative after the first command.
16514 (menuentry): Document --class, --users, and --hotkey options.
16515 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
16516 Vladimir Serbinenko).
16517
7decd202
VS
165182010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
165192010-08-01 Colin Watson <cjwatson@ubuntu.com>
16520
16521 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
16522
c882acc0
RM
165232010-08-01 Robert Millan <rmh@gnu.org>
16524
16525 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
16526 (grub_find_zpool_from_mount_point): New function prototypes.
16527
16528 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
16529 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
16530
16531 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
16532 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
16533 `static' attribute.
16534
16535 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
16536 finding zpool from mount point into ...
16537 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
16538
16539 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
16540 requested path is part of a ZFS pool, use
16541 grub_find_zpool_from_mount_point() to detect its filesystem name,
16542 and generate a path with `/fsname@path' syntax.
16543
deb0caa3
RM
165442010-08-01 Robert Millan <rmh@gnu.org>
16545
16546 Prevent accidental use of uninitialized libzfs_handle.
16547
16548 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
16549 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
16550 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
16551
ce04ef47
CW
165522010-08-01 Colin Watson <cjwatson@ubuntu.com>
16553
16554 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
16555 util/grub.d/10_linux.in). Fixes Debian bug #591093.
16556
ebf53056
RM
165572010-08-01 Robert Millan <rmh@gnu.org>
16558
16559 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 16560
3710bb6b
RM
165612010-07-31 Robert Millan <rmh@gnu.org>
16562
16563 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
16564
8072efeb
RM
165652010-07-31 Robert Millan <rmh@gnu.org>
16566
16567 * kern/emu/misc.c: Add missing license header.
16568
3169f4c7
RM
165692010-07-31 Robert Millan <rmh@gnu.org>
16570
16571 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
16572
16573 * include/grub/util/libnvpair.h: Include `<config.h>'.
16574 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
16575 declaring libnvpair prototypes ourselves.
16576 * include/grub/util/libzfs.h: Include `<config.h>'.
16577 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
16578 declaring libzfs prototypes ourselves.
16579
16580 (libzfs_handle): Moved to ...
16581 * include/grub/util/misc.h (libzfs_handle): ... here.
16582 Include `<grub/util/libzfs.h>'.
16583
c9a00aee
RM
165842010-07-30 Robert Millan <rmh@gnu.org>
16585
16586 * include/grub/emu/misc.h: Add missing license header.
16587
a184f9c8
RM
165882010-07-30 Robert Millan <rmh@gnu.org>
16589
16590 Enable `grub-probe -t device' resolution on ZFS.
16591
16592 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
16593 * include/grub/util/libnvpair.h: New file.
16594 * include/grub/util/libzfs.h: New file.
16595
16596 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
16597 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
16598 `<grub/util/libnvpair.h>'.
16599 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
16600
16601 (find_mount_point_from_dir): New static function.
16602 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
16603 function.
16604 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
16605 find_root_device_from_libzfs() before ressorting to find_root_device().
16606
16607 * include/grub/util/misc.h (grub_util_init_libzfs): New function
16608 prototype.
16609 * util/misc.c: Include `<grub/util/libzfs.h>'.
16610 (grub_util_init_libzfs): New function.
16611 [HAVE_LIBZFS] (libzfs_handle): New global variable.
16612 [HAVE_LIBZFS] (fini_libzfs): New static function.
16613 (grub_util_init_libzfs): New function.
16614 * util/grub-probe.c (main): Call grub_util_init_libzfs().
16615
f7790cdd
RM
166162010-07-30 Robert Millan <rmh@gnu.org>
16617
16618 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
16619 (xmalloc, xrealloc, xstrdup, xasprintf): Add
16620 `warn_unused_result' attribute.
16621 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
16622 (grub_xasprintf, grub_xvasprintf): Likewise.
16623 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
16624
0806b63c
RM
166252010-07-29 Robert Millan <rmh@gnu.org>
16626
16627 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
16628 (probe): Handle `PRINT_FS_LABEL'.
16629 (main): Handle `-t fs_label'.
16630
9f841f5c
RM
166312010-07-29 Robert Millan <rmh@gnu.org>
16632
16633 * configure.ac: Remove grub-mkisofs checks.
16634
46371121
VS
166352010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
16636
16637 * util/ieee1275/grub-install.in: Don't use empty grub_device.
16638 Reported by: Lennart Sorensen.
16639
166402010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16641
16642 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
16643 prior to terminal_input/terminal_output separation. It's been over 1.5
16644 years and those versions weren't widely deployed.
16645
a9600892
CW
166462010-07-22 Colin Watson <cjwatson@ubuntu.com>
16647
16648 * disk/raid.c (insert_array): Don't count named arrays when looking
16649 for unused array numbers.
697e053c 16650 Reported and tested by: Michael Guntsche.
a9600892 16651
c03507df
CW
166522010-07-20 Colin Watson <cjwatson@ubuntu.com>
16653
16654 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
16655 implementation of this so that grub-emu links again, with a note
16656 that this should support hotplugging in the future.
16657
b26f1c11
CW
166582010-07-20 Colin Watson <cjwatson@ubuntu.com>
16659
16660 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
16661
efc9d7f1
CW
166622010-07-20 Colin Watson <cjwatson@ubuntu.com>
16663
16664 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
16665 handle on failure.
16666 (grub_loopback_close): Remove empty function.
16667 (grub_loopback_dev): Remove close method.
16668
dd8ff5c9
CW
166692010-07-20 Colin Watson <cjwatson@ubuntu.com>
16670
16671 Disable EFI cursor when the EFI console becomes inactive.
16672
16673 * term/efi/console.c (grub_efi_console_init): New function.
16674 (grub_efi_console_fini): New function.
16675 (grub_console_term_output): Register init and fini methods.
16676
5e3bec67
VS
166772010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16678
16679 * tests/util/grub-shell-tester.in: Remove bashism and declare as
16680 sh script.
16681
afaec079
VS
166822010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16683
16684 * disk/loopback.c (grub_loopback): Replace filename with file.
16685 (delete_loopback): Handle new semantics.
16686 (grub_cmd_loopback): Likewise.
16687 (grub_loopback_iterate): Likewise.
16688 (grub_loopback_close): Likewise.
16689
a6a11f3c
VS
166902010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16691
16692 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
16693 with -p "".
16694 Reported by: Tito Keitel.
16695
64a638b0
VS
166962010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16697
16698 * docs/grub.texi (Naming convention): Document new naming convention.
16699
ab8ba957
VS
167002010-07-20 Vadim Solomin <vadic052@gmail.com>
167012010-07-20 Colin Watson <cjwatson@ubuntu.com>
16702
16703 Generate device.map in something closer to the old ordering.
16704
16705 * util/deviceiter.c (struct device): New declaration.
16706 (compare_file_names): Rename to ...
16707 (compare_devices): ... this. Sort by kernel name in preference to
16708 the stable by-id name, but keep the latter as a fallback comparison.
16709 Update header comment.
16710 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
16711 of `struct device' rather than of plain file names.
16712
a29d6a4b
TF
167132010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
16714
16715 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
16716 on i386.
16717
39d824e8
VS
167182010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16719
16720 * commands/acpi.c (setup_common_tables): Use sizeof instead of
16721 hardcoding size.
16722 (setv1table): Likewise.
16723
f058276b
FZ
167242010-07-20 Colin Watson <cjwatson@ubuntu.com>
16725
16726 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
16727 removing the homehost if present.
16728 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
16729 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
16730 removing the homehost if present.
16731 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
16732 if possible.
16733 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
16734
16735 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
16736 parameter. Set its pointer target to 0.
16737 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
16738 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
16739 `data_offset' value from the superblock for 1.x metadata.
16740 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
16741 data on the device.
16742 (insert_array): Record the start sector of data on the device.
16743 (grub_raid_register): Pass start_sector parameters to
16744 grub_raid_list->detect and insert_array.
16745 * include/grub/raid.h (struct grub_raid_array): Add start_sector
16746 member.
16747 (struct grub_raid): Add start_sector parameter to `detect'.
16748
16749 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
16750 __attribute__ ((packed)), leaving a comment.
16751 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
16752 (grub_mdraid_detect_09): ... here and ...
16753 (grub_mdraid_detect_1x): ... here.
16754
167552010-07-20 Peter Henn <peter.henn@web.de>
16756
16757 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
16758 chunk size and disk size, which are already given as sector counts
16759 as distinct from the 0.90 units. Fetch the correct device number
16760 from the role table instead of using the table index.
16761
167622010-07-20 Felix Zielcke <fzielcke@z-51.de>
16763
16764 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
16765 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
16766 (WriteMostly1): New macro.
16767 Set array->name to NULL for metadata format 0.90. Add support for
16768 metadata 1.x. Fix some comments.
16769 * disk/raid.c (): Add support for name based RAID arrays. Fix a
16770 few comments.
16771 * util/getroot.c (grub_util_get_grub_dev): Add support for
16772 /dev/md/name style devices.
16773
4b761da9
CW
167742010-07-20 Colin Watson <cjwatson@ubuntu.com>
16775
16776 * .bzrignore: Ignore 20_linux_xen.
16777
5771289a
CW
167782010-07-17 Colin Watson <cjwatson@ubuntu.com>
16779
16780 * util/import_unicode.py: Remove unnecessary imports.
16781
5dab68df
AN
167822010-07-17 Aleš Nesrsta <starous@volny.cz>
16783
16784 Hotplugging and USB hub support.
16785
16786 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
16787 (grub_ohci): Likewise.
16788 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
16789 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
16790 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
16791 (GRUB_OHCI_CTRL_EDS): Likewise.
16792 (GRUB_OHCI_BULK_EDS): Likewise.
16793 (GRUB_OHCI_TDS): Likewise.
16794 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
16795 (grub_ohci_ed_phys2virt): New function.
16796 (grub_ohci_virt_to_phys): Likewise.
16797 (grub_ohci_td_phys2virt): Likewise.
16798 (grub_ohci_td_virt2phys): Likewise.
16799 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
16800 attachment.
16801 (grub_ohci_find_ed): New function.
16802 (grub_ohci_alloc_td): Likewise.
16803 (grub_ohci_free_td): Likewise.
16804 (grub_ohci_free_tds): Likewise.
16805 (grub_ohci_transfer): Use previously allocated memory.
16806 (grub_ohci_portstatus): Reset status changed bit.
16807 (grub_ohci_detect_dev): Supply status changed.
16808 (grub_ohci_fini_hw): Free memory.
16809 (grub_ohci_restore_hw): Reallocate memory.
16810 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
16811 Reset status change.
16812 (grub_uhci_detect_dev): Supply status_change.
16813 * bus/usb/usb.c (attach_hooks): New var.
16814 (grub_usb_device_attach): New function.
16815 (grub_usb_register_attach_hook_class): Likewise.
16816 (grub_usb_unregister_attach_hook_class): Likewise.
16817 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
16818 (grub_usb_add_hub): Reset connection changed bit.
16819 (attach_root_port): New function.
16820 (grub_usb_root_hub): Likewise.
16821 (poll_nonroot_hub): Likewise.
16822 (grub_usb_poll_devices): Likewise.
16823 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
16824 * disk/usbms.c (grub_usbms_open): Use device hooks.
16825 (grub_usbms_iterate) :Poll devices.
16826 (grub_usbms_finddevs): Split into ...
16827 (grub_usbms_attach): ... this ...
16828 (grub_usbms_attach): ... and this.
16829 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
16830 in detect_dev.
16831 (grub_usb_interface): New fields attached and detach_hook.
16832 (grub_usb_attach_hook_class): New type.
16833 (grub_usb_attach_desc): New struct.
16834 (grub_usb_register_attach_hook_class): New function.
16835 (grub_usb_unregister_attach_hook_class): Likewise.
16836 (grub_usb_poll_devices): Likewise.
16837 (grub_usb_device_attach): Likewise.
16838 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
16839 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
16840
3222efaf
VS
168412010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
16842
16843 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
16844 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
16845 delta determination style. Works with most NetBSD partitions too.
16846
139b714a
VS
168472010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
16848
16849 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
16850 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
16851
986aad56
VS
168522010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
16853
16854 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
16855
99be513c
AB
168562010-07-14 Anton Blanchard <anton@samba.org>
16857
16858 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
16859 ET_DYN files.
16860
18075f62
GS
168612010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16862
16863 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
16864
8d9a5b15
GS
168652010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16866
16867 * kern/partition.c (grub_partition_check_containment): New function to
16868 check that a partition is physically contained in a parent. Since
16869 offsets are relative (and non-negative), this reduces to checking that
16870 the partition ends before its parent.
16871 (grub_partition_map_probe): Discard out-of-range sub-partitions.
16872 (grub_partition_iterate): Likewise.
16873 * include/grub/partition.h (grub_partition_map): Slightly more detailed
16874 comments.
16875 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
16876 partitions that start before their parent, and add debug printfs.
16877
19563c25
CW
168782010-07-13 Colin Watson <cjwatson@ubuntu.com>
16879
16880 * Makefile.in (.SUFFIX): Spell correctly, as ...
16881 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
16882 bare module name without `.mod', e.g. `test') tried to invoke a
16883 Modula-2 compiler.
16884
1a1f1e67
CW
168852010-07-13 Colin Watson <cjwatson@ubuntu.com>
16886
16887 * README: Point to the Info manual.
16888
811b0dca
JS
168892010-07-13 Jiro SEKIBA <jir@unicus.jp>
16890
16891 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
16892 2nd superblock position from partition size.
16893
e4f4eafc
CW
168942010-07-10 Colin Watson <cjwatson@ubuntu.com>
16895
16896 * Makefile.in (MAINTAINER_CLEANFILES): Remove
16897 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
16898 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
16899 outputs.
16900
4274c30f
VS
169012010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16902
16903 Restructure SCSI .id handling.
16904 Reported and tested by: Aleš Nesrsta.
16905
16906 * disk/ata.c (grub_atapi_close): Removed. All users updated.
16907 (grub_atapi_dev): Changed .name to "ata". New field .id.
16908 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
16909 (grub_usbms_dev): New field .id.
16910 * disk/scsi.c (grub_scsi_iterate): Generate name.
16911 (grub_scsi_open): Parse name.
16912 * include/grub/scsi.h (grub_make_scsi_id): New function.
16913 (grub_scsi_dev): Change iterate and open to number instead of naming
16914 busses. All users updated.
16915 (grub_scsi): Remove name. Add .bus.
16916
5bc24388
VS
169172010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16918
16919 * commands/help.c (grub_cmd_help): Fix a typo.
16920
249975ba
VS
169212010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16922
16923 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
16924 Reported and tested by: Colin Watson.
16925
3eaac1a1
VS
169262010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16927
16928 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
16929 in this context.
16930
becce1b1
VS
169312010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16932
16933 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
16934
f7bf0918
CW
169352010-07-07 Colin Watson <cjwatson@ubuntu.com>
16936
16937 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
16938 indentation.
16939
0b0f9620
CW
169402010-07-06 Colin Watson <cjwatson@ubuntu.com>
16941
16942 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
16943 and disk/raid6_recover.c.
16944 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
16945 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
16946
1e545469
CW
169472010-07-06 Colin Watson <cjwatson@ubuntu.com>
16948
16949 * term/gfxterm.c (repaint_schedulded): Rename to ...
16950 (repaint_scheduled): ... this. Update all callers.
16951 (repaint_was_schedulded): Rename to ...
16952 (repaint_was_scheduled): ... this. Update all callers.
16953
5357687a
CW
169542010-07-06 Colin Watson <cjwatson@ubuntu.com>
16955
16956 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
16957 which we expect to be handled by upper layers.
16958
29d7e783
BC
169592010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
16960
16961 * bus/usb/usbhub.c: #include time.h header.
16962
37582066
CW
169632010-07-06 Colin Watson <cjwatson@ubuntu.com>
16964
16965 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
16966 entry_name also for entries without stat blocks (e.g. ".."); fixes
16967 corruption of the first entry in a directory.
16968
c8c06953
CW
169692010-07-06 Colin Watson <cjwatson@ubuntu.com>
16970
16971 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
16972 after setting gfxterm as the active terminal. GRUB_BACKGROUND
16973 doesn't work otherwise.
16974
e75056f1
CW
169752010-07-05 Colin Watson <cjwatson@ubuntu.com>
16976
16977 * docs/grub.texi (Features): Update list of supported file systems.
16978 (GNU/Linux): Update for GRUB 2.
16979 (Serial terminal): Remove mention of --disable-serial, which was a
16980 GRUB Legacy configure option. Update instructions to use
16981 `terminal_input' and `terminal_output' rather than `terminal'.
16982 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
16983 configuration' and `Installing GRUB using grub-install'.
16984 (Menu entry editor): Update for GRUB 2.
16985 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
16986 Document new -a, -u, and -v options.
16987 (initrd): New section.
16988 (initrd16): New section.
16989 (linux): New section.
16990 (linux16): New section.
16991 (search): The `var' argument to `--set' is optional.
16992 (GRUB only offers a rescue shell): Go into a little more detail on
16993 drive ordering.
16994
5cf69151
CW
169952010-07-05 Colin Watson <cjwatson@ubuntu.com>
16996
16997 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
16998
e3f90044
CW
169992010-07-05 Colin Watson <cjwatson@ubuntu.com>
17000
17001 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
17002 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
17003
38d8f4f3
CW
170042010-07-05 Colin Watson <cjwatson@ubuntu.com>
17005
17006 * util/i386/pc/grub-setup.c (setup): Rename prefix to
17007 install_prefix, in line with install_dos_part and install_bsd_part.
17008 Add new prefix variable, which is copied to install_prefix after
17009 comparing core.img in memory with the one read from disk in the
17010 no-embedding case, and use that rather than overwriting
17011 install_prefix immediately when installing to a partition.
17012 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
17013 Bicakci.
17014
57ebd41e
GS
170152010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
17016
17017 * configure.ac: Avoid == in test command, it's not portable.
17018 * util/grub.d/30_os-prober.in: Likewise.
17019
cb7f64b2
CW
170202010-07-04 Colin Watson <cjwatson@ubuntu.com>
17021
17022 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
17023
6b654bb0
GS
170242010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
17025
17026 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
17027 multiple (top-level) partmaps.
17028
72a2026d
VS
170292010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17030
17031 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 17032 Reported by: Tino Keitel.
72a2026d 17033
df3eb88f
VS
170342010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17035
17036 Bidi and diacritics support.
17037
17038 * Makefile.in (widthspec.bin): New target.
17039 (widthspec.h): Likewise.
17040 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
17041 * autogen.sh: Generate unidata.c.
17042 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
17043 * commands/ls.c (grub_ls_list_devices): Likewise.
17044 (grub_ls_list_files): Likewise.
17045 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
17046 (grub_mini_cmd_lsmod): Likewise.
17047 * commands/read.c: Likewise.
17048 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
17049 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
17050 * lib/arg.c (grub_arg_show_help): Likewise.
17051 * lib/crypto.c (grub_password_get): Likewise.
17052 * normal/auth.c (grub_username_get): Likewise.
17053 * normal/misc.c (grub_normal_print_device_info): Likewise.
17054 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
17055 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
17056 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
17057 (normal/charset.c_DEPENDENCIES): New variable.
17058 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
17059 (pkglib_MODULES): Remove charset.mod.
17060 (charset_mod_SOURCES): Removed.
17061 (charset_mod_CFLAGS): Likewise.
17062 (charset_mod_LDFLAGS): Likewise.
17063 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
17064 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
17065 and term/tparm.c.
17066 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17067 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17068 (kernel_img_HEADERS): Add terminfo.h.
17069 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
17070 Fill ->font. Reverse ascii bitmaps.
17071 (grub_font_get_xheight): New function.
17072 * font/font.c (grub_font_get_string_width): Moved from here ...
17073 * gfxmenu/font.c (grub_font_get_string_width): ... here.
17074 * font/font.c (grub_font_draw_string): Moved from here ...
17075 * gfxmenu/font.c (grub_font_draw_string): ... here.
17076 * font/font.c (grub_font_dup_glyph): New function.
17077 (grub_font_blit_glyph): Likewise.
17078 (grub_font_blit_glyph_mirror): Likewise.
17079 (blit_comb): Likewise.
17080 (grub_font_construct_dry_run): Likewise.
17081 (grub_font_get_constructed_device_width): Likewise.
17082 (grub_font_construct_glyph): Likewise.
17083 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
17084 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
17085 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
17086 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
17087 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
17088 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
17089 (grub_font_get_xheight): New proto.
17090 (grub_font_get_constructed_device_width): Likewise.
17091 (grub_font_construct_glyph): Likewise.
17092 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
17093 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
17094 * include/grub/font.h (grub_font_draw_string): Moved from here ...
17095 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
17096 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
17097 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
17098 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
17099 (grub_console_getcharwidth): Likewise.
17100 * include/grub/misc.h (grub_xputs): New proto.
17101 (grub_puts): Inlined.
17102 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
17103 (grub_normal_get_line_counter): Removed.
17104 (grub_install_newline_hook): Likewise.
17105 (grub_normal_get_char_counter): New proto.
17106 (grub_normal_reset_more): Likewise.
17107 (grub_xputs_normal): Likewise.
17108 * include/grub/powerpc/ieee1275/console.h: Removed.
17109 * include/grub/sparc64/ieee1275/console.h: Likewise.
17110 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
17111 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
17112 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
17113 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
17114 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
17115 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
17116 (grub_term_input): Pass reference to self. All users updated.
17117 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
17118 Pass reference to self. New fields normal_color, highlight_color and
17119 data. All users updated.
17120 (grub_putchar): Removed.
17121 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
17122 (grub_unicode_estimate_width): New function.
17123 (grub_term_getcharwidth): Add defaults.
17124 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
17125 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
17126 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
17127 (grub_cls): Remove EXPORT_FUNC.
17128 (grub_setcolorstate): Inline.
17129 (grub_newline_hook): Removed.
17130 * include/grub/terminfo.h: Rewritten. All users updated.
17131 * include/grub/unicode.h: New file.
17132 * include/grub/video.h (grub_video_signed_rect): New type.
17133 * kern/emu/console.c (grub_console_highlight_color): Removed.
17134 (grub_console_normal_color): Likewise.
17135 (grub_console_standard_color): Made static.
17136 (grub_ncurses_putchar): Remove mapping.
17137 (grub_ncurses_getcharwidth): Removed.
17138 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
17139 (grub_ncurses_setcolor): Removed.
17140 (grub_ncurses_getcolor): Likewise.
17141 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
17142 (grub_console_putchar): ... this.
17143 (grub_console_putchar): Handle argument difference.
17144 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
17145 console_init_early and console_init_lately.
17146 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
17147 * kern/misc.c (grub_puts): Removed.
17148 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
17149 (grub_vsnprintf_real): Remove str = NULL support.
17150 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
17151 * normal/charset.c (grub_utf8_to_ucs4): ... here.
17152 * kern/term.c (grub_putcode): Renamed to ...
17153 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
17154 (grub_putchar): Removed.
17155 (grub_xputs_dumb): New function.
17156 (grub_xputs): New variable.
17157 * lib/charset.c: Move from here ...
17158 * normal/charset.c: ... to here.
17159 (grub_ucs4_to_utf8): New function.
17160 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
17161 (join_types): New variable.
17162 (unpack_join): New function.
17163 (bidi_types): New variable.
17164 (unpack_bidi): New function.
17165 (get_bidi_type): Likewise.
17166 (get_join_type): Likewise.
17167 (is_mirrored): Likewise.
17168 (grub_unicode_get_comb_type): Likewise.
17169 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
17170 (is_type_after): Likewise.
17171 (grub_unicode_aglomerate_comb): Likewise.
17172 (bidi_line_wrap): Likewise.
17173 (grub_bidi_line_logical_to_visual): Likewise.
17174 (grub_bidi_logical_to_visual): Likewise.
17175 (grub_unicode_mirror_code): Likewise.
17176 (grub_unicode_shape_code): Likewise.
17177 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
17178 Don't use grub_putchar.
17179 * normal/main.c (grub_normal_init_page): Use grub_putcode.
17180 (grub_normal_reader_init): Likewise.
17181 (grub_xputs_saved): New variable.
17182 (GRUB_MOD_INIT): Set grub_xputs.
17183 (GRUB_MOD_FINI): Restore grub_xputs.
17184 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
17185 (menu_init): Avoid printing gfxmenu error.
17186 (show_menu): Use grub_normal_get_char_counter.
17187 * normal/menu_entry.c (update_screen): Fix out-of-array.
17188 (complete): Avoid NULL dereferencing.
17189 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
17190 * normal/menu_text.c (print_spaces): Removed.
17191 (grub_print_ucs4): Likewise.
17192 (grub_print_message_indented): Use grub_print_ucs4.
17193 (print_message): Use grub_putcode.
17194 (print_entry): Hanlde diacritics.
17195 * normal/term.c (term_state): New type.
17196 (grub_more_lines): Removed.
17197 (term_states): New variable.
17198 (grub_normal_line_counter): Renamed to ..
17199 (grub_normal_char_counter): ...this. All users updated.
17200 (grub_normal_get_line_counter): Renamed to ...
17201 (grub_normal_get_char_counter): ... this.
17202 (grub_normal_reset_more): New function.
17203 (process_newline): Removed.
17204 (print_more): New function.
17205 (grub_install_newline_hook): Removed.
17206 (map_code): New function.
17207 (grub_puts_terminal): Use grub_print_ucs4.
17208 (putglyph): New function.
17209 (putcode_real): Likewise.
17210 (grub_putcode): Use putcode_real.
17211 (get_maxwidth): New function.
17212 (get_startwidth): Likewise.
17213 (print_ucs4_terminal): Likewise.
17214 (find_term_state): Likewise.
17215 (put_glyphs_terminal): Likewise.
17216 (print_backlog): Likewise.
17217 (print_ucs4_real): Likewise.
17218 (grub_print_ucs4): Likewise.
17219 (grub_xputs_normal): Likewise.
17220 * term/efi/console.c (grub_console_putchar): Output diacritics.
17221 (grub_console_getcharwidth): Removed.
17222 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
17223 * term/gfxterm.c (clear_char): Free chars.
17224 (scroll_up): Avoid leaking memory.
17225 (grub_gfxterm_putchar): Support diacritics.
17226 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
17227 * term/i386/pc/console.c (grub_console_term_output): Declare as
17228 GRUB_TERM_CODE_TYPE_VGA.
17229 * term/i386/pc/vga.c (grub_vga_term): Declare as
17230 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
17231 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
17232 GRUB_TERM_CODE_TYPE_VGA.
17233 * term/i386/vga_common.c (map_char): Removed.
17234 (grub_console_putchar): Likewise.
17235 (grub_console_getcharwidth): Likewise.
17236 * term/ieee1275/ofconsole.c: Simplify using terminfo.
17237 (colors): Reordered to match terminfo.
17238 (grub_ofconsole_normal_color): Removed.
17239 (grub_ofconsole_writeesc): Likewise.
17240 (grub_ofconsole_highlight_color): Likewise.
17241 (grub_ofconsole_getcharwidth): Likewise.
17242 (grub_ofconsole_setcolorstate): Likewise.
17243 (grub_ofconsole_setcolor): Likewise.
17244 (grub_ofconsole_getcolor): Likewise.
17245 (grub_ofconsole_readkey): Renamed to ...
17246 (readkey): ... this. Remove escape sequence handling. Return -1 on no
17247 key.
17248 (grub_ofconsole_checkkey): Removed.
17249 (grub_ofconsole_getkey): Likewise.
17250 (grub_ofconsole_getxy): Likewise.
17251 (grub_ofconsole_gotoxy): Likewise.
17252 (grub_ofconsole_cls): Likewise.
17253 (grub_ofconsole_refresh): Likewise.
17254 (grub_ofconsole_terminfo_input): New struct.
17255 (grub_ofconsole_terminfo_output): Likewise.
17256 (grub_ofconsole_term_input): Use terminfo.
17257 (grub_ofconsole_term_output): Likewise.
17258 (grub_console_init): Split into ...
17259 (grub_console_init_early): ...this and ...
17260 (grub_console_init_lately): ...this. Use terminfo.
17261 (grub_ofconsole_putchar): Renamed to ...
17262 (put): ... this. Remove mapping.
17263 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
17264 * term/serial.c: Simplify using terminfo.
17265 (xpos): Removed.
17266 (ypos): Likewise.
17267 (keep_track): Likewise.
17268 (registered): Likewise.
17269 (input_buf): Likewise.
17270 (npending): Likewise.
17271 (serial_translate_key_sequence): Likewise.
17272 (fill_input_buf): Likewise.
17273 (grub_serial_checkkey): Likewise.
17274 (grub_serial_getkey): Likewise.
17275 (grub_serial_getxy): Likewise.
17276 (grub_serial_gotoxy): Likewise.
17277 (grub_serial_putchar): Likewise.
17278 (grub_serial_cls): Likewise.
17279 (grub_serial_setcolorstate): Likewise.
17280 (grub_serial_setcursor): Likewise.
17281 (serial_hw_init): Use serial_hw_fetch.
17282 (grub_serial_terminfo_input): New variable.
17283 (grub_serial_terminfo_output): Likewise.
17284 (grub_serial_term_input): Use terminfo.
17285 (grub_serial_term_output): Likewise.
17286 * term/terminfo.c (putstr): Use put.
17287 (grub_terminfo_all_free): New function
17288 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
17289 (grub_terminfo_output_register): New function.
17290 (grub_terminfo_output_unregister): Likewise.
17291 (grub_terminfo_getxy): Likewise.
17292 (grub_terminfo_readkey): Likewise.
17293 (grub_terminfo_checkkey): Likewise.
17294 (grub_terminfo_getkey): Likewise.
17295 (grub_terminfo_input_init): Likewise.
17296 (print_terminfo): Likewise.
17297 (grub_cmd_terminfo): Handle encoding.
17298 (grub_terminfo_gotoxy): Track position.
17299 (grub_terminfo_cls): Likewise.
17300 (grub_terminfo_putchar): Likewise.
17301 (grub_terminfo_setcolorstate): Handle colors
17302 (grub_terminfo_cursor_on): This ...
17303 (grub_terminfo_cursor_off): ... and this merged into ...
17304 (grub_terminfo_setcursor): ... this.
17305 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
17306 * unicode/ArabicShaping.txt: New file (imported from Unicode).
17307 * unicode/BidiMirroring.txt: Likewise.
17308 * unicode/UnicodeData.txt: Likewise.
17309 * unicode/COPYING: Likewise.
17310 * util/grub-editenv.c (grub_putchar): Removed.
17311 (grub_xputs_real): New function.
17312 (grub_xputs): New variable.
17313 * util/grub-fstest.c (grub_putchar): Removed.
17314 (grub_xputs_real): New function.
17315 (grub_xputs): New variable.
17316 * util/grub-mkdevicemap.c (grub_putchar): Removed.
17317 (grub_xputs_real): New function.
17318 (grub_xputs): New variable.
17319 * util/grub-probe.c (grub_putchar): Removed.
17320 (grub_xputs_real): New function.
17321 (grub_xputs): New variable.
17322 * util/grub-script-check.c (grub_putchar): Removed.
17323 (grub_xputs_real): New function.
17324 (grub_xputs): New variable.
17325 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
17326 (grub_xputs_real): New function.
17327 (grub_xputs): New variable.
17328 * util/import_unicode.py: New file.
17329 * util/grub-mkfont.c (ft_errmsgs): New array.
17330 (grub_glyph_info): Make bitmap a pointer.
17331 (file_formats): New type WIDTH_SPEC.
17332 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
17333 (options): Add width-spec.
17334 (help): Likewise.
17335 (add_char): Renamed to ...
17336 (add_glyph): ... this.
17337 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
17338 (glyph_replace): New type.
17339 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
17340 (add_char): New function.
17341 (add_subst): Likewise.
17342 (process_cursive): Likewise.
17343 (add_font): Handle GSUB.
17344 (write_font_width_spec): New function.
17345 (main): Sort glyphs.
17346 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
17347 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
17348 * kern/term.c (grub_cls): Moved from here...
17349 * normal/term.c (grub_cls): ... here.
17350
50f0bcda
CW
173512010-07-02 Colin Watson <cjwatson@ubuntu.com>
17352
17353 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
17354 suitable for using within the format argument of printf when
17355 converting grub_size_t.
17356 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
17357 "x" to convert grub_size_t arguments.
17358
40372103
VS
173592010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17360
17361 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
17362 too long captions.
17363 (list_get_minimal_size): Take selection box into account.
17364
942a10c7
VS
173652010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17366
17367 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
17368 NULL font.
17369
2bdb2892
CW
173702010-07-02 Colin Watson <cjwatson@ubuntu.com>
17371
17372 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
17373 devices when iterating over /dev/disk/by-id; they will be handled
17374 later if appropriate, which they aren't always (e.g. LVM).
17375
e03ed6c1
CW
173762010-07-02 Colin Watson <cjwatson@ubuntu.com>
17377
17378 * include/grub/misc.h (grub_reboot): Declare as noreturn.
17379 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
17380 fails.
17381 (grub_halt): Likewise.
17382 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
17383 reset-all fails.
17384 (grub_halt): Don't return, even if all of shut-down, power-off, and
17385 poweroff fail.
17386
47695765
CW
173872010-07-02 Colin Watson <cjwatson@ubuntu.com>
17388
17389 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
17390 arguments, not three.
17391
507736c8
CW
173922010-07-02 Colin Watson <cjwatson@ubuntu.com>
17393
17394 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
17395 * util/grub.d/10_linux.in: Use it to check for LVM, so that
17396 LVM-on-RAID is handled correctly.
17397
e3c8cd37
CW
173982010-07-02 Colin Watson <cjwatson@ubuntu.com>
17399
17400 * docs/grub.texi (Changes from GRUB Legacy): New section.
17401 (Future): Fix typo.
17402
8d4a2fec
CW
174032010-07-02 Colin Watson <cjwatson@ubuntu.com>
17404
17405 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
17406 grub.d/README accidentally ends up executable for one reason or
17407 another. Ignore it.
17408
1c4827be
VS
174092010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17410
17411 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
17412 (gpt_partition_map_iterate): Support non-512B sectors.
17413
d9a0c941
VS
174142010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17415
17416 * kern/efi/init.c (grub_efi_init): Disable watchdog.
17417 Tested by: Seth Goldberg.
17418
48f27e87
VS
174192010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17420
17421 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
17422 Properly align mbi.
17423 Reported by: Seth Goldberg.
17424
b0c4f956
VS
174252010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
17426
17427 * util/grub-mkrescue.in: Avoid module duplication.
17428
105a2e8c
SF
174292010-07-01 Sean Finney <seanius@seanius.net>
17430
17431 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
17432
5944958c
SF
174332010-07-01 Sean Finney <seanius@seanius.net>
17434
17435 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
17436
174372010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
17438
17439 * disk/lvm.c (grub_lvm_checkvalue): New function.
17440 (grub_lvm_check_flag): Likewise.
17441
b79889ba
RM
174422010-07-01 Robert Millan <rmh@gnu.org>
17443
17444 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
17445 Support 'p' as partition separator on kernel of FreeBSD (used
17446 with GPT labels).
17447 (grub_util_biosdisk_get_grub_dev): Likewise.
17448
ec1d04f1
VS
174492010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
17450
17451 Yeeloong firmware port.
17452
17453 * boot/mips/yeeloong/fwstart.S: New file.
17454 * bus/cs5536.c (gpiodump): New const.
17455 (set_io_space): New function.
17456 (set_iod): Likewise.
17457 (set_p2d): Likewise.
17458 (grub_cs5536_init_geode): Likewise.
17459 * commands/mips/yeeloong/lsspd.c: New file.
17460 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
17461 (serial_mod_SOURCES): New variable.
17462 (serial_mod_CFLAGS): Likewise.
17463 (serial_mod_LDFLAGS): Likewise.
17464 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
17465 term/terminfo.c and term/tparm.c.
17466 (pkglib_IMAGES): Add fwstart.img.
17467 (fwstart_img_SOURCES): New variable.
17468 (fwstart_img_CFLAGS): Likewise.
17469 (fwstart_img_ASFLAGS): Likewise.
17470 (fwstart_img_LDFLAGS): Likewise.
17471 (fwstart_img_FORMAT): Likewise.
17472 (pkglib_MODULES): Add lsspd.mod.
17473 (lsspd_mod_SOURCES): New variable.
17474 (lsspd_mod_CFLAGS): Likewise.
17475 (lsspd_mod_LDFLAGS): Likewise.
17476 (pkglib_MODULES): Add halt.mod.
17477 (halt_mod_SOURCES): New variable.
17478 (halt_mod_CFLAGS): Likewise.
17479 (halt_mod_LDFLAGS): Likewise.
17480 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
17481 (serial_mod_SOURCES): Removed.
17482 (serial_mod_CFLAGS): Likewise.
17483 (serial_mod_LDFLAGS): Likewise.
17484 * disk/ata.c (check_device): New function.
17485 (grub_ata_device_initialize): Use check_device.
17486 (grub_ata_iterate): Recheck devices.
17487 (grub_ata_open): Likewise.
17488 (grub_atapi_iterate): Likewise.
17489 (grub_atapi_open): Likewise.
17490 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
17491 (GRUB_ATA_CH1_PORT1): Likewise.
17492 (GRUB_ATA_CH0_PORT2): Likewise.
17493 (GRUB_ATA_CH1_PORT2): Likewise.
17494 * include/grub/mips/loongson.h: New file.
17495 * include/grub/mips/yeeloong/ec.h: Likewise.
17496 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
17497 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
17498 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
17499 * include/grub/misc.h (grub_halt): Declare as noreturn.
17500 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
17501 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
17502 (UART_ENABLE_FIFO_TRIGGER1): New definition.
17503 (UART_ENABLE_DTRRTS): Likewise.
17504 (UART_ENABLE_MODEM): Removed.
17505 (UART_ENABLE_OUT2): New const.
17506 * include/grub/term.h (grub_term_register_input_active): New function.
17507 (grub_term_register_output_active): Likewise.
17508 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
17509 argument.
17510 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
17511 (init_pci): New function.
17512 (grub_machine_init): Execute platform init when firmware. Init serial.
17513 (grub_halt): Implement.
17514 (grub_exit): Likewise.
17515 (grub_reboot): Likewise.
17516 * term/serial.c (serial_hw_init): Update macros.
17517 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
17518 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
17519 (image_targets): New target mipsel-yeeloong-flash.
17520 (generate_image): Support IMAGE_YEELOONG_FLASH.
17521 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
17522 (grub_video_sm712_setup): Init card.
17523 (grub_video_sm712_set_palette): Removed.
17524 * video/sm712_init.c: New file.
17525
ff4a70d2
CW
175262010-06-30 Colin Watson <cjwatson@ubuntu.com>
17527
17528 * Makefile.in (install-local): Temporarily prepend $(builddir) to
17529 PATH when running help2man and then run it on the unadorned
17530 executable names, rather than passing $(builddir)/* paths to
17531 help2man. This avoids the build directory ending up in generated
17532 manual pages.
17533
1246efeb
CW
175342010-06-29 Colin Watson <cjwatson@ubuntu.com>
17535
17536 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
17537 to avoid accidents when debugging with 'sh -x'.
17538 * util/grub-mkrescue.in: Likewise.
17539 * util/grub.d/00_header.in: Likewise.
17540 * util/grub.d/10_hurd.in: Likewise.
17541 * util/grub.d/10_kfreebsd.in: Likewise.
17542 * util/grub.d/10_linux.in: Likewise.
17543 * util/grub.d/10_netbsd.in: Likewise.
17544 * util/grub.d/10_windows.in: Likewise.
17545 * util/grub.d/20_linux_xen.in: Likewise.
17546 * util/grub.d/30_os-prober.in: Likewise.
17547 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17548
1ba9b889
CW
175492010-06-29 Colin Watson <cjwatson@ubuntu.com>
17550
17551 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
17552 last character in the buffer.
17553 Reported by: Vladimir Serbinenko.
17554
dccaf99d
RM
175552010-06-29 Robert Millan <rmh@gnu.org>
17556
17557 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
17558 (Command-line and menu entry commands): Document `badram' command.
17559
d500ed12
RM
175602010-06-28 Robert Millan <rmh@gnu.org>
17561
17562 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
17563 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
17564 command using ${GRUB_BADRAM} as parameter.
17565
20bc84a6
CW
175662010-06-28 Colin Watson <cjwatson@ubuntu.com>
17567
17568 * docs/grub.texi (Device map): New section.
17569 (Themes): New section (stub).
17570 * Makefile.in (docs/grub.info): The info documentation now builds
17571 without errors. Make sure it stays that way.
17572
4045dee1
VS
175732010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
17574
17575 Use normal parser for menu entries.
17576 Reported by: Thomas Frauendorfer
17577
17578 * include/grub/parser.h (grub_parser_execute): Don't export.
17579 * normal/menu.c (grub_menu_execute_entry_real): New function.
17580 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
17581
bca58c7b
CW
175822010-06-28 Colin Watson <cjwatson@ubuntu.com>
17583
17584 * docs/grub.texi (Embedded configuration): New section (replacing
17585 old "Preset Menu" stub).
17586 (Images): New section.
17587 (configfile): Note that any menu entries defined in `file' are shown
17588 immediately.
17589
dec53e63
JT
175902010-06-28 Josh Triplett <josh@joshtriplett.org>
17591
17592 * mmap/i386/pc/mmap_helper.S: Set CF on return.
17593
c06e40f7
CW
175942010-06-28 Colin Watson <cjwatson@ubuntu.com>
17595
17596 * util/grub-install.in: Add --debug-image= option.
17597
cb88052b
CW
175982010-06-28 Colin Watson <cjwatson@ubuntu.com>
17599
17600 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
17601 possible on Linux.
17602
17603 * util/deviceiter.c (check_device): Rename to ...
17604 (check_device_readable_unique): ... this. Update all callers.
17605 Maintain and check a list of which devices (by canonicalized name)
17606 have already been seen.
17607 (clear_seen_devices): New function.
17608 (compare_file_names) [__linux__]: New function.
17609 (grub_util_iterate_devices): Clear the list of seen devices on exit
17610 and (just in case) on entry.
17611 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
17612 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
17613 seen-devices list, superseded by general code in check_device.
17614
bbe34652
CW
176152010-06-28 Colin Watson <cjwatson@ubuntu.com>
17616
17617 * commands/cat.c (options): New variable.
17618 (grub_cmd_cat): Parse options. If the --dos option is given, print
17619 DOS-style "\r\n" line endings as simple newlines (Debian bug
17620 #586358).
17621 (GRUB_MOD_INIT): Use extcmd.
17622 (GRUB_MOD_FINI): Likewise.
17623 * docs/grub.texi (cat): Document --dos.
17624
412e09f3
VS
176252010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
17626
17627 XEN with Linux grub-mkconfig support.
17628
17629 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
17630 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
17631 GRUB_CMDLINE_XEN_DEFAULT.
17632 * util/grub.d/20_linux_xen.in: New file.
17633
53f3ef38 176342010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
17635
17636 Initialise VGA video on qemu ourselves.
17637
17638 * boot/i386/qemu/boot.S: Don't call 0xc000.
17639 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
17640 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
17641 (kernel_img_HEADERS): Add pci.h.
17642 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
17643 * configure.ac: Force unifont on qemu and yeeloong.
17644 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
17645 (grub_vga_palette_write): Use correct register.
17646 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
17647 Call grub_qemu_init_cirrus.
17648 * kern/i386/qemu/init.c: New file.
17649 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
17650
17651 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
17652
c75be4fb
PR
176532010-06-26 Pavel Roskin <proski@gnu.org>
17654
17655 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
17656 13.
17657
d8034603
CW
176582010-06-26 Colin Watson <cjwatson@ubuntu.com>
17659
17660 * docs/grub.texi (Simple configuration): Explain that
17661 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
17662 set to `true' to disable their respective recovery entries, not
17663 merely set.
17664
3fa06487
CW
176652010-06-26 Colin Watson <cjwatson@ubuntu.com>
17666
17667 Make the `source' command slightly faster.
17668
17669 * normal/main.c (grub_normal_execute): Don't re-read list files when
17670 nested.
17671
e9b29642
CW
176722010-06-23 Colin Watson <cjwatson@ubuntu.com>
17673
17674 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
17675 field position and mask size to red fields from mode_info, not
17676 green.
17677 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
17678 Remove redundant tag->common.framebuffer_type assignment.
17679 Reported by: Seth Goldberg.
17680
e726542f
CW
176812010-06-23 Colin Watson <cjwatson@ubuntu.com>
17682
17683 Sync up other versions of the Linux loader with Robert Millan's
17684 change of 2010-01-09, "Make loader output a bit more user-friendly".
17685
17686 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
17687 grub_dprintf().
17688 (grub_cmd_linux): Likewise.
17689 (grub_cmd_initrd): Likewise.
17690 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
17691 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17692
d6e98a17
CW
176932010-06-21 Colin Watson <cjwatson@ubuntu.com>
17694
17695 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
17696 larger than MEMORY_MAP_SIZE.
17697
14d3f08e
BC
176982010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
17699
17700 Fix parallel build.
17701
17702 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
17703 dependency.
17704 * script/parser.y: #include grub_script.tab.h header.
17705
4f9613a3
VS
177062010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17707
17708 Support >3GiB and <16MiB RAM in i386-qemu.
17709
17710 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
17711 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
17712 (grub_lower_mem): Removed.
17713 (grub_upper_mem): Likewise.
17714 (mem_size): Made static.
17715 (above_4g): New variable.
17716 (grub_machine_mmap_init): Detect small mem_size and above_4g.
17717 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
17718 support.
17719
05e51879
VS
177202010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17721
17722 Cirrus 5446 and Bochs video cards support.
17723
17724 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
17725 video_bochs.mod
17726 (video_cirrus_mod_SOURCES): New variable.
17727 (video_cirrus_mod_CFLAGS): Likewise.
17728 (video_cirrus_mod_LDFLAGS): Likewise.
17729 (video_bochs_mod_SOURCES): Likewise.
17730 (video_bochs_mod_CFLAGS): Likewise.
17731 (video_bochs_mod_LDFLAGS): Likewise.
17732 * include/grub/vga.h: New file.
17733 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
17734 (grub_video_fb_set_page_t): New type.
17735 (grub_video_fb_setup): New prototype.
17736 (grub_video_fb_swap_buffers): Likewise.
17737 (grub_video_fb_get_info_and_fini): Likewise.
17738 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
17739 (CRTC_DATA_PORT): Likewise.
17740 (CRTC_CURSOR): Likewise.
17741 (CRTC_CURSOR_ADDR_HIGH): Likewise.
17742 (CRTC_CURSOR_ADDR_LOW): Likewise.
17743 (CRTC_CURSOR_DISABLE): Likewise.
17744 (update_cursor): Use grub_vga_cr_write.
17745 (grub_vga_text_setcursor): Likewise.
17746 * video/bochs.c: New file.
17747 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
17748 (palette): Likewise.
17749 (palette_size): Likewise.
17750 (framebuffer): New variable.
17751 (grub_video_fb_init): Use 'framebuffer'.
17752 (grub_video_fb_fini): Likewise.
17753 (grub_video_fb_get_info): Likewise.
17754 (grub_video_fb_get_palette): Likewise.
17755 (grub_video_fb_set_palette): Likewise.
17756 (grub_video_fb_set_viewport): Likewise.
17757 (grub_video_fb_get_viewport): Likewise.
17758 (grub_video_fb_map_color): Likewise.
17759 (grub_video_fb_map_rgb): Likewise.
17760 (grub_video_fb_map_rgba): Likewise.
17761 (grub_video_fb_unmap_color): Likewise.
17762 (grub_video_fb_unmap_color_int): Likewise.
17763 (grub_video_fb_fill_rect): Likewise.
17764 (grub_video_fb_blit_bitmap): Likewise.
17765 (grub_video_fb_blit_render_target): Likewise.
17766 (grub_video_fb_scroll): Likewise.
17767 (grub_video_fb_create_render_target): Likewise.
17768 (grub_video_fb_doublebuf_blit_init): Likewise.
17769 (grub_video_fb_set_active_render_target): Handle doublebuffering.
17770 (doublebuf_pageflipping_update_screen): New function.
17771 (doublebuf_pageflipping_init): Likewise.
17772 (grub_video_fb_setup): Likewise.
17773 (grub_video_fb_swap_buffers): Likewise.
17774 (grub_video_fb_get_info_and_fini): Likewise.
17775 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
17776 All users updated.
17777 (doublebuf_pageflipping_commit): Restructured into ...
17778 (doublebuf_pageflipping_set_page): ... this.
17779 (doublebuf_pageflipping_update_screen): Removed.
17780 (doublebuf_pageflipping_init): Likewise.
17781 (double_buffering_init): Likewise.
17782 (grub_video_vbe_setup): Use grub_video_fb_setup.
17783 (grub_video_vbe_swap_buffers): Removed.
17784 (grub_video_vbe_set_active_render_target): Likewise.
17785 (grub_video_vbe_get_active_render_target): Likewise.
17786 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
17787 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
17788 grub_video_fb_set_active_render_target and
17789 grub_video_fb_get_active_render_target.
17790 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
17791 (SEQUENCER_DATA_PORT): Likewise.
17792 (MAP_MASK_REGISTER): Likewise.
17793 (CRTC_ADDR_PORT): Likewise.
17794 (CRTC_DATA_PORT): Likewise.
17795 (START_ADDR_HIGH_REGISTER): Likewise.
17796 (START_ADDR_LOW_REGISTER): Likewise.
17797 (GRAPHICS_ADDR_PORT): Likewise.
17798 (GRAPHICS_DATA_PORT): Likewise.
17799 (READ_MAP_REGISTER): Likewise.
17800 (INPUT_STATUS1_REGISTER): Likewise.
17801 (INPUT_STATUS1_VERTR_BIT): Likewise.
17802 (get_map_mask): Use grub_vga_sr_read.
17803 (set_map_mask): Use grub_vga_sr_write.
17804 (set_read_map): Use grub_vga_gr_write.
17805 (set_start_address): Use grub_vga_cr_write.
17806 * video/sm712.c (framebuffer): Remove leftover fields.
17807
4321c64a
CW
178082010-06-20 Colin Watson <cjwatson@ubuntu.com>
17809
17810 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
17811 setting GRUB_VIDEO_BACKEND. Make it available as a user override
17812 instead. Replace the gfxterm backend check with a check that
17813 ${GRUB_PREFIX}/video.lst is non-empty.
17814 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
17815 again.
17816 (load_video): New generated function. Call it before loading
17817 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
17818 * util/grub.d/10_linux.in (linux_entry): Call load_video.
17819 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
17820 * docs/grub.texi (Simple configuration): Document
17821 GRUB_VIDEO_BACKEND.
17822
178232010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17824
17825 Use video functions in linux and xnu loaders.
17826
17827 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
17828 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
17829 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
17830 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
17831 loader/i386/pc/linux.c.
17832 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
17833 (find_line_len): Removed.
17834 (find_framebuf): Likewise.
17835 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
17836 * loader/i386/efi/xnu.c: Removed.
17837 * loader/i386/pc/xnu.c: Moved from here...
17838 * loader/i386/xnu.c: ...here.
17839
17840 Enable priorities in video drivers.
17841
17842 * include/grub/video.h (grub_video_adapter_prio_t): New type.
17843 (grub_video_adapter): New field prio.
17844 (grub_video_register): Respect prio when inserting.
17845 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
17846 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
17847 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
17848 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
17849 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
17850 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
17851 * video/sm712.c (grub_video_sm712_adapter): Likewise.
17852
17853 Fix SDL driver ID.
17854
17855 * include/grub/video.h (grub_video_driver_id_t): New value
17856 GRUB_VIDEO_DRIVER_SDL.
17857 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
17858
7d24e434
CW
178592010-06-17 Colin Watson <cjwatson@ubuntu.com>
17860
17861 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
17862 argument to printf.
17863 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17864
c88a83f6
CW
178652010-06-17 Colin Watson <cjwatson@ubuntu.com>
17866
17867 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
17868 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17869
094dfb69
CW
178702010-06-17 Colin Watson <cjwatson@ubuntu.com>
17871
17872 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
17873 directly, and recommend grub-install instead.
17874 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
17875
2164da6b
CW
178762010-06-17 Colin Watson <cjwatson@ubuntu.com>
17877
17878 Fix i386-pc prefix handling with nested partitions (Debian bug
17879 #585068). Note that the case where the core image is booted using
17880 multiboot and relocated from its original location still requires
17881 more work.
17882
17883 * kern/i386/pc/init.c (make_install_device): If the prefix starts
17884 with "(,", fill the boot drive in between those two characters, but
17885 expect that a full partition specification including partition map
17886 names will follow.
17887 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
17888 specified, write a prefix without the drive name but including a
17889 full partition specification.
17890
044e2e60
CW
178912010-06-16 Colin Watson <cjwatson@ubuntu.com>
17892
17893 * util/grub-mkconfig.in: Ignore non-option arguments, for
17894 compatibility with older versions (before 2010-06-12) which did the
17895 same. In particular, this makes it easier to ship an update-grub
17896 wrapper which is compatible with that used with GRUB Legacy (Debian
17897 bug #586056).
17898
5591324f
GS
178992010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17900
17901 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
17902 for manual page generation.
17903
662e24d5
GS
179042010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17905
17906 * po/POTFILES: Remove leftover commands/handler.c.
17907
8d70754e
CW
179082010-06-14 Colin Watson <cjwatson@ubuntu.com>
17909
17910 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
17911 left this script non-functional.
17912
41160e2e
CW
179132010-06-14 Colin Watson <cjwatson@ubuntu.com>
17914
17915 * docs/man/grub-emu.h2m: New file.
17916
b5309cc1
CW
179172010-06-13 Colin Watson <cjwatson@ubuntu.com>
17918
17919 * docs/grub.texi (Commands): Document reduced command set in rescue
17920 mode.
17921 (cpuid): New section.
17922
fcb2d090
GS
179232010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
17924
17925 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
17926 new partition naming style.
17927 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
17928
96e5c556
BC
179292010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
17930
17931 Add "-o grub.iso" like cmdline options support.
17932
17933 * util/grub-install.in: Improve cmdline option parsing.
17934 * util/grub-mkconfig.in: Likewise.
17935 * util/grub-mkrescue.in: Likewise.
17936 * util/grub-reboot.in: Likewise.
17937 * util/grub-set-default.in: Likewise.
17938 * util/i386/efi/grub-install.in: Likewise.
17939 * util/ieee1275/grub-install.in: Likewise.
17940 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17941
c16be99b
CW
179422010-06-12 Colin Watson <cjwatson@ubuntu.com>
17943
17944 * .bzrignore: Ignore 41_custom.
17945
ce08a9fb
TS
179462010-06-12 Thomas Schmitt <scdbackup@gmx.net>
17947
17948 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
17949
7beac90c
CW
179502010-06-12 Colin Watson <cjwatson@ubuntu.com>
17951
17952 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
17953 prototype declarations.
17954
17955 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
17956 generating fs, partmap, and video lists.
17957 * include/grub/fs.h (grub_fs_register): Omit prototype if
17958 GRUB_LST_GENERATOR is defined.
17959 * include/grub/partition.h (grub_partition_map_register): Likewise.
17960 * include/grub/video.h (grub_video_register): Likewise.
17961
1c8f0f8d
JM
179622010-06-12 Javier Martín <lordhabbit@gmail.com>
17963
17964 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
17965
a6085973
TS
179662010-06-12 Thomas Schmitt <scdbackup@gmx.net>
17967
17968 * util/grub-mkrescue.in: Support --xorriso argument.
17969
25c56d29
VS
179702010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17971
17972 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
17973 Suggested by: Thomas Schmitt.
17974
e03e4b24
VS
179752010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17976
17977 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
17978 Suggested by: Thomas Schmitt.
17979
57711df6
VS
179802010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17981
17982 custom.cfg support.
17983
17984 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
17985 * util/grub.d/41_custom.in: New file.
17986
ee62c427
CW
179872010-06-12 Colin Watson <cjwatson@ubuntu.com>
17988
17989 * util/grub-mkrescue.in (make_image): Remove sh module, which has
17990 been merged back into normal.
17991
283af07a
CW
179922010-06-11 Colin Watson <cjwatson@ubuntu.com>
17993
17994 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
17995 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
17996
56a0d956
CW
179972010-06-11 Colin Watson <cjwatson@ubuntu.com>
17998
17999 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
18000 when generating manual pages.
18001 * docs/man/grub-bin2h.h2m: New file.
18002 * docs/man/grub-editenv.h2m: New file.
18003 * docs/man/grub-fstest.h2m: New file.
18004 * docs/man/grub-install.h2m: New file.
18005 * docs/man/grub-macho2img.h2m: New file.
18006 * docs/man/grub-mkconfig.h2m: New file.
18007 * docs/man/grub-mkdevicemap.h2m: New file.
18008 * docs/man/grub-mkfont.h2m: New file.
18009 * docs/man/grub-mkimage.h2m: New file.
18010 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
18011 * docs/man/grub-mkrelpath.h2m: New file.
18012 * docs/man/grub-mkrescue.h2m: New file.
18013 * docs/man/grub-ofpathname.h2m: New file.
18014 * docs/man/grub-pe2elf.h2m: New file.
18015 * docs/man/grub-probe.h2m: New file.
18016 * docs/man/grub-reboot.h2m: New file.
18017 * docs/man/grub-script-check.h2m: New file.
18018 * docs/man/grub-set-default.h2m: New file.
18019 * docs/man/grub-setup.h2m: New file.
18020
3a37e322
VS
180212010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
18022
18023 Use FOR_* macros instead of *_iterate whenever possible.
18024
18025 * commands/handler.c: Removed.
18026 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
18027 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
18028 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18029 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
18030 (grub_probe_SOURCES): Remove kern/parser.c.
18031 (util/grub-script-check.c_DEPENDENCIES): Removed.
18032 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
18033 and grub_script_check_init.c.
18034 (grub_script_check_init.lst): Removed.
18035 (grub_script_check_init.h): Likewise.
18036 (grub_script_check_init.c): Likewise.
18037 (pkglib_MODULES): Remove handler.mod and sh.mod.
18038 (handler_mod_SOURCES): Removed.
18039 (handler_mod_CFLAGS): Likewise.
18040 (handler_mod_LDFLAGS): Likewise.
18041 (normal_mod_SOURCES): Remove normal/handler.c.
18042 Add script/main.c, script/script.c, script/execute.c,
18043 script/function.c, script/lexer.c, grub_script.tab.c
18044 and grub_script.yy.c.
18045 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18046 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18047 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
18048 (grub_setup_SOURCES): Remove kern/parser.c.
18049 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18050 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
18051 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
18052 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18053 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18054 (grub_setup_SOURCES): Remove kern/parser.c.
18055 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18056 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
18057 * include/grub/command.h (grub_command_iterate): Removed.
18058 (FOR_COMMANDS): New macro.
18059 * include/grub/dl.h (grub_dl): New member next.
18060 (grub_dl_iterate): Removed.
18061 (grub_dl_head): New variable declaration.
18062 (FOR_DL_MODULES): New macro.
18063 * include/grub/fs.h: Include list.h.
18064 (grub_fs): Make next first element.
18065 (grub_fs_list): New variable declaration.
18066 (grub_fs_register): Make inline.
18067 (grub_fs_unregister): Likewise.
18068 (grub_fs_iterate): Removed.
18069 (FOR_FILESYSTEMS): New macro.
18070 * include/grub/handler.h: Removed.
18071 * include/grub/list.h (grub_list_hook_t): Removed.
18072 (grub_list_test_t): Likewise.
18073 (grub_list_pop): Likewise.
18074 (grub_list_iterate): Likewise.
18075 (grub_list_insert): Likewise.
18076 (FOR_LIST_ELEMENTS): New macro.
18077 * include/grub/parser.h (grub_parser_class): Removed.
18078 (grub_parser_register): Likewise.
18079 (grub_parser_unregister): Likewise.
18080 (grub_parser_get_current): Likewise.
18081 (grub_parser_set_current): Likewise.
18082 (grub_register_rescue_parser): Likewise.
18083 (grub_rescue_parse_line): New function.
18084 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
18085 * include/grub/script_sh.h (grub_script_function_list): New variable
18086 declaration.
18087 (FOR_SCRIPT_FUNCTIONS): New macro.
18088 (grub_script_function_iterate): Removed.
18089 (grub_normal_parse_line): New prototype.
18090 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
18091 (FOR_DISABLED_TERM_INPUTS): Likewise.
18092 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
18093 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
18094 * include/grub/video.h (grub_video_adapter): Move 'next' to first
18095 element.
18096 (grub_video_register): Inline.
18097 (grub_video_unregister): Likewise.
18098 (grub_video_adapter_list): New variable declaration.
18099 (grub_video_iterate): Removed.
18100 (FOR_VIDEO_ADAPTERS): New macro.
18101 * kern/dl.c (grub_dl_list): Removed. All users updated.
18102 (grub_dl_iterate): Removed.
18103 * kern/fs.c (grub_fs_list): Make global.
18104 (grub_fs_register): Removed.
18105 (grub_fs_unregister): Likewise.
18106 (grub_fs_iterate): Likewise.
18107 * kern/handler.c: Removed.
18108 * kern/list.c (grub_list_pop): Removed.
18109 (grub_list_iterate): Likewise.
18110 (grub_list_insert): Likewise.
18111 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
18112 (grub_prio_list_insert): Don't use grub_list_insert.
18113 * kern/main.c (grub_register_rescue_parser): Don't call
18114 grub_register_rescue_parser.
18115 * kern/parser.c (grub_parser_class): Removed.
18116 (grub_parser_execute): Use grub_rescue_parse_line.
18117 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
18118 (grub_rescue_parser): Removed.
18119 (grub_register_rescue_parser): Likewise.
18120 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
18121 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
18122 (grub_auth_check_authentication): Likewise.
18123 * normal/completion.c (iterate_command): Removed.
18124 (grub_normal_do_completion): Use FOR_COMMANDS.
18125 * normal/handler.c: Removed.
18126 * normal/main.c (read_config_file): Remove parser changing.
18127 (grub_normal_execute): Don't call read_handler_list.
18128 (grub_normal_read_line_real): Statically allocate prompt.
18129 (grub_cmdline_run): Use grub_normal_parse_line.
18130 (GRUB_MOD_FINI): Don't call free_handler_list.
18131 * normal/menu_entry.c (run): Likewise.
18132 * script/function.c (grub_script_function_list): Make global.
18133 (grub_script_function_iterate): Removed.
18134 * script/main.c (grub_normal_parse_line): Make global.
18135 (grub_sh_parser): Removed.
18136 (GRUB_MOD_INIT): Likewise.
18137 (GRUB_MOD_FINI): Likewise.
18138 * tests/lib/functional_test.c (grub_functional_test): Use
18139 FOR_LIST_ELEMENTS.
18140 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
18141 (grub_test_run): Use FOR_LIST_ELEMENTS.
18142 * tests/lib/unit_test.c (main): Likewise.
18143 * util/deviceiter.c (grub_util_iterate_devices): Don't use
18144 grub_list_pop.
18145 * util/grub-fstest.c (grub_term_input_class): Removed.
18146 (grub_term_output_class): Likewise.
18147 * util/grub-probe.c: Likewise.
18148 * util/i386/pc/grub-setup.c: Likewise.
18149 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18150 * util/grub-script-check.c (main): Don't call grub_init_all and
18151 grub_fini_all.
18152 * video/video.c (grub_video_adapter_list): Make global.
18153 (grub_video_register): Removed.
18154 (grub_video_unregister): Likewise.
18155 (grub_video_iterate): Likewise.
18156
6289c3a7
VS
181572010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
18158
18159 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
18160 reported by Henrique Ferreiro.
18161
91460247
RM
181622010-06-09 Robert Millan <rmh@gnu.org>
18163
18164 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
18165 ones, when both are available.
18166
0ea7c4f9
GS
181672010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18168
18169 Make --version uniform and avoid hard-coded program name.
18170
18171 * util/grub-mkimage.c (main): Use `program_name' instead of
18172 hard-coded string.
18173 * util/i386/pc/grub-setup.c (main): Likewise.
18174 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
18175 * util/grub-install.in: Save the basename of $0 in $self, and use the
18176 latter in informational messages. Use the same format for --version
18177 as the binary programs.
18178 * util/grub-mkconfig.in: Likewise.
18179 * util/grub-mkrescue.in: Likewise.
18180 * util/grub-reboot.in: Likewise.
18181 * util/grub-set-default.in: Likewise.
18182 * util/i386/efi/grub-install.in: Likewise.
18183 * util/ieee1275/grub-install.in: Likewise.
18184 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18185
e8a6f3b6
GS
181862010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18187
18188 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
18189 embedding area. Use <= instead of == when checking for non-emptiness.
18190
f4d095d7
GS
181912010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18192
18193 * configure.ac: Add `.' to the directories searched for unifont.
18194
50e532ca
CW
181952010-06-08 Colin Watson <cjwatson@ubuntu.com>
18196
18197 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
18198 grub_script.yy.h.
18199
d39f3dec
CW
182002010-06-08 Colin Watson <cjwatson@ubuntu.com>
18201
18202 * docs/grub.texi (History): Expand to cover GRUB 2.
18203 (Serial terminal): Refer to `terminal_input' and `terminal_output'
18204 commands, not `terminal'.
18205 (serial): Likewise.
18206 (terminal_input): New section.
18207 (terminal_output): New section.
18208 (uppermem): New section (stub).
18209 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
18210
6ef0ddb4
CW
182112010-06-08 Colin Watson <cjwatson@ubuntu.com>
18212
18213 * docs/grub.texi (Security): Menu entries are unrestricted by
18214 default, not restricted to superusers as I had previously thought.
18215 Reword to account for this.
18216
e0f4c438
CW
182172010-06-07 Colin Watson <cjwatson@ubuntu.com>
18218
18219 * kern/emu/misc.c (device_mapper_null_log): New function.
18220 (grub_device_mapper_supported): New function.
18221 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
18222 prototype.
18223 * kern/emu/hostdisk.c (find_partition_start): Check whether
18224 device-mapper is supported before trying to use it.
18225 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
18226
da908200
CW
182272010-06-07 Colin Watson <cjwatson@ubuntu.com>
18228
18229 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
18230 (File name syntax): Likewise.
18231 (help): --all is no longer supported in GRUB 2. Be more precise
18232 about pattern matching.
18233
fb55c3ac
CW
182342010-06-07 Colin Watson <cjwatson@ubuntu.com>
18235
18236 * normal/completion.c (grub_normal_do_completion): When completing
18237 arguments to "set" and the current word contains an equals sign,
18238 skip to after the equals sign before starting completion.
18239
258c2573
CW
182402010-06-07 Colin Watson <cjwatson@ubuntu.com>
18241
18242 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
18243
ee75515e
CW
182442010-06-07 Colin Watson <cjwatson@ubuntu.com>
18245
18246 * docs/grub.texi (Network): New section.
18247 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
18248 `(nd)' as in GRUB Legacy.
18249 (pxe_unload): New section.
18250
a6a700aa
CW
182512010-06-07 Colin Watson <cjwatson@ubuntu.com>
18252
18253 * docs/grub.texi (Troubleshooting): `echo' is not usually available
18254 in the rescue shell, so recommend using `set' instead. Thanks,
18255 Jordan Uggla.
18256
4003dd38
CW
182572010-06-07 Colin Watson <cjwatson@ubuntu.com>
18258
18259 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
18260 (password): New section.
18261 (password_pbkdf2): New section.
18262 (search): New section.
18263 (Security): New section.
18264 (Troubleshooting): New section, currently very incomplete.
18265 (Invoking grub-mkpasswd-pbkdf2): New section.
18266 (Internals): New section, currently very incomplete.
18267
e1cbcc40
CW
182682010-06-07 Colin Watson <cjwatson@ubuntu.com>
18269
18270 * util/grub.d/00_header.in: Add some more quoting (of
18271 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
18272 work again.
18273 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
18274
db8fa1ad
CW
182752010-06-07 Colin Watson <cjwatson@ubuntu.com>
18276
18277 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
18278 to `count', fixing variable shadowing that broke the -c option.
18279
182802010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
18281
18282 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
18283 in case they contain spaces.
18284
f28a9212
CW
182852010-06-04 Colin Watson <cjwatson@ubuntu.com>
18286
18287 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
18288 "part_" to partmap module names, in line with grub-install.
18289 Reported by: Jindřich Makovička (Debian bug #584426).
18290
9cdfe32f
CW
182912010-06-04 Colin Watson <cjwatson@ubuntu.com>
18292
18293 * util/grub-mkimage.c: Make target-related error messages slightly
18294 more helpful; -O talks about "format". Explicitly point to the use
18295 of -O if no target is specified.
18296 Reported by: Didier Raboud (Debian bug #584415).
18297
795b593a
CW
182982010-06-03 Colin Watson <cjwatson@ubuntu.com>
18299
18300 * INSTALL: Document several build requirements for optional features
18301 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
18302
9d9b5833
GS
183032010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
18304
18305 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
18306 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
18307 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
18308
0819fec8
CW
183092010-06-02 Colin Watson <cjwatson@ubuntu.com>
18310
18311 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
18312 Thanks to Jordan Uggla for spotting this.
18313
49396b4f
VS
183142010-06-02 Aleš Nesrsta <starous@volny.cz>
18315
18316 Finally make USB usable.
18317
18318 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
18319 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
18320 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
18321 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
18322 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
18323 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
18324 (GRUB_OHCI_FSMPS): Likewise.
18325 (GRUB_OHCI_PERIODIC_START): Likewise.
18326 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
18327 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
18328 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
18329 (GRUB_OHCI_SET_PORT_RESET): Likewise.
18330 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
18331 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
18332 (grub_ohci_transaction): Likewise.
18333 (grub_ohci_transfer): Improve condition detection algorithms.
18334 Handle toggle property. Program the transactions correctly.
18335 Improve error handling. Various important fixups.
18336 (grub_ohci_portstatus): Put register writes in right order.
18337 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
18338 (grub_uhci_transfer): Don't show "failed" message on success.
18339 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
18340 array.
18341 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
18342 determine its size.
18343 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
18344 before initialization is completed. Use IN direction for empty
18345 transfers. Use last_trans and compute toggle.
18346 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
18347 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
18348 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
18349 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
18350 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
18351 (grub_usb_device): Increase toggle to 256.
18352 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
18353 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
18354 GRUB_USBMS_SUBCLASS_SFF8070.
18355 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
18356 (grub_scsi_inquiry): New member page and alloc_length.
18357 (grub_scsi_request_sense): New structure.
18358 (grub_scsi_request_sense_data): Likewise.
18359 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
18360 control.
18361 * disk/scsi.c (grub_scsi_request_sense): New function.
18362 (grub_scsi_test_unit_ready): Likewise.
18363 (grub_scsi_inquiry): Fill new fields.
18364 (grub_scsi_read_capacity): Likewise.
18365 (grub_scsi_read10): Add request sense at the end.
18366 (grub_scsi_read12): Likewise.
18367 (grub_scsi_write10): Likewise.
18368 (grub_scsi_write12): Likewise.
18369 (grub_scsi_open): Add Test Unit Ready.
18370 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
18371 Support additional subclasses. Con't clear halt yet. Activate the
18372 proper config. Calculate LUNs correctly.
18373 (grub_usbms_transfer): Various important fixups.
18374
183752010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
18376
18377 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
18378 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
18379 (grub_ohci_fini_hw): New function.
18380 (grub_ohci_restore_hw): Likewise.
18381 (GRUB_MOD_INIT(ohci)): Register preboot hook.
18382 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
18383 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
18384
183852010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
18386
18387 Dedicated DMA allocations.
18388
18389 * bus/pci.c (grub_memalign_dma32): New function
18390 (grub_dma_free): Likewise.
18391 (grub_dma_get_virt): Likewise.
18392 (grub_dma_get_phys): Likewise.
18393 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
18394 (grub_ohci_pci_iter): Use dma32_alloc.
18395 (grub_ohci_transfer): Likewise.
18396 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
18397 (grub_usb_bulk_readwrite): Likewise.
18398 * include/grub/pci.h: Add declarations.
18399
184002010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
18401
18402 CS5536 support.
18403
18404 * bus/cs5536.c: New file.
18405 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
18406 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
18407 (cs5536_mod_SOURCES): New variable.
18408 (cs5536_mod_CFLAGS): Likewise.
18409 (cs5536_mod_LDFLAGS): Likewise.
18410 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
18411 machine/pci.h.
18412 (kernel_img_SOURCES): Add bus/cs5536.c.
18413 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
18414 usb_keyboard.mod.
18415 (usb_mod_SOURCES): New variable.
18416 (usb_mod_CFLAGS): New variable.
18417 (usb_mod_LDFLAGS): New variable.
18418 (usbtest_mod_SOURCES): New variable.
18419 (usbtest_mod_CFLAGS): New variable.
18420 (usbtest_mod_LDFLAGS): New variable.
18421 (ohci_mod_SOURCES): New variable.
18422 (ohci_mod_CFLAGS): New variable.
18423 (ohci_mod_LDFLAGS): New variable.
18424 (usbms_mod_SOURCES): New variable.
18425 (usbms_mod_CFLAGS): New variable.
18426 (usbms_mod_LDFLAGS): New variable.
18427 (usb_keyboard_mod_SOURCES): New variable.
18428 (usb_keyboard_mod_CFLAGS): New variable.
18429 (usb_keyboard_mod_LDFLAGS): New variable.
18430 * include/grub/smbus.h: New file.
18431 * include/grub/cs5536.h: New file.
18432
0b35b2a9
CW
184332010-06-02 Colin Watson <cjwatson@ubuntu.com>
18434
18435 * util/grub.d/00_header.in: Add safety check to make sure that
18436 ${locale_dir} exists before trying to probe it.
18437
ca0afd5b
CW
184382010-06-02 Colin Watson <cjwatson@ubuntu.com>
18439
18440 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
18441 per the GNU Coding Standards; this is now too obscure to be worth
18442 documenting.
18443 (QNX): Likewise.
18444 (chainloader): Remove cross-reference to `SCO UnixWare'.
18445
1c41aa78
CW
184462010-06-02 Colin Watson <cjwatson@ubuntu.com>
18447
18448 * docs/grub.texi (Chain-loading): New section.
18449 (DOS/Windows): New section, borrowed from GRUB Legacy with details
18450 adjusted for GRUB 2.
18451 (SCO UnixWare): Likewise.
18452 (QNX): Likewise.
18453 (chainloader): Add reference to `Block list syntax'.
18454 (drivemap): New section.
18455 (parttool): New section.
18456
bb8ea0f5
CW
184572010-06-02 Colin Watson <cjwatson@ubuntu.com>
18458
18459 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
18460 the grub shell'.
18461 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
18462 (Installing GRUB using grub-install): Remove reference to the grub
18463 shell; mention `grub-mkimage' and `grub-setup' instead.
18464 (Invoking grub-install): Likewise.
18465 (Interface): Add reference to `Menu entry editor'.
18466 (serial): Remove `--device' option.
18467
288dd6ed
CW
184682010-06-02 Colin Watson <cjwatson@ubuntu.com>
18469
18470 * docs/grub.texi (Configuration): New section, documenting
18471 configuration file generation using grub-mkconfig. I've left a slot
18472 for documenting the full shell scripting format but have not yet
18473 started on writing that up.
18474 (Invoking grub-mkconfig): New section.
18475
34c9f0e9
CW
184762010-06-02 Colin Watson <cjwatson@ubuntu.com>
18477
18478 * docs/grub.texi (direntry): Remove grub-terminfo reference.
18479 (GNU GRUB manual): Likewise.
18480 (General commands): Update description of `terminfo' for GRUB 2.
18481
9121567e
CW
184822010-06-02 Colin Watson <cjwatson@ubuntu.com>
18483
18484 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
18485 (GRUB_MOD_INIT): Fix capitalisation.
18486 * docs/grub.texi (Command-line and menu entry commands): Document
18487 gettext and gptsync commands.
18488
ab631611
CW
184892010-06-02 Colin Watson <cjwatson@ubuntu.com>
18490
18491 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
18492 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
18493
bde4a9ac
CW
184942010-06-01 Colin Watson <cjwatson@ubuntu.com>
18495
18496 Add btrfs probing support, currently only in the single-device case.
18497
18498 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
18499 function.
18500 (grub_guess_root_device): Call find_root_device_from_mountinfo
18501 before looking in /dev.
18502
b1d17e10
VS
185032010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18504
18505 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
18506 GRUB_DISK_SIZE_UNKNOWN.
18507 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
18508
dfbfe004
JS
185092010-05-31 Jiro SEKIBA <jir@unicus.jp>
18510
18511 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
18512 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
18513 corrupted or not synced properly.
18514
c2ffc8e9
VS
185152010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18516
18517 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
18518 Reported by: Seth Goldberg.
18519
56293166
VS
185202010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18521
18522 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
18523 addition of dest.
18524 Reported by: Seth Goldberg.
18525
7620e7de
VS
185262010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18527
18528 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
18529 Reported by: Seth Goldberg.
18530
c837af3f
VS
185312010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
18532
18533 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
18534 64-bit address as signed on MIPS.
18535
c7c75cf4
CW
185362010-05-28 Colin Watson <cjwatson@ubuntu.com>
18537
18538 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
18539 to the empty string.
18540
fa4b8490
BC
185412010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
18542
18543 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
18544
18545 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
18546 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
18547 * kern/misc.c (__enable_execute_stack): Disable on
18548 GRUB_MACHINE_EMU.
18549
a33075b9
CW
185502010-05-28 Colin Watson <cjwatson@ubuntu.com>
18551
18552 Make grub-probe work with symbolic links under /dev/mapper as well
18553 as with real block devices. The Linux world seems to be (at best)
18554 in transition here, and GRUB shouldn't get caught in the middle.
18555
18556 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
18557 /dev/mapper.
18558
d8708134
CW
185592010-05-27 Colin Watson <cjwatson@ubuntu.com>
18560
18561 * util/grub-script-check.c (main): Ensure defined behaviour on empty
18562 input files (in which case exit zero).
18563
db2102a0
CW
185642010-05-27 Colin Watson <cjwatson@ubuntu.com>
18565
18566 * kern/emu/misc.c (canonicalize_file_name): realpath can still
18567 return NULL for various reasons even if it has a maximum-length
18568 buffer: for example, there might be a symlink loop, or the path
18569 might exceed PATH_MAX. If this happens, return NULL.
18570
5fdba519
RM
185712010-05-27 Robert Millan <rmh@gnu.org>
18572
18573 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
18574 partmap module to handle cross-partmap setups.
18575 Reported by Orestes Mas. Gràcies!
18576
d1d368e4
CW
185772010-05-27 Colin Watson <cjwatson@ubuntu.com>
18578
18579 * util/grub-mkrescue.in: Initialise override_dir rather than
18580 assuming that it's unset or empty in the environment.
18581
95ac3c73
GS
185822010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
18583
18584 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
18585 variable index into p_index to suppress a warning with -Wshadow.
18586
7d8c0213
BC
185872010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
18588
18589 * INSTALL: Added flex >= 2.5.35 requirement.
18590
db4d5813
VS
185912010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18592
18593 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
18594
f24f4300
VS
185952010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18596
18597 cmostest support.
18598
18599 * commands/i386/cmostest.c: New file.
18600 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
18601 (cmostest_mod_SOURCES): New variable.
18602 (cmostest_mod_CFLAGS): Likewise.
18603 (cmostest_mod_LDFLAGS): Likewise.
18604 * conf/i386-pc.rmk: Likewise.
18605 * docs/grub.texi (Vendor power-on keys): New section.
18606 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
18607 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
18608 and GRUB_BUTTON_CMOS_ADDRESS.
18609 * util/grub.d/00_header.in: Handle powering-on by separate button.
18610
ad603f61
VS
186112010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18612
18613 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
18614 Removed drawing_scrollbar argument. All users updated
18615 Fixes #29792.
18616 Reported by Jo Shields
18617
3ecb080a
VS
186182010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18619
18620 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
18621 buffer since gfxterm handles double repaint.
18622
5f2316c1
VS
186232010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
18624
18625 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
18626 * term/gfxterm.c (real_scroll): Likewise.
18627
9a25f885
VS
186282010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18629
18630 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
18631 before calling BIOS.
18632
39fbb79a
VS
186332010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18634
18635 * include/grub/i18n.h: Always enable grub_gettext.
18636
228cfa97
VS
186372010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
18638
18639 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
18640 partition naming style.
18641
21717c8f
CW
186422010-05-21 Colin Watson <cjwatson@ubuntu.com>
18643
18644 * util/grub-mkconfig.in: Fix handling of -o so that it works when
18645 not the first option.
18646
c0f48e65
CW
186472010-05-20 Colin Watson <cjwatson@ubuntu.com>
18648
18649 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
18650
96779aec
CW
186512010-05-20 Colin Watson <cjwatson@ubuntu.com>
18652
18653 * util/misc.c: Move inclusion of <limits.h> to ...
18654 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
18655
fa9d256e
GS
186562010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
18657
18658 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
18659 Fix merge error in NetBSD code.
18660 (find_partition_start) [__NetBSD__]: Likewise.
18661
123b7a85
BC
186622010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
18663
18664 Fix grub-mkrescue usage unit testing.
18665
18666 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
18667
74276c0d
CF
186682010-05-18 Christian Franke <franke@computer.org>
18669
18670 * util/grub.d/10_windows.in: Use path names instead of
18671 drive letters to prevent warning from Cygwin 1.7.
18672 Add drivemap command to menuentry if needed.
18673
c4f7b523
ST
186742010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
18675
18676 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
18677 gnumach and gnumach.gz.
18678
95b97950
VS
186792010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18680
18681 * include/grub/i18n.h (gettext): Inline instead of using #define.
18682 (grub_gettext): Likewise.
18683 (_): Likewise.
18684
01b8d2d7
VS
186852010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18686
18687 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
18688 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
18689 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
18690 (main): Add a slash after pkglibdirroot.
18691
654e1d1e
VS
186922010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18693
18694 * util/grub-install.in: Add missing "in" keyword.
18695
26966aeb
VS
186962010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18697
18698 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
18699 Reported by: Seth Goldberg.
18700
75006747
VS
187012010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18702
18703 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
18704
74cbf5bd
CW
187052010-05-18 Colin Watson <cjwatson@ubuntu.com>
18706
18707 * configure.ac: Check for Linux device-mapper support.
18708
18709 * util/hostdisk.c (device_is_mapped): New function.
18710 (find_partition_start): New function, partly broken out from
18711 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
18712 device-mapper support added.
18713 (linux_find_partition): Use find_partition_start.
18714 (convert_system_partition_to_system_disk): Add `st' argument.
18715 Support Linux /dev/mapper/* devices if device-mapper support is
18716 available; only DM-RAID devices are understood at present.
18717 (find_system_device): Add `st' argument. Pass it to
18718 convert_system_partition_to_system_disk.
18719 (grub_util_biosdisk_get_grub_dev): Pass stat result to
18720 find_system_device and convert_system_partition_to_system_disk. Use
18721 find_partition_start.
18722
18723 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
18724 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
18725 * util/deviceiter.c [__linux__]: Define MINOR.
18726 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
18727 * util/mkdevicemap.c (grub_putchar): New function.
18728 (grub_getkey): New function.
18729 (grub_refresh): New function.
18730 (main): Set debug=all if -v -v is used.
18731
355b51e9
CW
187322010-05-18 Colin Watson <cjwatson@ubuntu.com>
18733
18734 Fix build with non-GNU libcs.
18735
18736 * util/misc.c (canonicalize_file_name): Move to ...
18737 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
18738 grub_make_system_path_relative_to_its_root.
18739
7fb5c25f
CW
187402010-05-18 Colin Watson <cjwatson@ubuntu.com>
18741
18742 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
18743 we handle finding grub-mkimage. Default to finding grub-mkimage in
18744 ${bindir} with program_transform_name applied, and provide a
18745 --grub-mkimage option to override this.
18746
1d3293d6
VS
187472010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18748
18749 Remove grub-mkisofs.
18750
18751 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
18752 (grub_mkisofs_SOURCES): Removed.
18753 (grub_mkisofs_CFLAGS): Removed.
18754 * util/mkisofs/defaults.h: Removed.
18755 * util/mkisofs/eltorito.c: Likewise.
18756 * util/mkisofs/exclude.h: Likewise.
18757 * util/mkisofs/hash.c: Likewise.
18758 * util/mkisofs/include/: Likewise.
18759 * util/mkisofs/include/fctldefs.h: Likewise.
18760 * util/mkisofs/include/mconfig.h: Likewise.
18761 * util/mkisofs/include/prototyp.h: Likewise.
18762 * util/mkisofs/include/statdefs.h: Likewise.
18763 * util/mkisofs/iso9660.h: Likewise.
18764 * util/mkisofs/joliet.c: Likewise.
18765 * util/mkisofs/match.c: Likewise.
18766 * util/mkisofs/match.h: Likewise.
18767 * util/mkisofs/mkisofs.c: Likewise.
18768 * util/mkisofs/mkisofs.h: Likewise.
18769 * util/mkisofs/msdos_partition.h: Likewise.
18770 * util/mkisofs/multi.c: Likewise.
18771 * util/mkisofs/name.c: Likewise.
18772 * util/mkisofs/rock.c: Likewise.
18773 * util/mkisofs/tree.c: Likewise.
18774 * util/mkisofs/write.c: Likewise.
18775
5dde9afe
VS
187762010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18777
18778 Unify grub-mkimage accross platforms.
18779
18780 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
18781 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
18782 (grub_mkelfimage_SOURCES): Removed.
18783 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
18784 (util/grub-mkimage.c_DEPENDENCIES): .. this.
18785 (bin_UTILITIES): Add grub-mkimage.
18786 (grub_mkimage_SOURCES): New variable.
18787 (kernel_img_HEADERS): Remove machine/kernel.h.
18788 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
18789 (pkglib_PROGRAMS): Add kernel.img.
18790 (kernel_img_HEADERS): Add machine/kernel.h.
18791 (kernel_img_FORMAT): Removed.
18792 (bin_UTILITIES): Remove grub-mkimage.
18793 (grub_mkimage_SOURCES): Removed.
18794 (grub_mkimage_CFLAGS): Likewise.
18795 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18796 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
18797 (pkglib_PROGRAMS): Add kernel.img.
18798 (bin_UTILITIES): Remove grub-mkimage.
18799 (grub_mkimage_SOURCES): Removed.
18800 (grub_mkimage_CFLAGS): Likewise.
18801 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18802 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
18803 (pkglib_PROGRAMS): Add kernel.img.
18804 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
18805 (pkglib_PROGRAMS): Add kernel.img.
18806 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
18807 (grub_mkimage_SOURCES): Removed.
18808 (grub_mkimage_CFLAGS): Likewise.
18809 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18810 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
18811 (pkglib_PROGRAMS): Add kernel.img.
18812 (bin_UTILITIES): Remove grub-mkimage.
18813 (grub_mkimage_SOURCES): Removed.
18814 (grub_mkimage_CFLAGS): Likewise.
18815 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18816 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
18817 (grub_mkimage_SOURCES): Removed.
18818 (grub_mkimage_CFLAGS): Likewise.
18819 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
18820 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
18821 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
18822 (grub_pe32_optional_header): ... this.
18823 (grub_pe64_optional_header): ... and this. All users updated.
18824 (GRUB_PE32_PE32_MAGIC): Split into ..
18825 (GRUB_PE32_PE32_MAGIC): .. this.
18826 (GRUB_PE32_PE64_MAGIC): .. and this.
18827 (GRUB_PE32_SIGNATURE_SIZE): New definition.
18828 * include/grub/elf.h (PT_GNU_STACK): New definition.
18829 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
18830 * include/grub/i386/efi/kernel.h: Likewise.
18831 * include/grub/i386/kernel.h: Likewise.
18832 * include/grub/i386/pc/kernel.h: Likewise.
18833 * include/grub/i386/qemu/boot.h: Likewise.
18834 * include/grub/mips/kernel.h: Likewise.
18835 * include/grub/mips/qemu-mips/kernel.h: Likewise.
18836 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
18837 * include/grub/powerpc/kernel.h: Likewise.
18838 * include/grub/sparc64/ieee1275/boot.h: Likewise.
18839 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
18840 * include/grub/sparc64/kernel.h: Likewise.
18841 * include/grub/x86_64/efi/kernel.h: Likewise.
18842 * include/grub/x86_64/kernel.h: Likewise.
18843 * include/grub/offsets.h: New file.
18844 * include/grub/kernel.h (grub_module_info): Split into ...
18845 (grub_module_info32): ... this.
18846 (grub_module_info64): ... and this.
18847 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
18848 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
18849 (grub_boot_blocklist): Moved from here ...
18850 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
18851 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
18852 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
18853 * include/grub/types.h (grub_target_to_host16): Removed.
18854 (grub_target_to_host32): Likewise.
18855 (grub_target_to_host64): Likewise.
18856 (grub_host_to_target16): Likewise.
18857 (grub_host_to_target32): Likewise.
18858 (grub_host_to_target64): Likewise.
18859 (grub_host_to_target_addr): Likewise.
18860
18861 Support grub-mkrescue for efi, coreboot and qemu.
18862
18863 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
18864 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
18865 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
18866 * util/grub-mkrawimage.c: Moved from here ...
18867 * util/grub-mkimage.c: ... here. All users updated.
18868 (ALIGN_ADDR): Use image_target.
18869 (TARGET_NO_FIELD): New const.
18870 (image_target_desc): New type.
18871 (image_targets): New array.
18872 (grub_target_to_host64): Use image_target.
18873 (grub_target_to_host32): Likewise.
18874 (grub_target_to_host16): Likewise.
18875 (grub_host_to_target64): Likewise.
18876 (grub_host_to_target32): Likewise.
18877 (grub_host_to_target16): Likewise.
18878 (grub_host_to_target_addr): Likewise.
18879 (generate_image): Handle multiimage.
18880 (main): Require -O parameter. All users updated.
18881 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
18882 util/efi/grub-mkimage.c
18883 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
18884 New option --rom-directory.
18885 Use xorriso.
18886 * util/i386/efi/grub-mkimage.c: Removed.
18887 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
18888 (grub_target_to_host32): Likewise.
18889 (grub_target_to_host64): Likewise.
18890 (grub_host_to_target16): Likewise.
18891 (grub_host_to_target32): Likewise.
18892 (grub_host_to_target64): Likewise.
18893 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
18894 (grub_target_to_host32): Likewise.
18895 (grub_target_to_host64): Likewise.
18896 (grub_host_to_target16): Likewise.
18897 (grub_host_to_target32): Likewise.
18898 (grub_host_to_target64): Likewise.
18899
f4fc97d0
BC
189002010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
18901
18902 Source tree is reorganized for emu build.
18903
18904 * include/grub/util/console.h: Move from here...
18905 * include/grub/emu/console.h: ...to here.
18906 * include/grub/util/getroot.h: Move from here...
18907 * include/grub/emu/getroot.h: ...to here.
18908 * include/grub/util/hostdisk.h: Move from here...
18909 * include/grub/emu/hostdisk.h: ...to here.
18910 * util/console.c: Move from here...
18911 * kern/emu/console.c: ...to here.
18912 * util/getroot.c: Move from here...
18913 * kern/emu/getroot.c: ...to here.
18914 * util/grub-emu.c: Move from here...
18915 * kern/emu/main.c: ...to here.
18916 * util/hostdisk.c: Move from here...
18917 * kern/emu/hostdisk.c: ...to here.
18918 * util/hostfs.c: Move from here...
18919 * kern/emu/hostfs.c: ...to here.
18920 * util/mm.c: Move from here...
18921 * kern/emu/mm.c: ...to here.
18922 * util/pci.c: Move from here...
18923 * bus/emu/pci.c: ...to here.
18924 * util/sdl.c: Move from here...
18925 * video/emu/sdl.c: ...to here.
18926 * util/time.c: Move from here...
18927 * kern/emu/time.c: ...to here.
18928 * util/usb.c: Move from here...
18929 * bus/usb/emu/usb.c: ...to here.
18930
18931 * include/grub/emu/misc.h: New header for grub-emu functions.
18932 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
18933
18934 * conf/any-emu.rmk: Rule updates for above renames.
18935 * conf/common.rmk: Likewise.
18936 * conf/i386-pc.rmk: Likewise.
18937 * conf/i386-qemu.rmk: Likewise.
18938 * conf/mips.rmk: Likewise.
18939 * conf/sparc64-ieee1275.rmk: Likewise.
18940 * conf/x86-efi.rmk: Likewise.
18941
18942 * disk/lvm.h: #include updates for above renames.
18943 * util/grub-mkrelpath.c: Likewise.
18944 * util/grub-probe.c: Likewise.
18945 * util/i386/pc/grub-setup.c: Likewise.
18946 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18947 * kern/emu/console.c: Likewise.
18948 * kern/emu/getroot.c: Likewise.
18949 * kern/emu/hostdisk.c: Likewise.
18950 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
18951
18952 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
18953 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
18954 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
18955 * util/misc.c: Remove grub-emu functions.
18956
cced9145
VS
189572010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18958
18959 Fix gfxmenu crash.
18960 Reported by: Thorsten Grützmacher.
18961
18962 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
18963 timeout hook.
18964 (circprog_set_property): Register and unregister timeout hook.
18965 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
18966 (label_destroy): Free template. and unregister hook.
18967 (label_set_state): New function.
18968 (label_set_property): Handle templates and hooks.
18969 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
18970 timeout hook.
18971 (progress_bar_set_property): Register and unregister timeout hook.
18972 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
18973 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
18974 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
18975 (update_timeout_visit): Removed.
18976 (update_timeouts): New function.
18977 (redraw_timeouts): Likewise.
18978 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
18979 (grub_gfxmenu_clear_timeout): Likewise.
18980 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
18981 (grub_gfxmenu_timeout_notify): Likewise.
18982 (grub_gfxmenu_timeout_notifications): New external variable.
18983 (grub_gfxmenu_timeout_register): New function.
18984 (grub_gfxmenu_timeout_unregister): Likewise.
18985
c6e5caab
VS
189862010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18987
18988 Transform (broken) vga terminal into (working) vga video driver.
18989
18990 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
18991 video/i386/pc/vga.c.
18992 * include/grub/video.h (grub_video_driver_id):
18993 Add GRUB_VIDEO_DRIVER_VGA.
18994 * term/i386/pc/vga.c: Renamed to ...
18995 * video/i386/pc/vga.c: ...this
18996 (DEBUG_VGA): Removed.
18997 (CHAR_WIDTH): Likewise.
18998 (CHAR_HEIGHT): Likewise.
18999 (TEXT_WIDTH): Likewise.
19000 (TEXT_HEIGHT): Likewise.
19001 (DEFAULT_FG_COLOR): Likewise.
19002 (DEFAULT_BG_COLOR): Likewise.
19003 (colored_char): Likewise.
19004 (xpos): Likewise.
19005 (ypos): Likewise.
19006 (cursor_state): Likewise.
19007 (fg_color): Likewise.
19008 (bg_color): Likewise.
19009 (text_buf): Likewise.
19010 (page): Likewise.
19011 (font): Likewise.
19012 (framebuffer): New variable.
19013 (set_read_map): Disabled.
19014 (setup): New variable.
19015 (is_target): Likewise.
19016 (grub_vga_mod_init): Likewise.
19017 (grub_vga_mod_fini): Likewise.
19018 (check_vga_mem): Likewise.
19019 (write_char): Likewise.
19020 (write_cursor): Likewise.
19021 (scroll_up): Likewise.
19022 (grub_vga_putchar): Likewise.
19023 (grub_vga_getcharwidth): Likewise.
19024 (grub_vga_getwh): Likewise.
19025 (grub_vga_getxy): Likewise.
19026 (grub_vga_gotoxy): Likewise.
19027 (grub_vga_cls): Likewise.
19028 (grub_vga_setcolorstate): Likewise.
19029 (grub_vga_setcursor): Likewise.
19030 (grub_video_vga_init): New function.
19031 (grub_video_vga_setup): Likewise.
19032 (grub_video_vga_fini): Likewise.
19033 (update_target): Likewise.
19034 (grub_video_vga_blit_bitmap): Likewise.
19035 (grub_video_vga_blit_render_target): Likewise.
19036 (grub_video_vga_set_active_render_target): Likewise.
19037 (grub_video_vga_get_active_render_target): Likewise.
19038 (grub_video_vga_swap_buffers): Likewise.
19039 (grub_video_vga_set_palette): Likewise.
19040 (grub_video_vga_get_info_and_fini): Likewise.
19041 (grub_vga_term): Removed.
19042 (grub_video_vga_adapter): New variable.
19043 (GRUB_MOD_INIT): Register a video driver instead of terminal.
19044 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
19045
2bf61a98
VS
190462010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19047
19048 * video/readers/jpeg.c: Indented.
19049
09ddcd11
VS
190502010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19051
19052 Various jpeg cleanups.
19053
19054 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
19055 (grub_jpeg_decode_quan_table): Use sizeof.
19056 (grub_jpeg_decode_du): Use ARRAY_SIZE.
19057
e5507505
PH
190582010-05-05 Peter Hurley <No e-mail available> (tiny change)
19059
19060 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
19061 tables. Ignore non-last ac bit.
19062 (grub_jpeg_decode_quan_table): Likewise.
19063
7e720a9b
VS
190642010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19065
19066 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
19067 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
19068 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19069 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
19070 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
19071 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
19072
a7fc080b
VS
190732010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19074
19075 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
19076 error.
19077
2bf6012d
VS
190782010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19079
19080 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
19081
265d68cd
VS
190822010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
19083
19084 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
19085 condition.
19086
190872010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
19088
19089 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
19090 part.
19091
265d68cd 190922010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
19093
19094 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
19095 pointers.
19096
265d68cd 190972010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
19098
19099 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
19100
d1b61374
CF
191012010-05-01 Christian Franke <franke@computer.org>
19102
19103 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
19104 Remove broken Cygwin path conversion.
19105 * util/misc.c: [__CYGWIN__] Add include and define.
19106 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
19107 for Cygwin 1.7.
19108 (make_system_path_relative_to_its_root): Simplify loop, replace early
19109 return by break.
19110 [__CYGWIN__] Add conversion to win32 path.
19111 Include "/" case in trailing slash removal.
19112
3558c6e9
VS
191132010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19114
19115 * kern/main.c (grub_load_config): Fix copy-pasted comment.
19116 Reported by: Seth Goldberg
19117
f5f3ff93
VS
191182010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19119
19120 * commands/help.c (grub_cmd_help): Fix a typo.
19121 Reported by: Seth Goldberg
19122
d8b5cd40
VS
191232010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19124
19125 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
19126 name and add N_.
19127 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
19128 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
19129 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
19130 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
19131 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
19132 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
19133 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
19134 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
19135 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
19136 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
19137 * normal/context.c (GRUB_MOD_INIT): Likewise.
19138 * normal/main.c (GRUB_MOD_INIT): Likewise.
19139 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
19140 * term/serial.c (GRUB_MOD_INIT): Likewise.
19141 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
19142
88c14915
VS
191432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19144
19145 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
19146 extra == 0.
19147
165134bc
VS
191482010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19149
19150 * commands/iorw.c: New file.
19151 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
19152 (iorw_mod_SOURCES): New variable.
19153 (iorw_mod_CFLAGS): Likewise.
19154 (iorw_mod_LDFLAGS): Likewise.
19155
c5ac9b32
VS
191562010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19157
19158 Hotkey support
19159
19160 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
19161 * normal/main.c (hotkey_aliases): New variable.
19162 (grub_normal_add_menu_entry): Parse "--hotkey".
19163 * normal/menu_text.c (run_menu): Handle hotkeys.
19164
ce60689c
VS
191652010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19166
19167 * kern/i386/coreboot/init.c (grub_machine_init): Call
19168 grub_machine_mmap_init on qemu.
19169
0359d006
VS
191702010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19171
19172 * boot/i386/qemu/boot.S: Add a missing .code16.
19173
7819a456
VS
191742010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19175
19176 Use LBIO on coreboot.
19177
19178 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
19179 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
19180 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
19181 New declaration.
19182 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
19183 grub_machine_mmap_init on coreboot.
19184 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
19185 GRUB_LINUXBIOS_MEMBER_LINK.
19186 (grub_machine_mmap_iterate): Fix declaration.
19187 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
19188
7210dca9
VS
191892010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19190
19191 Split coreboot and multiboot ports.
19192
19193 * conf/i386-multiboot.rmk: New file.
19194 * configure.ac: Add multiboot port.
19195 * include/grub/i386/multiboot/boot.h: New file.
19196 * include/grub/i386/multiboot/console.h: Likewise.
19197 * include/grub/i386/multiboot/init.h: Likewise.
19198 * include/grub/i386/multiboot/kernel.h: Likewise.
19199 * include/grub/i386/multiboot/loader.h: Likewise.
19200 * include/grub/i386/multiboot/memory.h: Likewise.
19201 * include/grub/i386/multiboot/serial.h: Likewise.
19202 * include/grub/i386/multiboot/time.h: Likewise.
19203 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
19204 * loader/multiboot.c: Likewise.
19205 * loader/multiboot_mbi2.c: Likewise.
19206 * util/grub-mkrescue.in: Generate multiboot rescue.
19207
6f8aaf68
VS
192082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19209
3080f7a7
VS
19210 * kern/parser.c (grub_parser_execute): Cope with read-only config.
19211
192122010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19213
19214 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
19215
19216 * commands/terminal.c (abstract_terminal): New struct.
19217 (handle_command): New function. Based on grub_cmd_terminal_input.
19218 (grub_cmd_terminal_input): Use handle_command.
19219 (grub_cmd_terminal_output): Use handle_command.
19220
a8ebb841
BC
192212010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
19222
19223 Fix comment handling.
19224
19225 * tests/grub_script_comments.in: New testcase.
19226 * conf/tests.rmk: Rules for new testcase.
19227 * script/yylex.l: Updated flex rules.
19228
bb06ba08
ST
192292010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
19230
19231 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
19232 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
19233 if argc is 1.
bb06ba08 19234
cc9d2425
VS
192352010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
19236
19237 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
19238 autogen issues.
19239
460d8402
CF
192402010-04-26 Christian Franke <franke@computer.org>
19241
19242 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
19243 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
19244 (grub_get_prefix): Remove function.
19245 * util/grub-emu.c (main): Replace grub_get_prefix () call by
19246 make_system_path_relative_to_its_root ().
19247 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
19248
553c01f9
CF
192492010-04-24 Christian Franke <franke@computer.org>
19250
19251 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
19252 (kernel_img_LDFLAGS): Remove -static-libgcc.
19253
2aec1692
CF
192542010-04-24 Christian Franke <franke@computer.org>
19255
19256 * configure.ac: Do not CHECK_BSS_START_SYMBOL
19257 and CHECK_END_SYMBOL if grub-emu is built.
19258 Unset TARGET_OBJ2ELF if grub-emu is built
19259 without module support.
19260
f67dc308
JS
192612010-04-24 Jiro SEKIBA <jir@unicus.jp>
19262
19263 Nilfs2 support.
19264
19265 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
19266 (grub_fstest_SOURCES): Likewise.
19267 (pkglib_MODULES): Add nilfs2.mod.
19268 (nilfs2_mod_SOURCES): New variable.
19269 (nilfs2_mod_CFLAGS): Likewise.
19270 (nilfs2_mod_LDFLAGS): Likewise.
19271 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
19272 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
19273 * fs/nilfs2.c: New file.
19274
4ba8d354
VS
192752010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
19276
19277 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
19278 is not supported.
19279
0d2c20c6
GS
192802010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
19281
19282 Add grub-mkconfig support for NetBSD.
19283
19284 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
19285 * util/grub-mkconfig.in: export new NetBSD specific variables.
19286 * po/POTFILES-shell: added 10_netbsd.in.
19287 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
19288
bc4a2d83
BC
192892010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
19290
19291 Fix emu build with grub-emu-pci and grub-emu-modules.
19292
19293 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
19294 functions.
19295 * include/grub/libpciaccess.h: New file.
19296 * conf/any-emu.rmk: Update kernel headers for emu build.
19297
f48c87aa
VS
192982010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19299
19300 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
19301
18959385
VS
193022010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19303
19304 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
19305
0037de3f
VS
193062010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19307
19308 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
19309 Retrieve chosen/bootpath if bootpath isn't hardcoded.
19310 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
19311 util/ieee1275/ofpath.c.
19312 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
19313 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
19314 * include/grub/sparc64/ieee1275/boot.h
19315 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
19316 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
19317 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
19318 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
19319 const char *.
19320 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
19321 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
19322 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
19323 install.
19324
38e55e90
GS
193252010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
19326
19327 * util/grub-mkconfig.in: Corrected two == equality tests.
19328 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
19329 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
19330 expect a number appended to it.
19331 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
19332 expects a number appended to it.
19333
a9e6ff28
VS
193342010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19335
19336 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
19337
0b830b8f
VS
193382010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19339
19340 * util/hostdisk.c (make_device_name): Change to new partition naming.
19341
0973daeb
VS
193422010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
19343
19344 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
19345
460d8402 193462010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
19347
19348 * Makefile.in: Add missing localedir setting.
19349
0b456309
CW
193502010-04-14 Colin Watson <cjwatson@ubuntu.com>
19351
19352 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
19353 mistake in r2156. Noticed by Anthony Fok.
19354
19355 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
19356 @localedir@.
19357 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
19358
08f46d62
BC
193592010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
19360
19361 Fix a spurious, uninitialized variable warning.
19362
19363 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
19364 Initialize variable, shdr.
19365 (grub_freebsd_load_elfmodule): Likewise.
19366 (grub_freebsd_load_elf_meta): Likewise.
19367
8c4a72d4
BC
193682010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
19369
19370 Fix for escaped dollar in double quoted strings.
19371
19372 * script/yylex.l: Updated flex rules.
19373 * conf/tests.rmk: Rule for new testcase.
19374 * tests/grub_script_dollar.in: New testcase.
19375
ce44826e
CPE
193762010-04-13 Carles Pina i Estany <carles@pina.cat>
193772010-04-13 Colin Watson <cjwatson@ubuntu.com>
19378
19379 Enclose all translated strings in grub.cfg in single quotes, and
19380 escape them appropriately (Ubuntu bug #552921).
19381
19382 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
19383 * util/grub.d/10_hurd.in: Use it.
19384 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
19385 * util/grub.d/10_linux.in (linux_entry): Likewise.
19386
4b0cd8f8
VS
193872010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19388
19389 Fix cygwin compilation.
19390
19391 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
19392 * include/grub/misc.h (__register_frame_info)
19393 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
19394 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
19395 * kern/misc.c (__register_frame_info)
19396 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
19397 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
19398
01fcf061
VS
193992010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19400
19401 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
19402
5d04b11e
VS
194032010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19404
19405 Unify libgcc processing.
19406
19407 * Makefile.in (kernel_img_LDFLAGS): New variable.
19408 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
19409 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
19410 overwriting.
19411 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
19412 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
19413 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
19414 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
19415 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
19416 overwriting. Remove -lgcc and -static-libgcc
19417 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
19418 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
19419 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
19420 (kernel_img_LDFLAGS): Append instead of overwriting.
19421 Remove -lgcc and -static-libgcc
19422 * conf/sparc64-ieee1275.rmk: Likewise.
19423 * include/grub/powerpc/libgcc.h: Move to ...
19424 * include/grub/libgcc.h: .. this.
19425 * include/grub/libgcc.h: Don't export most of the function on x86.
19426 (__bswapsi2): New export.
19427 (__bswapdi2): Likewise.
19428 * include/grub/mips/libgcc.h: Removed.
19429 * include/grub/sparc64/libgcc.h: Likewise.
19430
b7f3ac29
VS
194312010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19432
19433 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
19434 disk_info_msg (conflicts with gettexting into languages with cases).
19435
2c7031b1
GS
194362010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
19437
19438 Add grub-probe support for NetBSD.
19439
19440 * util/getroot.c (find_root_device): Convert block device to
19441 character device on NetBSD.
19442 * util/probe.c (probe): Require character device on NetBSD.
19443 * util/hostdisk.c: NetBSD specific headers.
19444 (configure_device_driver): new function to tune device driver
19445 parameters (currently only for NetBSD floppy driver).
19446 (grub_util_biosdisk_open): NetBSD specific code (get disk size
19447 via disklabel ioctl).
19448 (open_device): call configure_device_driver on NetBSD.
19449 (convert_system_partition_to_system_disk): NetBSD specific code.
19450 (device_is_wholedisk): Likewise.
19451 (grub_util_biosdisk_get_grub_dev): Likewise.
19452 (make_device_name): Fixed a typo in bsd_part_str.
19453 * configure.ac: check for opendisk() and getrawpartition() on
19454 NetBSD and set LIBUTIL.
19455 * Makefile.in: add LIBUTIL to LIBS.
19456
f516290c
BC
194572010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
19458
19459 Documentation fix.
19460
19461 * util/grub-script-check.c: Better help message.
19462
d8dcc0df
BC
194632010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
19464
19465 Fix FreeBSD build.
19466
19467 * configure.ac: Flex version check.
19468 * conf/common.rmk: Add -Wno-error to sh.mod.
19469 * script/yylex.l: Remove all #pragma.
19470
6734334a
VS
194712010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19472
19473 * include/grub/util/misc.h (canonicalise_file_name): Add missing
19474 prototype.
19475 Reported by: Seth Goldberg.
19476
daea6abd
VS
194772010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19478
19479 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
19480 Rename "module" to "module2".
19481 Reported by: Seth Goldberg.
19482
f2fd9d2b
VS
194832010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19484
19485 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
19486 EXPORT_FUNC.
19487 Reported by: Seth Goldberg.
19488
be124579
VS
194892010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19490
19491 * lib/posix_wrap/locale.h: Add missing file.
19492 Reported by: Seth Goldberg.
19493
ef5da797
VS
194942010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
19495
19496 grub-emu module load support.
19497
19498 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
19499 NO_DYNAMIC_MODULES switched to this.
19500 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
19501 (CFLAGS): Likewise.
19502 * conf/any-emu.rmk: Generate symlist.
19503 (kernel_img_HEADERS): Add util/datetime.h.
19504 (kernel_img_HEADERS) [sdl]: Add sdl.h.
19505 (kernel_img_HEADERS) [libusb]: Add libusb.h.
19506 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
19507 kern/$(target_cpu)/cache.S.
19508 * configure.ac (grub-emu-modules): New option.
19509 * genmk.rb: Handle multiple source lists.
19510 * include/grub/sdl.h: New file.
19511 * include/grub/libusb.h: Likewise.
19512 * util/grub-emu.c (main): Hanle (host) root.
19513 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
19514 GRUB_ERR_UNKNOWN_DEVICE.
19515 * util/misc.c: Move mm functions to ...
19516 * util/mm.c: ... here. All users updated.
19517
47822096
VS
195182010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19519
19520 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
19521 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
19522 missing files.
19523 (maintainer-clean): Remove libgcrypt-grub.
19524
5d7e7445
VS
195252010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19526
19527 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
19528
25f4e252
EC
195292010-04-09 EFI Coder <eficoder@hotmail.com>
19530
19531 * normal/menu_text.c (print_message): Clean up the message and show
19532 the Fn information when on EFI
19533 * term/efi/console.c (grub_console_checkkey): Add F4 support.
19534
027de555
VS
195352010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19536
19537 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
19538 All users updated.
19539 * normal/crypto.c (read_crypto_list): Likewise.
19540 * normal/dyncmd.c (read_command_list): Likewise.
19541 * normal/term.c (read_terminal_list): Likewise.
19542 * normal/main.c (read_lists): Use explicit prefix.
19543 (read_lists_hook): Use read_lists.
19544 (grub_normal_execute): Likewise.
19545
47779711
VS
195462010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19547
19548 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
19549 Reported by: Thomas Schmitt.
19550 Add -no-emul-boot to grub-mkisofs parameters.
19551
1118c32e
VS
195522010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19553
19554 * font/font.c: Indented.
19555
7d652447
BC
195562010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
19557
19558 Elif support to GRUB script (by Deepak Vankadaru).
19559
19560 * tests/grub_script_if.in: New testcase.
19561 * conf/tests.rmk: Rule for new testcase.
19562 * script/parser.y: Grammar rules for elif.
19563
34bb22df
BC
195642010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
19565
19566 While and until loops support to GRUB script.
19567
19568 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
19569 (grub_script_create_cmdwhile): New function prototype.
19570 (grub_script_execute_cmdwhile): New function prototype.
19571 * script/execute.c (grub_script_execute_cmdwhile): New function.
19572 * script/parser.y (command): New commands.
19573 (whilecmd): New grammar rule.
19574 (untilcmd): New grammar rule.
19575 * script/script.c (grub_script_create_cmdwhile): New function.
19576 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
19577 function.
19578
19579 * tests/grub_script_while1.in: New testcase.
19580 * conf/tests.rmk: Rule for new testcase.
19581
e215d8e0
VS
195822010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19583
19584 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
19585 as *.jpg.
19586
d7c43ba1
MV
195872010-04-09 Mario Vazquez <mariovazq@gmail.com>
19588
19589 GRUB_BACKGROUND support.
19590
19591 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
19592 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
19593
d64795c0
VS
195942010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19595
19596 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 19597 Idea by: Mario Vazquez
d64795c0
VS
19598
19599 * util/grub.d/00_header.in: Load pf2 and image modules.
19600
f267f83a
VS
196012010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19602
19603 grub-mkconfig multiple terminal support.
19604
19605 * util/grub-mkconfig.in: Handle multiple terminals correctly.
19606 * util/grub.d/00_header.in: Likewise.
19607
b7841ceb
VS
196082010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
19609
19610 * Makefile.in: Specify files explicitly instead of using $< and $@ since
19611 we use cd $(srcdir).
19612
df60998c
CW
196132010-04-08 Colin Watson <cjwatson@ubuntu.com>
19614
19615 * util/grub.d/10_linux.in: Only use the first word of
19616 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
19617 spaces in GRUB_DISTRIBUTOR.
19618 * util/grub.d/10_kfreebsd.in: Likewise.
19619 * util/grub.d/10_hurd.in: Likewise.
19620
fa09c82e
BC
196212010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
19622
14e18ae3 19623 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
19624
19625 * tests/util/grub-shell.in: Remove -serial stdio option.
19626
daf892b3
BC
196272010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
19628
19629 POSIX header file wrappers.
19630
19631 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
19632 equivalents.
19633 * lib/posix_wrap/ctype.h: Likewise.
19634 * lib/posix_wrap/errno.h: Likewise.
19635 * lib/posix_wrap/langinfo.h: Likewise.
19636 * lib/posix_wrap/limits.h: Likewise.
19637 * lib/posix_wrap/localcharset.h: Likewise.
19638 * lib/posix_wrap/stdint.h: Likewise.
19639 * lib/posix_wrap/stdio.h: Likewise.
19640 * lib/posix_wrap/stdlib.h: Likewise.
19641 * lib/posix_wrap/string.h: Likewise.
19642 * lib/posix_wrap/sys/types.h: Likewise.
19643 * lib/posix_wrap/unistd.h: Likewise.
19644 * lib/posix_wrap/wchar.h: Likewise.
19645 * lib/posix_wrap/wctype.h: Likewise.
19646 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
19647 (grub_script.yy.h): Likewise.
19648 * script/yylex.l: Remove POSIX emulation #defines.
19649 * Makefile.in (POSIX_CFLAGS): New variable.
19650 (GNULIB_UTIL_CFLAGS): Likewise.
19651
19652 Regexp support.
19653
19654 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
19655 (regexp_mod_SOURCES): New variable.
19656 (regexp_mod_CFLAGS): Likewise.
19657 (regexp_mod_LDFLAGS): Likewise.
19658 * commands/regexp.c: New file.
19659 * gnulib/regcomp.c: New file. Imported from gnulib.
19660 * gnulib/regex.c: Likewise.
19661 * gnulib/regex_internal.c: Likewise.
19662 * gnulib/regex_internal.h: Likewise.
19663 * gnulib/regexec.c: Likewise.
19664 * gnulib/regex.h: Likewise.
19665
974ac4f7
VS
196662010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19667
19668 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
19669 unsupported video mode types.
19670
2622c3ff
VS
196712010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19672
19673 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
19674
064cb524
VS
196752010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19676
19677 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
19678 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
19679
a8c3b552
VS
196802010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
19681
19682 Remove unused grub_vga_get_font.
19683
19684 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
19685 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
19686
187bbe3d
GS
196872010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19688
19689 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
19690 * include/grub/misc.h: Likewise.
19691
b9396631
GS
196922010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19693
19694 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
19695 for which failure is fatal.
19696
50479feb
GS
196972010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19698
19699 * util/grub-install.in: Use mkdir -p to create grub directory.
19700 * util/i386/efi/grub-install.in: Likewise.
19701 * util/ieee1275/grub-install.in: Likewise.
19702
b1654fdf
GS
197032010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19704
19705 * Makefile.in (LEX): new variable.
19706
bd5a6415
GS
197072010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
19708
19709 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
19710 `=' and added double quotes on operands of this equality test.
19711
3db3a82b
VS
197122010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
19713
19714 * Makefile.in (uninstall): Remove a leftover debug echo.
19715 Reported by: Grégoire Sutre
19716
38023412
VS
197172010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
19718
19719 MIPS multiboot2 support.
19720
19721 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
19722 (multiboot2_mod_SOURCES): New variable.
19723 (multiboot2_mod_CFLAGS): Likewise.
19724 (multiboot2_mod_LDFLAGS): Likewise.
19725 (multiboot2_mod_ASFLAGS): Likewise.
19726 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
19727 definition.
19728 (MULTIBOOT_ENTRY_REGISTER): Likewise.
19729 (MULTIBOOT_MBI_REGISTER): Likewise.
19730 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
19731 (MULTIBOOT_ELF32_MACHINE): Likewise.
19732 (MULTIBOOT_ELF64_MACHINE): Likewise.
19733 * include/grub/mips/multiboot.h: New file.
19734 * include/grub/video.h (grub_video_driver_id): New type
19735 GRUB_VIDEO_DRIVER_SM712.
19736 (grub_video_get_info_and_fini): Export.
19737 (grub_video_get_palette): Likewise.
19738 (grub_video_get_driver_id): Likewise.
19739 * include/multiboot2.h: Resynced with spec.
19740 * loader/i386/multiboot.c: Moved from here ...
19741 * loader/multiboot.c: ... here. All users updated.
19742 (grub_multiboot_boot): Use platform-specific macros.
19743 * loader/i386/multiboot_elfxx.c: Moved from here ...
19744 * loader/multiboot_elfxx.c: ... here. All users updated.
19745 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
19746 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
19747 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
19748
47674667
VS
197492010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
19750
19751 Import gnulib argp module.
19752
19753 * gnulib/argp-ba.c: New file.
19754 * gnulib/argp-eexst.c: Likewise.
19755 * gnulib/argp-fmtstream.c: Likewise.
19756 * gnulib/argp-fmtstream.h: Likewise.
19757 * gnulib/argp-fs-xinl.c: Likewise.
19758 * gnulib/argp-help.c: Likewise.
19759 * gnulib/argp-namefrob.h: Likewise.
19760 * gnulib/argp-parse.c: Likewise.
19761 * gnulib/argp-pin.c: Likewise.
19762 * gnulib/argp-pv.c: Likewise.
19763 * gnulib/argp-pvh.c: Likewise.
19764 * gnulib/argp-version-etc.c: Likewise.
19765 * gnulib/argp-version-etc.h: Likewise.
19766 * gnulib/argp-xinl.c: Likewise.
19767 * gnulib/argp.h: Likewise.
19768
495442ed
VS
197692010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
19770
19771 * kern/device.c (grub_device_iterate): Clear errors after failed
19772 opening device.
19773
f9fd65df
VS
197742010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
19775
19776 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
19777 returned by firmware.
19778
af09641e
VS
197792010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
19780
19781 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
19782 compilation on coreboot and qemu
19783
016883a5
VS
197842010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
19785
19786 * include/multiboot2.h: Resync with spec.
19787
f97e1f7d
VS
197882010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
19789
19790 Multiboot2 tag support
19791
19792 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
19793 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
19794 Remove loader/multiboot_loader.c.
19795 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
19796 (grub_multiboot2_real_boot): Likewise.
19797 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
19798 (grub_get_multiboot_mmap_count): New proto.
19799 (grub_fill_multiboot_mmap): Likewise.
19800 (grub_multiboot_set_video_mode): Likewise.
19801 (grub_multiboot_set_console): Likewise.
19802 (grub_multiboot_load): Likewise.
19803 (grub_multiboot_load_elf): Likewise.
19804 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
19805 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
19806 * include/multiboot.h: Resynced with specification.
19807 * include/multiboot2.h: Resynced with specification.
19808 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
19809 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
19810 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
19811 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
19812 users updated.
19813 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
19814 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
19815 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
19816 Removed.
19817 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
19818 Moved from here...
19819 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
19820 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
19821 Moved from here...
19822 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
19823 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
19824 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
19825 All users updated.
19826 * loader/i386/multiboot_mbi2.c: New file.
19827
3506b90b
VS
198282010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
19829
19830 Resync with gnulib.
19831
19832 * Makefile.in (GNULIB_CFLAGS): New variable.
19833 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
19834 (grub_script_check_CFLAGS): New variable.
19835 * gnulib/alloca.h: Resync with gnulib.
19836 * gnulib/error.c: Likewise.
19837 * gnulib/error.h: Likewise.
19838 * gnulib/fnmatch.c: Likewise.
19839 * gnulib/fnmatch_loop.c: Likewise.
19840 * gnulib/getdelim.c: Likewise.
19841 * gnulib/getline.c: Likewise.
19842 * gnulib/getopt.c: Likewise.
19843 * gnulib/getopt1.c: Likewise.
19844 * gnulib/getopt_int.h: Likewise.
19845 * gnulib/gettext.h: Likewise.
19846 * gnulib/progname.c: Likewise.
19847 * gnulib/progname.h: Likewise.
19848
394a3120
GS
198492010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
19850
19851 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
19852 which is the case with --disabled-nls.
19853
19854 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
19855 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
19856 * util/misc.c: Likewise.
19857 * util/mkisofs/mkisofs.c: Likewise.
19858 * util/mkisofs/mkisofs.h: Likewise.
19859
969d1c78
VS
198602010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
19861
19862 Simplify Apple CC support.
19863
19864 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
19865 Add 0 byte at the end not to have a symbol with empty target.
19866 * mmap/i386/pc/mmap_helper.S: Likewise.
19867 * genmk.rb: Ignore errors 2030 and 2050.
19868 * kern/i386/pc/startup.S: Use LOCAL when possible.
19869
8d2977bb
BC
198702010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
19871
19872 Testcase and the fix for final semicolon on cmdline.
19873
19874 * tests/grub_script_final_semicolon.in: New testcase.
19875 * conf/tests.rmk: Rules for the new testcase.
19876 * script/parser.y: Grammar fix.
19877
a7bd6915
BC
198782010-03-26 BVK Chaitanya <bvk@localhost>
19879
19880 Blank lines testcase for GRUB script.
19881
19882 * tests/grub_script_blanklines.in: New testcase.
19883 * conf/tests.rmk: Rules for the new testcase.
19884
e4ff6628
VS
198852010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19886
19887 Don't use __FILE__.
19888
19889 * genmk.rb: Add -DGRUB_FILE to all C targets.
19890 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
19891 * include/grub/list.h: Likewise.
19892 * include/grub/misc.h: Likewise.
19893 * include/grub/mm.h: Likewise.
19894 * include/grub/test.h: Likewise.
19895 * kern/mm.c: Likewise.
19896 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
19897
6a5cf6b6
VS
198982010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19899
19900 Sunpc partitions support.
19901
19902 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
19903 (grub_fstest_SOURCES): Likewise.
19904 (pkglib_MODULES): Add part_sunpc.mod.
19905 (part_sunpc_mod_SOURCES): New variable.
19906 (part_sunpc_mod_CFLAGS): Likewise.
19907 (part_sunpc_mod_LDFLAGS): Likewise.
19908 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
19909 * partmap/sunpc.c: New file.
19910
746d9045
BC
199112010-03-26 BVK Chaitanya <bvk@localhost>
19912
19913 For loop support to GRUB script.
19914
19915 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
19916 (grub_script_create_cmdfor): New function prototype.
19917 (grub_script_execute_cmdfor): New function prototype.
19918 * script/execute.c (grub_script_execute_cmdfor): New function.
19919 * script/parser.y (command): New for command.
19920 (forcmd): New grammar rule.
19921 * script/script.c (grub_script_create_cmdfor): New function.
19922 * util/grub-script-check.c (grub_script_execute_cmdfor): New
19923 function.
19924 * tests/grub_script_for1.in: New testcase.
19925 * conf/tests.rmk: Rules for new testcase.
19926
18486b18
VS
199272010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
19928
19929 Nested partitions
19930
19931 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
19932 'partition' is NULL, grub_partition_get_start already does that.
19933 * commands/loadenv.c (check_blocklists): Likewise.
19934 (write_blocklists): Likewise.
19935 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
19936 (grub_fstest_SOURCES): Likewise.
19937 (pkglib_MODULES): Add part_bsd.mod.
19938 (part_bsd_mod_SOURCES): New variable.
19939 (part_bsd_mod_CFLAGS): Likewise.
19940 (part_bsd_mod_LDFLAGS): Likewise.
19941 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
19942 (grub_emu_SOURCES): Likewise.
19943 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19944 * include/grub/bsdlabel.h: New file.
19945 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
19946 'get_name'.
19947 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
19948 (grub_partition_map_list): New variable.
19949 (grub_partition_map_register): Inline.
19950 (grub_partition_map_unregister): Likewise.
19951 (FOR_PARTITION_MAPS): New macro.
19952 (grub_partition_map_iterate): Removed.
19953 (grub_partition_get_start): Handle nested partitions.
19954 * include/grub/msdos_partition.h: Remove bsd-related entries.
19955 (grub_pc_partition): Remove.
19956 * kern/disk.c (grub_disk_close): Free partition data.
19957 (grub_disk_adjust_range): Handle nested partitions.
19958 * kern/partition.c (grub_partition_map_probe): New function.
19959 (grub_partition_probe): Parse name to number, handle subpartitions.
19960 (get_partmap): New function.
19961 (grub_partition_iterate): Handle subpartitions.
19962 (grub_partition_get_name): Likewise.
19963 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
19964 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
19965 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
19966 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
19967 Set 'number'.
19968 (acorn_partition_map_probe): Remove.
19969 (acorn_partition_map_get_name): Likewise.
19970 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
19971 Set 'number'.
19972 Set 'index' to 0 since there can be only one partition entry per sector.
19973 (amiga_partition_map_probe): Remove.
19974 (amiga_partition_map_get_name): Likewise.
19975 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
19976 Set 'number'.
19977 Set 'offset' and 'index' to real positions of partitions.
19978 (apple_partition_map_probe): Remove.
19979 (apple_partition_map_get_name): Likewise.
19980 * partmap/bsdlabel.c: New file.
19981 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
19982 Set 'number'.
19983 Allocate 'data' so it can be correctly freed.
19984 Set 'index' to offset inside sector.
19985 (gpt_partition_map_probe): Remove.
19986 (gpt_partition_map_get_name): Likewise.
19987 * partmap/msdos.c (grub_partition_parse): Remove.
19988 (pc_partition_map_iterate): Don't force raw access.
19989 Set 'number'.
19990 Make 'ext_offset' a local variable.
19991 (pc_partition_map_probe): Remove.
19992 (pc_partition_map_get_name): Remove.
19993 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
19994 Set 'number'.
19995 (sun_partition_map_probe): Remove.
19996 (sun_partition_map_get_name): Likewise.
19997 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
19998 (grub_pcpart_type): Likewise.
19999 * util/hostdisk.c (open_device): Handle new numbering scheme.
20000 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
20001 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
20002 * util/grub-probe.c (probe_partmap): Handle nested paritions.
20003 * util/grub-install.in: Insert all subpartition modules.
20004 * util/ieee1275/grub-install.in: Likewise.
20005
a3940f88
AG
200062010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
20007
20008 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
20009 grammar.
20010
21b99926 200112010-03-24 Colin Watson <cjwatson@ubuntu.com>
20012
20013 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
20014
bed1d352
CW
200152010-03-21 Colin Watson <cjwatson@ubuntu.com>
20016
20017 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
20018 match where 'make install' puts them.
20019 * util/i386/efi/grub-install.in: Likewise.
20020
c9f58427
CW
200212010-03-19 Colin Watson <cjwatson@ubuntu.com>
20022
20023 * .bzrignore: Add gentrigtables, grub-script-check,
20024 grub_script_check_init.c, grub_script_check_init.h, and
20025 trigtables.c.
20026
f84afb27
VS
200272010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
20028
20029 * kern/parser.c: Indented.
20030
ed0e3d30
VS
200312010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
20032
20033 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
20034
0ea81d98
VS
200352010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
20036
20037 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
20038 alpha_mask_size == 0 case.
20039
0cdc2a09
BC
200402010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
20041
20042 GRUB shell lexer and parser improvements.
20043
20044 * conf/any-emu.rmk: Build rule updates.
20045 * conf/common.rmk: Likewise.
20046 * conf/i386-coreboot.rmk: Likewise.
20047 * conf/i386-efi.rmk: Likewise.
20048 * conf/i386-ieee1275.rmk: Likewise.
20049 * conf/i386-pc.rmk: Likewise.
20050 * conf/powerpc-ieee1275.rmk: Likewise.
20051 * conf/x86_64-efi.rmk: Likewise.
20052
20053 * configure.ac: Configure check for flex.
20054
20055 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
20056 types.
20057 (grub_lexer_param): Struct member updates.
20058 (grub_parser_param): Likewise.
20059 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
20060 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
20061 (grub_script_lexer_init): Prototype update.
20062 (grub_script_lexer_record_start): Likewise.
20063 (grub_script_lexer_record_stop): Likewise.
20064 (grub_script_lexer_yywrap): New function prototype.
20065 (grub_script_lexer_fini): Likewise.
20066 (grub_script_execute_argument_to_string): Removed by...
20067 (grub_script_execute_argument_to_argv): ...better version.
20068
20069 * script/execute.c (ROUND_UPTO): New macro.
20070 (grub_script_execute_cmdline): Out of memory fixes.
20071 (grub_script_execute_menuentry): Likewise.
20072 (grub_script_execute_argument_to_string): Removed. Update all
20073 users by...
20074 (grub_script_execute_argument_to_argv): ...better version.
20075 * script/function.c (grub_script_function_create): Use
20076 grub_script_execute_argument_to_argv instead of
20077 grub_script_execute_argument_to_string.
20078
20079 * script/lexer.c (check_varstate): Removed.
20080 (check_textstate): Removed.
20081 (grub_script_lexer_record_start): Likewise.
20082 (grub_script_lexer_record_stop): Likewise.
20083 (recordchar): Replaced with...
20084 (grub_script_lexer_record): ...new function.
20085 (nextchar): Removed.
20086 (grub_script_lexer_init): Rewritten.
20087 (grub_script_yylex): Rewritten.
20088 (append_newline): New function.
20089 (grub_script_lexer_yywrap): New function.
20090 (grub_script_lexer_fini): New function.
20091 (grub_script_yyerror): Sets error flag.
20092
20093 * script/yylex.l: New file.
20094 (grub_lexer_yyfree): Wrapper for flex yyffre.
20095 (grub_lexer_yyalloc): Likewise.
20096 (grub_lexer_yyrealloc): Likewise.
20097 * script/parser.y: Refactored.
20098
20099 * script/script.c (grub_script_arg_add): Out of memory fixes.
20100 (grub_script_add_arglist): Likewise.
20101 (grub_script_create_cmdline): Likewise.
20102 (grub_script_create_cmdmenu): Likewise.
20103 (grub_script_add_cmd): Likewise.
20104 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
20105 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
20106 unnecessary code.
20107
20108 * tests/grub_script_echo1.in: New testcase.
20109 * tests/grub_script_vars1.in: New testcase.
20110 * tests/grub_script_echo_keywords.in: New testcase.
20111
1d63a066
VS
201122010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20113
20114 Remove some redundancy in build system.
20115
20116 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
20117 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
20118 (TARGET_LDFLAGS): Add -nostdlib.
20119 (TARGET_IMG_LDFLAGS): Likewise.
20120 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
20121 anything since mmap isn't available.
20122 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
20123 Add util/time.c.
20124 (pkglib_MODULES): Remove reboot.mod.
20125 (reboot_mod_SOURCES): Removed.
20126 (reboot_mod_CFLAGS): Likewise.
20127 (reboot_mod_LDFLAGS): Likewise.
20128 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
20129 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
20130 (DEFSYMFILES): Add kernel_syms.lst.
20131 (kernel_img_HEADERS): Add common headers.
20132 (symlist.c): New target.
20133 (kernel_syms.lst): Likewise.
20134 (pkglib_MODULES): Add memdisk.mod.
20135 (memdisk_mod_SOURCES): New variable.
20136 (memdisk_mod_CFLAGS): Likewise.
20137 (memdisk_mod_LDFLAGS): Likewise.
20138 (pkglib_MODULES): Add reboot.mod.
20139 (reboot_mod_SOURCES): New variable.
20140 (reboot_mod_CFLAGS): Likewise.
20141 (reboot_mod_LDFLAGS): Likewise.
20142 (pkglib_MODULES): Add date.mod.
20143 (date_mod_SOURCES): New variable.
20144 (date_mod_CFLAGS): Likewise.
20145 (date_mod_LDFLAGS): Likewise.
20146 (pkglib_MODULES): Add datehook.mod.
20147 (datehook_mod_SOURCES): New variable.
20148 (datehook_mod_CFLAGS): Likewise.
20149 (datehook_mod_LDFLAGS): Likewise.
20150 (pkglib_MODULES): Add lsmmap.mod.
20151 (lsmmap_mod_SOURCES): New variable.
20152 (lsmmap_mod_CFLAGS): Likewise.
20153 (lsmmap_mod_LDFLAGS): Likewise.
20154 (pkglib_MODULES): Add boot.mod.
20155 (boot_mod_SOURCES): New variable.
20156 (boot_mod_CFLAGS): Likewise.
20157 (boot_mod_LDFLAGS): Likewise.
20158 * conf/i386-coreboot.rmk: Removed redundant parts.
20159 * conf/i386-ieee1275.rmk: Likewise.
20160 * conf/i386-pc.rmk: Likewise.
20161 * conf/mips-yeeloong.rmk: Likewise.
20162 * conf/mips.rmk: Likewise.
20163 * conf/powerpc-ieee1275.rmk: Likewise.
20164 * conf/sparc64-ieee1275.rmk: Likewise.
20165 * conf/x86_64-efi.rmk: Likewise.
20166 * conf/i386-coreboot.rmk: Moved qemu parts ..
20167 * conf/i386-qemu.rmk: ... here
20168 * conf/i386-efi.rmk: Moved common parts to...
20169 * conf/x86-efi.rmk: ... here.
20170 * conf/i386.rmk: Added modules common to all x86 variants.
20171 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
20172 * disk/memdisk.c: Remove grub/machine/kernel.h.
20173 * gensymlist.sh.in: Include symbol.h.
20174 * hook/datehook.c: Correct module name.
20175 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
20176 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
20177 * include/grub/i386/efi/serial.h: New file.
20178 * include/grub/x86_64/efi/serial.h: Likewise.
20179 * util/time.c: Likewise.
20180 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
20181
463ac55f
CK
201822010-03-14 Colin King <colin.king@ubuntu.com>
201832010-03-14 Colin Watson <cjwatson@ubuntu.com>
20184
20185 Shrink the pre-partition-table part of boot.img by eight bytes.
20186
20187 * boot/i386/pc/boot.S (ERR): New macro.
20188 (chs_mode): Use ERR.
20189 (geometry_error): Likewise.
20190 (hd_probe_error): Remove. This is only used once, so we wrwite
20191 it inline instead.
20192 (read_error): Instead of printing read_error_string, just set up
20193 %si and fall through to ...
20194 (error_message): ... this new function, also used by ERR.
20195
08e46ede
CW
201962010-03-14 Colin Watson <cjwatson@ubuntu.com>
20197
20198 Speed up consecutive hostdisk operations on the same device.
20199
20200 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
20201 (grub_util_biosdisk_open): Initialise disk->data.
20202 (struct linux_partition_cache): New structure.
20203 (linux_find_partition): Cache partition start positions; these are
20204 expensive to compute on every read and write.
20205 (open_device): Cache open file descriptor in disk->data, so that we
20206 don't have to reopen it and flush the buffer cache for consecutive
20207 operations on the same device.
20208 (grub_util_biosdisk_close): New function.
20209 (grub_util_biosdisk_dev): Set `close' member.
20210
20211 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
20212 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
20213 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
20214 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
20215 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
20216
4a6d2d06
VS
202172010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20218
20219 Compile parts of grub-emu as modules.
20220
20221 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
20222 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
20223 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
20224 (all-local): Add $(GRUB_EMU).
20225 (install-local): Install $(GRUB_EMU).
20226 (uninstall): Uninstall $(GRUB_EMU).
20227 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
20228 * kern/dl.c: Likewise.
20229 * commands/sleep.c: Not include machine/time.h.
20230 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
20231 (COMMON_CFLAGS): Likewise.
20232 (sbin_UTILITIES): Remove grub-emu.
20233 (grub_emu_SOURCES): Removed.
20234 (kernel_img_RELOCATABLE): New variable.
20235 (pkglib_PROGRAMS): Add kernel.img.
20236 (kernel_img_SOURCES): New variable
20237 (kernel_img_CFLAGS): Likewise.
20238 (kernel_img_LDFLAGS): Likewise.
20239 (TARGET_NO_STRIP): Likewise.
20240 (TARGET_NO_DYNAMIC_MODULES): Likewise.
20241 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
20242 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
20243 (grub-emu): New target.
20244 (GRUB_EMU): New variable.
20245 * configure.ac: Whitelist -emu as possible x86_64 architecture.
20246 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
20247 * loader/xnu.c: Likewise.
20248 * include/grub/pci.h: Likewise.
20249 * genemuinit.sh: New file.
20250 * genemuinitheader.sh: Likewise.
20251 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
20252 Support TARGET_NO_DYNAMIC_MODULES.
20253 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
20254 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
20255 * disk/loopback.c: Likewise.
20256 * font/font_cmd.c: Likewise.
20257 * partmap/acorn.c: Likewise.
20258 * partmap/amiga.c: Likewise.
20259 * partmap/apple.c: Likewise.
20260 * partmap/gpt.c: Likewise.
20261 * partmap/msdos.c: Likewise.
20262 * partmap/sun.c: Likewise.
20263 * parttool/msdospart.c: Likewise.
20264 * term/gfxterm.c: Likewise.
20265 * video/bitmap.c: Likewise.
20266 * video/readers/jpeg.c: Likewise.
20267 * video/readers/png.c: Likewise.
20268 * video/readers/tga.c: Likewise.
20269 * video/video.c: Likewise.
20270 * util/grub-emu.c (read_command_list): Removed.
20271 (main): Don't call util_init_nls.
20272 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
20273 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
20274
91fdd2ed
VS
202752010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20276
20277 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
20278 date.mod, datehook.mod.
20279 (datetime_mod_SOURCES): New variable.
20280 (datetime_mod_CFLAGS): Likewise.
20281 (datetime_mod_LDFLAGS): Likewise.
20282 (date_mod_SOURCES): Likewise.
20283 (date_mod_CFLAGS): Likewise.
20284 (date_mod_LDFLAGS): Likewise.
20285 (datehook_mod_SOURCES): Likewise.
20286 (datehook_mod_CFLAGS): Likewise.
20287 (datehook_mod_LDFLAGS): Likewise.
20288 * conf/sparc64-ieee1275.rmk: Likewise.
20289 * lib/ieee1275/datetime.c: New file.
20290
873ccae6
VS
202912010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20292
20293 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
20294 (ieee1275_fb_mod_SOURCES): New variable.
20295 (ieee1275_fb_mod_CFLAGS): Likewise.
20296 (ieee1275_fb_mod_LDFLAGS): Likewise.
20297 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
20298 New proto.
20299 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
20300 (HEAP_MAX_ADDR): Likewise.
20301 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
20302 type.
20303 Correct stop condition.
20304 (grub_ieee1275_devices_iterate): New function.
20305 * video/ieee1275.c: New file.
20306
601c97c0
VS
203072010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20308
20309 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
20310
20311 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
20312 as scratch.
20313 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
20314 SCRATCH_PAD_DISKBOOT as scratch.
20315 (bootit): Pass Openfirmware pointer in %o4.
20316 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
20317 of 0x200000.
20318 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
20319 with util/grub-mkrawimage.c.
20320 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
20321 * include/grub/aout.h (AOUT_MID_SUN): New definition.
20322 (grub_aout_get_type) [GRUB_UTIL]: Removed.
20323 (grub_aout_load) [GRUB_UTIL]: Likewise.
20324 * include/grub/kernel.h (grub_modules_get_end): New proto.
20325 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
20326 (SCRATCH_PAD_BOOT): New definition.
20327 (SCRATCH_PAD_DISKBOOT): Likewise.
20328 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
20329 * include/grub/sparc64/ieee1275/ieee1275.h
20330 (grub_ieee1275_original_stack): New variable
20331 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
20332 New definition
20333 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
20334 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
20335 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
20336 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
20337 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
20338 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
20339 (grub_platform_image_format_t): New type.
20340 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
20341 * kern/main.c (grub_modules_get_end)
20342 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
20343 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
20344 (codestart): Switch stacks.
20345 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
20346 variable.
20347 (grub_heap_init): Use grub_modules_get_end.
20348 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
20349 stack.
20350 * util/grub-mkrawimage.c (generate_image): Support sparc64.
20351 (main): Likewise.
20352 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
20353
d68b491e
TG
203542010-03-14 Thorsten Glaser <tg@mirbsd.org>
20355
20356 * util/grub-mkrescue.in: Base ISO UUID on UTC.
20357
4e02ed50
MK
203582010-03-08 Matt Kraai <kraai@ftbfs.org>
20359
20360 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
20361 bug #559005).
20362
1f15fc1e
VS
203632010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
20364
20365 * genmoddep.awk: Output all missing symbols and not only first.
20366
fce5d8ff
VS
203672010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20368
20369 * NEWS: Put the date of 1.98 release.
20370
d1e8a02f
VS
203712010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20372
20373 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
20374 ft2build.h.
20375
696fd607
VS
203762010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20377
20378 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
20379 completition in the middle of string.
20380
33e2e6f3
VS
203812010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20382
20383 * util/grub-mkrescue.in: Use mktemp with explicit template.
20384
b1f6d291
VS
203852010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20386
20387 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
20388
2ac227c7
VS
203892010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20390
20391 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
20392 right pointer.
20393
8f9a632b
VS
203942010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
20395
20396 Fix FreeBSD compilation.
20397
20398 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
20399 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
20400
60b03859
VS
204012010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
20402
20403 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
20404
48a5a769
VS
204052010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20406
20407 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
20408
3ab4bd77
VS
204092010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20410
20411 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
20412
d116e0d8
RM
204132010-03-04 Robert Millan <rmh.grub@aybabtu.com>
20414
20415 Support relative image path in theme file.
20416
20417 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
20418 (image_set_property): Handle theme_dir and relative path.
20419
c7ef54aa
VS
204202010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20421
20422 * configure.ac: Alias amd64 to x86_64.
20423
fcee14ed
VS
204242010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20425
20426 * NEWS: mention multiboot on EFI.
20427
d0780363
VS
204282010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20429
20430 * kern/main.c (grub_load_modules): Handle errors from init functions of
20431 embeded modules.
20432
41168ea4
VS
204332010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20434
20435 * normal/autofs.c (autoload_fs_module): Handle errors.
20436
b54d93ac
VS
204372010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20438
20439 Disable linux.mod on qemu-mips since it's not functional and leads
20440 to compilation failure.
20441
20442 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
20443 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
20444 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
20445 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
20446 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
20447 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
20448 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
20449 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
20450 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
20451 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
20452 Reported by: BVK Chaitanya
20453
fc8345da
JU
204542010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
20455
20456 * INSTALL: Add gettext as a dependency and add qemu to a new section
20457 "Prerequisites for make-check".
20458
4760f979
CF
204592010-03-04 Christian Franke <franke@computer.org>
20460
20461 * util/grub-pe2elf.c: Add missing include "progname.h".
20462
f209b5b2
VS
204632010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20464
20465 * normal/crypto.c (read_crypto_list): Fix a typo.
20466 Reported by: Seth Goldberg.
20467
b4b7be98
VS
204682010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20469
20470 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 20471 Reported by: Seth Goldberg.
b4b7be98 20472
c0ee0385
VS
204732010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20474
20475 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
20476 ascii.bitmaps.
20477
a8efbf64
VS
204782010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20479
20480 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 20481 Reported by: Seth Goldberg.
a8efbf64 20482
08dcd913
VS
204832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20484
20485 * util/i386/efi/grub-install.in: Copy gettext files.
20486
c4d0b332
VS
204872010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
20488
20489 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
20490
c6f2fe52
VS
204912010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
20492
20493 Wait for user entry basing on presence of output rather than on errors.
20494
20495 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
20496 (grub_install_newline_hook): Likewise.
20497 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
20498 * normal/menu.c (show_menu): Check line_counter to determine presence
20499 of output.
20500 * normal/term.c (grub_normal_line_counter): New variable.
20501 (grub_normal_get_line_counter): New function.
20502 (grub_install_newline_hook): Likewise.
20503
5382b1e4
VS
205042010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
20505
20506 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
20507
5519963b
VS
205082010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
20509
20510 * configure.ac: Update version to 1.98.
20511
72b28631
VS
205122010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
20513
20514 * util/grub.d/10_linux.in (linux_entry): Don't default to
20515 gfxpayload=keep if Linux doesn't support video handover.
20516
c140a180
VS
205172010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
20518
20519 Don't compile video modules on yeeloong since video subsystem is part
20520 of kernel.
20521
20522 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
20523 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
20524 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
20525 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
20526 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
20527 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
20528 * include/grub/bitmap_scale.h: Likewise.
20529 * include/grub/bufio.h: Likewise.
20530 * include/grub/font.h: Likewise.
20531 * include/grub/gfxterm.h: Likewise.
20532 * include/grub/video.h: Likewise.
20533 * include/grub/vbe.h: Don't include video_fb.h.
20534 * video/i386/pc/vbe.c: Include video_fb.h.
20535 * commands/i386/pc/vbetest.c: Include video.h.
20536
a0ca21c2
CW
205372010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
20538
20539 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
20540 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
20541 default entry if GRUB_SAVEDEFAULT=true. This allows using
20542 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
20543 saving a new default on every boot.
20544
4a8a763c
VS
205452010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
20546
20547 * normal/crypto.c (read_crypto_list): Fix a memory leak.
20548 * normal/term.c (read_terminal_list): Likewise.
20549 * normal/main.c (grub_normal_init_page): Likewise.
20550 (grub_normal_read_line_real): Likewise.
20551
607ffde2
VS
205522010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
20553
20554 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
20555 memory leak.
20556 Reported by: Seth Goldberg.
20557
2b8fa975
CW
205582010-02-24 Joey Korkames <joey+lists@kidfixit.com>
20559
20560 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
20561 duplicate declaration of `start'.
20562
618307dd
VS
205632010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
20564
20565 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
20566 filename.
20567 Reported by: Georgy Buranov
20568
7dd05b96 205692010-02-20 Carles Pina i Estany <carles@pina.cat>
20570
20571 * util/grub-mkrawimage.c (usage): Change string formatting to
20572 improve gettext.
20573
d1484a42
MRA
205742010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
20575
20576 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
20577 backspace keys.
20578
42b1d186
VS
205792010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
20580
20581 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
20582 Reported by: Michael Suchanek.
20583
205842010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
20585
20586 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
20587 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
20588
d9f31a41
VS
205892010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
20590
20591 Remove any reference to non-free fonts.
20592
20593 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
20594 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
20595 uses non-free components.
20596 * font/font.c (grub_font_get_name): Remove example name.
20597 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
20598 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
20599 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
20600 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
20601
2793c71e
GB
206022010-02-16 Georgy Buranov <gburanov@gmail.com>
20603
20604 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
20605
402e3779
VS
206062010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
20607
20608 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
20609 Double divisor.
20610 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
20611 features.
20612 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
20613
0dd1e0dd
VS
206142010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
20615
20616 * gensymlist.sh.in: Use TARGET_CC instead of CC.
20617
6fa7cfce
ST
206182010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
20619
20620 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
20621 * docs/grub.texi (Command-line and menu entry commands): Document play
20622 command.
20623
37c8483b
ST
206242010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
20625
20626 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
20627 parse arguments as inline tempo and notes. Move code for playing notes
20628 to...
20629 (play): ... new function.
20630
14da0fb7
ST
206312010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
20632
20633 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
20634 grub_uint16_t instead of short.
20635 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
20636 disk from little endian to cpu endianness.
20637
04459e70
ST
206382010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
20639
20640 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
20641 GRUB_TICKS_PER_SECOND instead of 120.
20642
a0876943
VS
206432010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20644
20645 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
20646 escape sequence after \e.
20647
e29f95dc
VS
206482010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20649
20650 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
20651 non-ASCII characters.
20652
d27859b2
VS
206532010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20654
20655 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
20656 set root in single quotes to prevent \, from being unescaped.
20657
bc028f2f
VS
206582010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20659
20660 Prevent unknown commands from stopping menuentry execution.
20661
20662 * script/execute.c (grub_script_execute_cmdline): Print error after
20663 unknown command.
20664
095f5f82
VS
206652010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20666
20667 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
20668 Reported by: Pavel Pisa.
20669
8c717950
VS
206702010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20671
20672 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
20673
904935c3
VS
206742010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20675
20676 Merge grub_ieee1275_map_physical into grub_map and rename to
20677 grub_ieee1275_map
20678
20679 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
20680 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
20681 Remove.
20682 * kern/ieee1275/openfw.c (grub_map): Rename to ...
20683 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
20684 necessary.
20685 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
20686
5b59a4e3
VS
206872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20688
20689 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
20690 opening and not after.
20691
69e137e8
VS
206922010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20693
20694 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
20695 constants.
20696
2c0fcc36
VS
206972010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20698
20699 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
20700 (alloc_phys): Use ALIGN_UP instead of align_addr.
20701
8c6052ce
VS
207022010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20703
20704 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
20705
17cec782
VS
207062010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20707
20708 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
20709
e0128bbd
VS
207102010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20711
20712 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
20713 verbose dprintf.
20714
ca62070b
VS
207152010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20716
20717 Fix over-4GiB seek on sparc64.
20718
20719 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
20720 Replace pos_i and pos_lo with pos. All users updated.
20721 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
20722 New constant.
20723 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
20724 Likewise.
20725 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
20726 and pos_lo.
20727
bdca2607
VS
207282010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20729
20730 * util/grub-mkrawimage.c (main): Call set_program_name.
20731
da278c4d
VS
207322010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20733
20734 Properly align 64-bit targets.
20735
20736 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
20737 (generate_image): Use ALIGN_ADDR.
20738
b274d734
VS
207392010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20740
20741 Properly create cross-endian images.
20742
20743 * include/grub/types.h (grub_host_to_target_addr): New macro
20744 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
20745
82da2062
VS
207462010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
20747
20748 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
20749
7cae4377
VS
207502010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
20751
20752 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
20753
20754 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
20755 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
20756 (grub_linux_boot): Divide by 64K when on VESA.
20757
65a533e7
VS
207582010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
20759
20760 Support GRUB_GFXPAYLOAD_LINUX.
20761
20762 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
20763 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
20764
dd01d397
VS
207652010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
20766
20767 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
20768 to show messages instead of discarding them.
20769 Process errors after executing command and not before. Keep old method
20770 too as precaution.
20771
660960d6
VS
207722010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
20773
20774 * configure.ac: Check for ft2build.h.
20775
62509f04
VS
207762010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20777
20778 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
20779
473df63d
VS
207802010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20781
20782 * genkernsyms.sh.in: Use TARGET_CC.
20783
c98d2a13
CW
207842010-02-07 Colin Watson <cjwatson@ubuntu.com>
20785
20786 * NEWS: Update.
20787
6e14234c
VS
207882010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20789
20790 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
20791 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
20792 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 20793
b255e9cf
YB
207942010-02-07 Yves Blusseau <blusseau@zetam.org>
20795
6e14234c 20796 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 20797
98e6959d
VS
207982010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20799
20800 Fix warnings in grub-emu when compiling with maximum warning options.
20801
20802 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
20803 (grub_arch_modules_addr): Return 0 and not NULL.
20804 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 20805 (xstrdup): Use newstr instead of dup.
f88d801b
VS
20806 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
20807 of disk to dsk to avoid shadowing.
74e4934e
VS
20808 (find_free_slot): Fix prototype.
20809 * util/getroot.c (grub_util_is_dmraid): Make static.
20810 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
20811 Add missing prototype.
20812 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 20813
74e31b5c
VS
208142010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20815
20816 * loader/i386/linux.c (grub_linux_setup_video): Handle error
20817 appropriately.
20818
6b2ad14b
VS
208192010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20820
20821 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
20822 code out.
20823
8f891adc
VS
208242010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20825
20826 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
20827 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
20828 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
20829 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
20830 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
20831 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
20832
74b45184
VS
208332010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20834
20835 * include/grub/err.h (grub_err_printf): Don't export.
20836
a4bced77
VS
208372010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20838
20839 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
20840
007d0695
VS
208412010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
20842
20843 * include/grub/i18n.h (grub_gettext_dummy): Removed.
20844 * kern/misc.c (grub_gettext_dummy): Make static.
20845
b6c0d9c2
VS
208462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20847
20848 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
20849 by non-valid ones.
20850 * kern/term.c (grub_putchar): Likewise.
20851
f51a90d0
VS
208522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20853
20854 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
20855 buggy hook call and memory leak.
20856
6846cec5
VS
208572010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20858
20859 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
20860
468d69fe
VS
208612010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20862
20863 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
20864
51906b8c
VS
208652010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20866
20867 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
20868 modevar.
20869 Return grub_errno on allocation error.
20870
09706ce5
VS
208712010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20872
20873 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
20874
911df80c
YB
208752010-02-06 Yves Blusseau <blusseau@zetam.org>
20876
20877 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
20878 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
20879
3746a6bc
VS
208802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20881
20882 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
20883 non-pxe disk.
20884 (grub_pxefs_open): Likewise.
20885
09706ce5
VS
208862010-02-06 Robert Millan <rmh.grub@aybabtu.com>
20887
20888 * util/grub.d/10_hurd.in: Add --class information to menuentries.
20889 * util/grub.d/10_kfreebsd.in: Likewise.
20890 * util/grub.d/10_linux.in: Likewise.
20891
7cc192d9
VS
208922010-02-06 Colin D Bennett <colin@gibibit.com>
20893
20894 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
20895 (gfxmenu_mod_SOURCES): New variable.
20896 (gfxmenu_mod_CFLAGS): Likewise.
20897 (gfxmenu_mod_LDFLAGS): Likewise.
20898 * include/grub/term.h (grub_term_set_current_output): Declare
20899 argument as const.
20900 * docs/gfxmenu-theme-example.txt: New file.
20901 * gfxmenu/gfxmenu.c: Likewise.
20902 * gfxmenu/gui_box.c: Likewise.
20903 * gfxmenu/gui_canvas.c: Likewise.
20904 * gfxmenu/gui_circular_progress.c: Likewise.
20905 * gfxmenu/gui_image.c: Likewise.
20906 * gfxmenu/gui_label.c: Likewise.
20907 * gfxmenu/gui_list.c: Likewise.
20908 * gfxmenu/gui_progress_bar.c: Likewise.
20909 * gfxmenu/gui_string_util.c: Likewise.
20910 * gfxmenu/gui_util.c: Likewise.
20911 * gfxmenu/icon_manager.c: Likewise.
20912 * gfxmenu/model.c: Likewise.
20913 * gfxmenu/named_colors.c: Likewise.
20914 * gfxmenu/theme_loader.c: Likewise.
20915 * gfxmenu/view.c: Likewise.
20916 * gfxmenu/widget-box.c: Likewise.
20917 * include/grub/gfxmenu_model.h: Likewise.
20918 * include/grub/gfxmenu_view.h: Likewise.
20919 * include/grub/gfxwidgets.h: Likewise.
20920 * include/grub/gui.h: Likewise.
20921 * include/grub/gui_string_util.h: Likewise.
20922 * include/grub/icon_manager.h: Likewise.
20923
209242010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20925
20926 Agglomerate scrolling in gfxterm.
20927
20928 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
20929 (grub_virtual_screen_setup): Initialise 'total_screen'.
20930 (write_char): Split to ...
20931 (paint_char): ... this ...
20932 (write_char): ... and this.
20933 (paint_char): Handle delayed scrolling.
20934 (draw_cursor): Likewise.
20935 (scroll_up): Split to ...
20936 (real_scroll): ... this ...
20937 (scroll_up): ... and this.
20938 (real_scroll): Handle multi-line scroll and draw below-the-bottom
20939 characters.
20940 (grub_gfxterm_refresh): Call real_scroll.
20941
209422010-02-06 Colin D Bennett <colin@gibibit.com>
20943
20944 * include/grub/misc.h (grub_iscntrl): New inline function.
20945 (grub_isalnum): Likewise.
20946 (grub_strtol): Likewise.
20947
209482010-02-06 Colin D Bennett <colin@gibibit.com>
20949
20950 * normal/menu_text.c (get_entry_number): Move from here ...
20951 * normal/menu.c (get_entry_number): ... moved here.
20952 * include/grub/menu.h (grub_menu_get_default_entry_index):
20953 New prototype.
20954 * normal/menu.c (grub_menu_get_default_entry_index): New function.
20955 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
20956 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
20957 (grub_menu_viewer_should_return): Likewise.
20958 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
20959 * normal/menu_text.c (run_menu): Enable menu switching.
20960 * normal/menu_viewer.c (should_return): New variable.
20961 (menu_viewer_changed): Likewise.
20962 (grub_menu_viewer_show_menu): Handle menu viewer changes.
20963 (grub_menu_viewer_should_return): New function.
20964 (menuviewer_write_hook): Likewise.
20965 (grub_menu_viewer_init): Likewise.
20966
209672010-02-06 Colin D Bennet <colin@gibibit.com>
209682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
20969
20970 Support for gfxterm in a window.
20971
20972 * include/grub/gfxterm.h: New file.
20973 * include/grub/video.h (struct grub_video_rect): New declaration.
20974 (grub_video_rect_t): Likewise.
20975 * term/gfxterm.c (struct grub_gfxterm_window): New type.
20976 (refcount): New variable.
20977 (render_target): Likewise.
20978 (window): Likewise.
20979 (repaint_callback): Likewise.
20980 (grub_virtual_screen_setup): Use 'render_target'.
20981 (init_window): New function.
20982 (grub_gfxterm_init_window): Likewise.
20983 (grub_gfxterm_init): Check reference counter.
20984 Use init_window.
20985 (destroy_window): New function.
20986 (grub_gfxterm_destroy_window): Likewise.
20987 (grub_gfxterm_fini): Check reference counter.
20988 Use destroy_window.
20989 (redraw_screen_rect): Restore viewport.
20990 Use 'render_target' and 'window'.
20991 Call 'repaint_callback'.
20992 (write_char): Use 'render_target'.
20993 (draw_cursor): Likewise.
20994 (scroll_up): Restore viewport.
20995 Use 'render_target' and 'window'.
20996 Call 'repaint_callback'.
20997 (grub_gfxterm_cls): Likewise.
20998 (grub_gfxterm_refresh): Use 'window'.
20999 (grub_gfxterm_set_repaint_callback): New function.
21000 (grub_gfxterm_background_image_cmd): Use 'window'.
21001 (grub_gfxterm_get_term): New function.
21002 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
21003
210042010-02-06 Colin D Bennett <colin@gibibit.com>
21005
21006 Bitmap scaling support.
21007
21008 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
21009 (bitmap_scale_mod_SOURCES): New variable.
21010 (bitmap_scale_mod_CFLAGS): Likewise.
21011 (bitmap_scale_mod_LDFLAGS): Likewise.
21012 * include/grub/bitmap_scale.h: New file.
21013 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
21014 (background_image_cmd_options): New variable.
21015 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
21016 (cmd): Rename and change type to ...
21017 (background_image_cmd_handle): ... this. All users updated.
21018 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
21019 * video/bitmap_scale.c: New file.
21020
210212010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21022
21023 SDL support.
21024
21025 * Makefile.in (LIBSDL): New variable.
21026 (enable_grub_emu_sdl): Likewise.
21027 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
21028 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
21029 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
21030 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
21031 * util/sdl.c: New file.
21032
210332010-02-06 Colin D Bennett <colin@gibibit.com>
210342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21035
21036 Double buffering support.
21037
21038 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
21039 * include/grub/video.h: Update comment.
21040 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
21041 New type.
21042 (grub_video_fb_doublebuf_blit_init): New prototype.
21043 * term/gfxterm.c (scroll_up): Support double buffering.
21044 (grub_gfxterm_refresh): Likewise.
21045 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
21046 (grub_video_fb_doublebuf_blit_init): Likewise.
21047 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
21048 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
21049 'displayed_page', 'render_page' and 'update_screen'.
21050 (grub_video_vbe_fini): Free offscreen buffer.
21051 (doublebuf_pageflipping_commit): New function.
21052 (doublebuf_pageflipping_update_screen): Likewise.
21053 (doublebuf_pageflipping_init): Likewise.
21054 (double_buffering_init): Likewise.
21055 (grub_video_vbe_setup): Enable doublebuffering.
21056 (grub_video_vbe_swap_buffers): Implement.
21057 (grub_video_vbe_set_active_render_target): Handle double buffering.
21058 (grub_video_vbe_get_active_render_target): Likewise.
21059 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
21060 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
21061 (grub_video_vbe_enable_double_buffering): Likewise.
21062 (grub_video_vbe_swap_buffers): Use update_screen.
21063 (grub_video_set_mode): Use double buffering.
21064
210652010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21066
21067 * maintainance/gentrigtables.py: Remove.
21068 * lib/trig.c: Likewise.
21069
21070 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
21071
21072 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
21073 `trigtables.c'.
21074 (trigtables.c): New rule.
21075 (gentrigtables): Likewise.
21076 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
21077
210782010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21079
21080 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
21081 integer constants.
21082
210832010-02-06 Colin D Bennet <colin@gibibit.com>
21084
21085 Trigonometry support.
21086
21087 * include/grub/trig.h: New file.
21088 * lib/trig.c: Likewise.
21089 * maintainance/gentrigtables.py: Likewise.
21090 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
21091 (trig_mod_SOURCES): New variable.
21092 (trig_mod_CFLAGS): Likewise.
21093 (trig_mod_LDFLAGS): Likewise.
21094
5562834e
VS
210952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21096
21097 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
21098 disk devices.
21099
4f8528fc
VS
211002010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21101
21102 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
21103 error.
21104
2b4068e9
VS
211052010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
21106
21107 * util/hostdisk.c (open_device): Don't use partition device when reading
21108 before the partition.
21109 (grub_util_biosdisk_read): Don't read from partition and before the
21110 partition in single operation.
21111 (grub_util_biosdisk_write): Don't write to partition and before the
21112 partition in single operation.
21113
399f6e4d
TL
211142010-02-03 Torsten Landschoff <torsten@debian.org>
21115
21116 * kern/disk.c (grub_disk_read): Fix offset computation when reading
21117 last sectors.
21118
996649b0
VS
211192010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
21120
21121 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
21122 CDROM reads.
21123 (grub_biosdisk_write): Refuse to write to CDROM.
21124
3b205d4d
VS
211252010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
21126
21127 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
21128
61e89d9d
VS
211292010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
21130
21131 * font/font.c (find_glyph): Check that bmp_idx is available before
21132 using it.
21133 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
21134 with (font == NULL).
21135
bf7fcba2
CS
211362010-01-28 Christian Schmitt <chris@ilovelinux.de>
21137
21138 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
21139
f45d2663
BC
211402010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
21141
21142 * include/grub/script_sh.h (sourcecode): Add const qualifier.
21143 * util/grub-script-check.c (getline): Fix empty lines case.
21144
ec1444e6
RM
211452010-01-28 Robert Millan <rmh.grub@aybabtu.com>
21146
21147 * Makefile.in (check): Exit with fail status when one of the tests
21148 fails.
21149 * tests/example_functional_test.c (example_test): Fix reversed assert.
21150 * tests/example_unit_test.c (example_test): Likewise.
21151
2e1cb9bb
CW
211522010-01-28 Colin Watson <cjwatson@ubuntu.com>
21153
21154 * util/grub.d/10_linux.in: This script does not use any of the
21155 contents of gettext.sh, only the external command `gettext', so stop
21156 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
21157 the same prefix as GRUB.)
21158 * util/grub.d/10_kfreebsd.in: Likewise.
21159
63533ab0
VS
211602010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
21161
21162 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
21163 of the line.
21164
989e1f93
VS
211652010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
21166
21167 * kern/disk.c (grub_disk_read): Fix offset computation when reading
21168 last sectors.
21169
e709ebe2
VS
211702010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
21171
21172 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
21173 having a 4KiB and not 32KiB buffer size.
21174
27dea7ed
RM
211752010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21176
21177 * util/hostfs.c: Include `<errno.h>'.
21178 (grub_hostfs_read): Handle errors from fseeko() and fread().
21179
67667b9c
RM
211802010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21181
21182 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
21183 loop when using read hooks on files whose size isn't sector-aligned.
21184
c294d9d8
RM
211852010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21186
21187 Remove unused parameter.
21188
21189 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
21190 (grub_iso9660_open): Remove initialization of `data->length'.
21191
af75a9f1
RM
211922010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21193
21194 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
21195 memleak conditions.
21196
254e2ce5 211972010-01-27 Carles Pina i Estany <carles@pina.cat>
21198
21199 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
21200 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
21201
b510928c 212022010-01-26 Carles Pina i Estany <carles@pina.cat>
21203
21204 * util/bin2h.c (usage): Fix warning (space after backslash).
21205
aa2f9dd2 212062010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 21207
21208 * font/font.c: Include `grub/fontformat.h.
21209 Remove font file format constants.
21210 (grub_font_load): Use the new macros.
21211 * include/grub/fontformat.h: New file.
21212 * util/grub-mkfont.c: Include `grub/fontformat.c'.
21213 (write_font_pf2): Use the new macros.
21214
94e7e712
RM
212152010-01-26 Robert Millan <rmh.grub@aybabtu.com>
21216
21217 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
21218 does.
21219
3973a59a
RM
212202010-01-26 Robert Millan <rmh.grub@aybabtu.com>
21221
21222 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
21223
21224 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
21225 (_start): Macroify `0x7F'.
21226
21227 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
21228 (make_install_device): Use "(pxe)" as fallback prefix when booting
21229 via PXE.
21230
42e0cba3
GS
212312010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
21232
21233 * configure.ac: Reset LIBS after check for libgcc symbols.
21234
847effd8
CW
212352010-01-25 Colin Watson <cjwatson@ubuntu.com>
21236
21237 * util/hostdisk.c (open_device): Add trailing newline to debug
21238 message.
21239
ea4a7e35
GS
212402010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
21241
21242 * configure.ac: Check for `limits.h'.
21243 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
21244
67951a53
RM
212452010-01-24 Robert Millan <rmh.grub@aybabtu.com>
21246
21247 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
21248 capitalize error strings.
21249
c273d4ce
ST
212502010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
21251
21252 * util/grub.d/10_hurd.in: Add a recovery mode.
21253
69be5b74
VS
212542010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
21255
21256 * configure.ac: Check for libgcc symbols with -nostdlib.
21257
fc9e5810
BC
212582010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
21259
21260 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
21261
4b358c0a
VS
212622010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21263
21264 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
21265 stack since heap may be unavailable at that point.
21266 (grub_ofconsole_gotoxy): Likewise.
21267
454fcd1c
VS
212682010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21269
21270 * configure.ac: Check for _restgpr_14_x.
21271 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
21272 and _savegpr_* prototypes.
21273
566863ca
RM
212742010-01-22 Robert Millan <rmh.grub@aybabtu.com>
21275
21276 Use generic grub_reboot() for i386-efi.
21277
21278 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
21279 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
21280 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
21281
bf86e59a
VS
212822010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21283
21284 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
21285 presence of "prefix" variable as it breaks when normal.mod is
21286 embedded.
21287
d645e0f8
VS
212882010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
21289
21290 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
21291 stack since heap is unavailable at that point.
21292
f9ab2e25
VS
212932010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
21294
21295 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
21296 (grub_freebsd_bootinfo): Rewritten.
21297 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
21298
01fc7054
VS
212992010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
21300
21301 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
21302
caab4fd6
RM
213032010-01-21 Robert Millan <rmh.grub@aybabtu.com>
21304
21305 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
21306 domain now.
21307
67eb1427
FZ
213082010-01-20 Felix Zielcke <fzielcke@z-51.de>
21309
21310 * util/misc.c (make_system_path_relative_to_its_root): Change the work
21311 around for handling "/" to the correct fix. Fix a memory leak. Use
21312 xstrdup instead of strdup.
21313
a9ed4ff3
VS
213142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21315
21316 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
21317
213182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
21319
21320 Optimise glyph lookup by Basic Multilingual Plane lookup array.
21321
21322 * font/font.c (struct grub_font): New member 'bmp_idx'.
21323 (font_init): Initialise 'bmp_idx'.
21324 (load_font_index): Fill 'bmp_idx'.
21325 (find_glyph): Make inline. Use bmp_idx for BMP characters.
21326
48209f4f
VS
213272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21328
21329 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
21330 unnecessary calls.
21331
9f0a4bb7
VS
213322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21333
21334 Move context handling out of the kernel.
21335
21336 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
21337 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
21338 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
21339 * conf/i386-efi.rmk: Likewise.
21340 * conf/i386-ieee1275.rmk: Likewise.
21341 * conf/i386-pc.rmk: Likewise.
21342 * conf/powerpc-ieee1275.rmk: Likewise.
21343 * conf/sparc64-ieee1275.rmk: Likewise.
21344 * conf/x86_64-efi.rmk: Likewise.
21345 * include/grub/env.h: Include grub/menu.h.
21346 (grub_env_var_type): Removed.
21347 (grub_env_var): Replaced field 'type' with 'global'.
21348 (grub_env_find): New prototype.
21349 (grub_env_context_open): Remove EXPORT_FUNC.
21350 (grub_env_context_close): Likewise.
21351 (grub_env_export): Likewise.
21352 (grub_env_set_data_slot): Removed.
21353 (grub_env_get_data_slot): Likewise.
21354 (grub_env_unset_data_slot): Likewise.
21355 (grub_env_unset_menu): New prototype.
21356 (grub_env_set_menu): Likewise.
21357 (grub_env_get_menu): Likewise.
21358 * include/grub/env_private.h: New file.
21359 * include/grub/normal.h (grub_context_init): New prototype.
21360 (grub_context_fini): Likewise.
21361 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
21362 * normal/context.c (grub_cmd_export): ... to here.
21363 * kern/env.c: Include env_private.h.
21364 (HASHSZ): Moved to include/grub/env_private.h.
21365 (grub_env_context): Likewise.
21366 (grub_env_sorted_var): Likewise.
21367 (current_context): Renamed from this ...
21368 (grub_current_context): ...to this. 'static' removed. All users updated.
21369 (grub_env_find): Removed 'static'.
21370 (grub_env_context_open): Moved to normal/context.c.
21371 (grub_env_context_close): Likewise.
21372 (grub_env_export): Likewise.
21373 (mangle_data_slot_name): Removed.
21374 (grub_env_set_data_slot): Likewise.
21375 (grub_env_get_data_slot): Likewise.
21376 (grub_env_unset_data_slot): Likewise.
21377 * kern/main.c (grub_set_root_dev): Don't export root.
21378 It will be done later.
21379 (grub_main): Don't export prefix.
21380 It will be done later.
21381 * normal/context.c: New file.
21382 * normal/main.c (free_menu): Use grub_env_unset_menu.
21383 (grub_normal_add_menu_entry): Use grub_env_get_menu.
21384 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
21385 (GRUB_MOD_INIT(normal)): Call grub_context_init.
21386 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
21387
8dd35b8c
VS
213882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21389
21390 setpci support.
21391
21392 * commands/setpci.c: New file.
21393 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
21394 (setpci_mod_SOURCES): New variable.
21395 (setpci_mod_CFLAGS): Likewise.
21396 (setpci_mod_LDFLAGS): Likewise.
21397
449193d5
VS
213982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21399
21400 Byte-addressable PCI configuration space.
21401
21402 * bus/pci.c (grub_pci_make_address): Use byte address instead of
21403 dword address.
21404 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
21405 GRUB_PCI_REG_CACHELINE.
21406 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
21407 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
21408 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
21409 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
21410 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
21411 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
21412 grub_pci_make_address.
21413 (lock_rom_area): Likewise.
21414 * commands/lspci.c (grub_lspci_iter): Use macroses
21415 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
21416 of grub_pci_make_address.
21417 * disk/ata.c (grub_ata_pciinit): Likewise.
21418 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
21419 (GRUB_PCI_REG_VENDOR): Likewise.
21420 (GRUB_PCI_REG_DEVICE): Likewise.
21421 (GRUB_PCI_REG_COMMAND): Likewise.
21422 (GRUB_PCI_REG_STATUS): Likewise.
21423 (GRUB_PCI_REG_REVISION): Likewise.
21424 (GRUB_PCI_REG_CLASS): Likewise.
21425 (GRUB_PCI_REG_CACHELINE): Likewise.
21426 (GRUB_PCI_REG_LAT_TIMER): Likewise.
21427 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
21428 (GRUB_PCI_REG_BIST): Likewise.
21429 (GRUB_PCI_REG_ADDRESSES): Likewise.
21430 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21431 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21432 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21433 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21434 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21435 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
21436 (GRUB_PCI_REG_CIS_POINTER): Likewise.
21437 (GRUB_PCI_REG_SUBVENDOR): Likewise.
21438 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
21439 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
21440 (GRUB_PCI_REG_CAP_POINTER): Likewise.
21441 (GRUB_PCI_REG_IRQ_LINE): Likewise.
21442 (GRUB_PCI_REG_IRQ_PIN): Likewise.
21443 (GRUB_PCI_REG_MIN_GNT): Likewise.
21444 (GRUB_PCI_REG_MAX_LAT): Likewise.
21445 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
21446 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
21447 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 21448 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
21449 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
21450 space.
21451
96d73208
RM
214522010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21453
21454 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
21455 can be reliably determined to be supported.
21456
d4484482
RM
214572010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21458
21459 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
21460 that VESA is supported.
21461 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
21462 supported.
21463
00308ecf
VS
214642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21465
21466 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
21467
f66924a4
RM
214682010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21469
21470 * util/misc.c (make_system_path_relative_to_its_root): Work around
21471 special-casing of "/", as previous incarnation of this routine did.
21472
cbca0ada
VS
214732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21474
21475 Fix any-emu compilation.
21476
21477 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
21478 * grub_bin2h_SOURCES: New variable.
21479
34a66d99
RM
214802010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21481
21482 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
21483
94fabf58
RM
214842010-01-20 Robert Millan <rmh.grub@aybabtu.com>
21485
21486 * util/grub.d/00_header.in: Fix handling of locale_dir.
21487
02cf98ca
VS
214882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21489
21490 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
21491 as possible unifont location (Gentoo).
21492 Reported by: Alexander Brüning
21493
327dbcd7
VS
214942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21495
21496 Don't try to generate lists for kernel.img.
21497
21498 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
21499 (pkglib_MODULES): Remove kernel.img.
21500 (kernel_img_EXPORTS): Removed.
21501 (kernel_img_RELOCATABLE): New variable.
21502 * conf/x86_64-efi.rmk: Likewise.
21503 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
21504
ca467290
VS
215052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21506
21507 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
21508 grub_xasprintf or grub_snprintf.
21509 (grub_vsprintf): Likewise.
21510 (grub_snprintf): New proto.
21511 (grub_vsnprintf): Likewise.
21512 (grub_xasprintf): Likewise.
21513 (grub_xvasprintf): Likewise.
21514 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
21515 (grub_sprintf): Removed.
21516 (grub_vsnprintf): New function.
21517 (grub_snprintf): Likewise.
21518 (grub_xvasprintf): Likewise.
21519 (grub_xasprintf): Likewise.
21520 (grub_vsprintf): Renamed to ...
21521 (grub_vsnprintf_real): ...this. New argument max_len.
21522
aca655fd
BC
215232010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
21524
21525 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
21526 fix grub-script-check warning.
21527
7ee92c32
VS
215282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21529
21530 * include/grub/font.h (grub_font_load): Fix prototype.
21531
f80927ca
VS
215322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21533
21534 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
21535
119c50ea
VS
215362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21537
21538 * include/grub/x86_64/at_keyboard.h: New file.
21539
47d5f3c1
VS
215402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21541
21542 * loader/mips/linux.c: Include missing grub/i18n.h.
21543
55ff5266
RM
215442009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21545
21546 * normal/menu.c (notify_execution_failure): Clarify error message.
21547
c893cc87
RM
215482009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21549
21550 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
21551 return value (and revert all return statements). Update users.
21552
917dd370
CW
215532010-01-20 Dan Merillat <debian@dan.merillat.org>
21554
21555 * kern/device.c (grub_device_iterate): Allocate new part_ent
21556 structure based on sizeof (*p) rather than sizeof (p->next), to
21557 account for structure padding.
21558
21559 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
21560 disk is NULL, which might happen for LVM physical volumes with no
21561 LVM signature.
21562
d4a4ee57
RM
215632009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21564
21565 * loader/mips/linux.c (grub_cmd_initrd)
21566 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
21567
215682009-12-20 Robert Millan <rmh.grub@aybabtu.com>
21569
21570 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
21571 (grub_video_video_init, grub_video_bitmap_init)
21572 (grub_font_manager_init, grub_term_gfxterm_init)
21573 (grub_at_keyboard_init): New extern declarations.
21574 (grub_machine_init): Initialize gfxterm and at_keyboard.
21575
21576 * kern/main.c (grub_main): Revert grub_printf delay kludge.
21577
21578 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
21579 `gfxterm.mod' into core image.
21580
21581 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
21582 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
21583 (kernel_img_FORMAT): Copy to ...
21584
21585 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
21586 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
21587 (kernel_img_FORMAT): ... here, and ...
21588
21589 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
21590 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
21591 (kernel_img_FORMAT): ... here.
21592
21593 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
21594 and input (at_keyboard) terminals in kernel.
21595 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
21596
21597 (pkglib_MODULES): Remove `pci.mod'.
21598 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
21599 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
21600 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
21601 (at_keyboard_mod_LDFLAGS): Remove variables.
21602
216032010-01-11 Felix Zielcke <fzielcke@z-51.de>
21604
21605 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
21606
216072009-12-10 Robert Millan <rmh.grub@aybabtu.com>
21608
21609 * include/grub/mips/libgcc.h: Only export symbols for functions
21610 that libgcc provides.
21611
216122009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
21613
21614 MIPS support.
21615
21616 * bus/bonito.c: New file.
21617 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
21618 GRUB_PCI_NUM_DEVICES.
21619 * term/i386/pc/serial.c: Move to ...
21620 * term/serial.c: ... here. All users updated.
21621 * util/i386/pc/grub-mkimage.c: Move to ...
21622 * util/grub-mkrawimage.c: ... here. All users updated.
21623 * term/i386/pc/at_keyboard.c: Move to ...
21624 * term/at_keyboard.c: ... here. All users updated.
21625 * conf/mips-qemu-mips.rmk: New file.
21626 * conf/mips-yeeloong.rmk: Likewise.
21627 * conf/mips.rmk: Likewise.
21628 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
21629 mipsel-qemu-mips.
21630 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
21631 to port addresses.
21632 (grub_ata_pciinit): Support CS5536.
21633 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
21634 * font/font_cmd.c (loadfont_command): Open file before passing it to
21635 grub_font_load.
21636 (pseudo_file_read): New function.
21637 (pseudo_file_close): Likewise.
21638 (pseudo_fs): New structure.
21639 (load_font_module): New function.
21640 (GRUB_MOD_INIT(font_manager)): Load embedded font.
21641 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
21642 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
21643 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
21644 * include/grub/i386/at_keyboard.h: Split into ...
21645 * include/grub/at_keyboard.h: ... this ...
21646 * include/grub/i386/at_keyboard.h: ... and this.
21647 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
21648 New prototype.
21649 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
21650 updated.
21651 (grub_elf64_size): Likewise.
21652 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
21653 filename.
21654 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
21655 * include/grub/i386/coreboot/serial.h: Rewritten.
21656 * include/grub/i386/ieee1275/serial.h: Include
21657 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
21658 * include/grub/i386/pc/serial.h: Moved from here ...
21659 * include/grub/serial.h: ... to here. All users updated.
21660 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
21661 (GRUB_PCI_NUM_BUS): Likewise.
21662 (GRUB_PCI_NUM_DEVICES): Likewise.
21663 (grub_pci_device_map_range): Add missing volatile keyword.
21664 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
21665 * include/grub/mips/at_keyboard.h: New file.
21666 * include/grub/mips/cache.h: Likewise.
21667 * include/grub/mips/io.h: Likewise.
21668 * include/grub/mips/kernel.h: Likewise.
21669 * include/grub/mips/libgcc.h: Likewise.
21670 * include/grub/mips/pci.h: Likewise.
21671 * include/grub/mips/qemu-mips/boot.h: Likewise.
21672 * include/grub/mips/qemu-mips/kernel.h: Likewise.
21673 * include/grub/mips/qemu-mips/loader.h: Likewise.
21674 * include/grub/mips/qemu-mips/memory.h: Likewise.
21675 * include/grub/mips/qemu-mips/serial.h: Likewise.
21676 * include/grub/mips/qemu-mips/time.h: Likewise.
21677 * include/grub/mips/relocator.h: Likewise.
21678 * include/grub/mips/time.h: Likewise.
21679 * include/grub/mips/types.h: Likewise.
21680 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
21681 * include/grub/mips/yeeloong/boot.h: Likewise.
21682 * include/grub/mips/yeeloong/kernel.h: Likewise.
21683 * include/grub/mips/yeeloong/loader.h: Likewise.
21684 * include/grub/mips/yeeloong/memory.h: Likewise.
21685 * include/grub/mips/yeeloong/pci.h: Likewise.
21686 * include/grub/mips/yeeloong/serial.h: Likewise.
21687 * include/grub/mips/yeeloong/time.h: Likewise.
21688 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
21689 * kern/elf.c (grub_elf32_size): New parameter. All users
21690 updated.
21691 (grub_elf64_size): Likewise.
21692 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
21693 Load modules before saying "Welcome to GRUB!".
21694 Call grub_refresh after saying "Welcome to GRUB!".
21695 * kern/mips/cache.S: New file.
21696 * kern/mips/cache_flush.S: Likewise.
21697 * kern/mips/dl.c: Likewise.
21698 * kern/mips/init.c: Likewise.
21699 * kern/mips/qemu-mips/init.c: Likewise.
21700 * kern/mips/startup.S: Likewise.
21701 * kern/mips/yeeloong/init.c: Likewise.
21702 * kern/term.c (grub_putcode): Handle NULL terminal.
21703 (grub_getcharwidth): Likewise.
21704 (grub_getkey): Likewise.
21705 (grub_checkkey): Likewise.
21706 (grub_getkeystatus): Likewise.
21707 (grub_getxy): Likewise.
21708 (grub_getwh): Likewise.
21709 (grub_gotoxy): Likewise.
21710 (grub_cls): Likewise.
21711 (grub_setcolorstate): Likewise.
21712 (grub_setcolor): Likewise.
21713 (grub_getcolor): Likewise.
21714 (grub_refresh): Likewise.
21715 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
21716 (write_jump): Add hatch nop.
21717 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
21718 * lib/mips/setjmp.S: New file.
21719 * loader/mips/linux.c: Likewise.
21720 * term/i386/pc/at_keyboard.c: Move from here ...
21721 * term/at_keyboard.c: ... to here.
21722 * term/i386/pc/serial.c: Moved from here ...
21723 * term/serial.c: ... to here. All users updated.
21724 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
21725 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
21726 (serial_translate_key_sequence): Avoid deadlock.
21727 (grub_serial_getkey): Handle backspace.
21728 (grub_serial_putchar): Fix newline handling.
21729 * util/i386/pc/grub-mkimage.c: Move from here ...
21730 * util/grub-mkrawimage.c: ... to here. All users updated.
21731 (generate_image): New parameters 'font_path' and 'format'.
21732 Support embedding font.
21733 Use grub_host_to_target* instead of grub_cpu_to_le*.
21734 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
21735 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
21736 (options): New option "--font".
21737 (usage): Likewise.
21738 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
21739 (main): Handle "--font".
21740 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
21741 (grub_virtual_screen_setup): Set bg_color_display.
21742 (redraw_screen_rect): Use bg_color_display instead of incorrect
21743 bg_color.
21744 (grub_gfxterm_cls): Likewise.
21745 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
21746 Support embedding config file.
21747 (add_segments): Likewise.
21748 (options): New option "--config".
21749 (main): Handle "--config".
21750 * video/sm712.c: New file.
21751
25c2b5b3
RM
217522010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21753
21754 Fix parallel builds.
21755
21756 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
21757 font.c depend on ascii.h).
21758
217592010-01-12 Carles Pina i Estany <carles@pina.cat>
21760
21761 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
21762
217632010-01-11 Carles Pina i Estany <carles@pina.cat>
21764
21765 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
21766 By default: disabled.
21767 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
21768 parameter.
21769
217702010-01-10 Carles Pina i Estany <carles@pina.cat>
21771
21772 * font/font.c: Update copyright years.
21773 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
21774
217752010-01-10 Carles Pina i Estany <carles@pina.cat>
21776
21777 * font/font.c: Include `ascii.h'.
21778 (ASCII_BITMAP_SIZE): New macro.
21779 (ascii_font_glyph): Define.
21780 (ascii_glyph_lookup): New function.
21781 (grub_font_get_string_width): Change comment. If glyph not found, use
21782 ascii_glyph_lookup.
21783 (grub_font_get_glyph_with_fallback): If glyph not available returns
21784 ascii_glyph_lookup.
21785 * util/grub-mkfont.c (file_formats): New enum.
21786 (options): Add `ascii-bitmaps' new option.
21787 (usage): Add `asii-bitmaps' new option.
21788 (write_font_ascii_bitmap): New function.
21789 (write_font): Rename to ...
21790 (write_font_p2): ... this. Remove print_glyphs call.
21791 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
21792 used. Call print_glyphs.
21793 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
21794
217952010-01-14 Robert Millan <rmh.grub@aybabtu.com>
21796
21797 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
21798 (grub_bin2h_SOURCES): New variable.
21799 * util/bin2h.c: New file.
21800
915fc1b8
VS
218012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21802
21803 * include/multiboot.h: Resynced with spec.
21804 * include/multiboot2.h: Likewise.
21805 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
21806 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
21807
9444b678
RM
218082010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21809
21810 * include/grub/term.h (grub_term_register_input,
21811 grub_term_register_output): Check return of terminal init()
21812 routines, and abort if errors are raised.
21813
21814 * commands/terminal.c: Update copyright year.
21815
cba98e8d
RM
218162010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21817
21818 * commands/terminal.c (grub_cmd_terminal_input)
21819 (grub_cmd_terminal_output): Check return of terminal init()
21820 routines, and abort if errors are raised.
21821
6f7db5d6
VS
218222010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
21823
21824 * include/grub/i386/bsd.h: Fix include pathes.
21825
262bff8d
VS
218262010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
21827
21828 Add missing *BSD copyright headers.
21829
21830 * include/grub/aout.h: Add BSD licence.
21831 * include/grub/i386/bsd.h: Parts under different licences moved to ...
21832 * include/grub/i386/freebsd_linker.h: ... here,
21833 * include/grub/i386/freebsd_reboot.h: ... here,
21834 * include/grub/i386/netbsd_bootinfo.h: ... here,
21835 * include/grub/i386/netbsd_reboot.h: ... here,
21836 * include/grub/i386/openbsd_bootarg.h: ... here,
21837 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
21838 licence to each file.
21839
b2cab848
RM
218402010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21841
21842 * acinclude.m4: Remove `nop' assembly instruction; it's not
21843 implemented by all architectures.
21844
2cb6be4b
RM
218452010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21846
21847 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
21848 ELILO. This is no longer necessary.
21849
a2eaee15
BC
218502010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
21851
21852 Added new tool, grub-scrit-check to verify grub.cfg syntax.
21853
21854 * util/grub-script-check.c: grub-script-check tool.
21855 * conf/common.rmk: Make rules for grub-script-check.
21856
88d17012
RM
218572010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21858
21859 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
21860 spotting it back in 2008. Shame on me for forgetting he did.
21861
21862 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
21863
8040619d
RM
218642010-01-18 Robert Millan <rmh.grub@aybabtu.com>
21865
21866 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
21867 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
21868 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
21869 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
21870 (GRUB_VIDEO_TYPE_EFI): Rename to ...
21871 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
21872
a0c2a0f6
RM
218732010-01-17 Robert Millan <rmh.grub@aybabtu.com>
21874
21875 * include/grub/test.h: Add license header.
21876 * tests/example_functional_test.c: Likewise.
21877 * tests/example_unit_test.c: Likewise.
21878 * tests/lib/functional_test.c: Likewise.
21879 * tests/lib/test.c: Likewise.
21880 * tests/lib/unit_test.c: Likewise.
21881
b0b13907
VS
218822010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
21883
21884 Use flag-based instead of hook-based video mode selection and "auto"
21885 keyword.
21886
21887 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
21888 (grub_video_set_mode): Changed prototype. All users updated.
21889 (grub_video_check_mode_flag): New inline function.
21890 * video/video.c (parse_modespec): New function.
21891 (grub_video_set_mode): Parse flags and keywords.
21892
ea379330 218932010-01-17 Carles Pina i Estany <carles@pina.cat>
21894
21895 * util/misc.c (grub_util_info): Fix the order of the parameters in a
21896 fprintf call.
21897
e15c215e
FZ
218982010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
21899
21900 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
21901
409ae1c9 219022010-01-16 Carles Pina i Estany <carles@pina.cat>
21903
21904 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
21905 string.
21906 * util/grub-emu.c (usage): Likewise.
21907 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
21908 * util/i386/efi/grub-mkimage.c (usage): Likewise.
21909 * util/i386/pc/grub-mkimage.c (usage): Likewise.
21910 * util/i386/pc/grub-setup.c (usage): Likewise.
21911
70a14d3d 219122010-01-16 Carles Pina i Estany <carles@pina.cat>
21913
21914 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
21915 the message.
21916 (grub_util_info): Likewise.
21917 (grub_util_error): Likewise.
21918 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
21919 and/or new lines in `grub_util_warna', `grub_util_info',
21920 `grub_util_error' calls.
21921 * util/getroot.c: Likewise.
21922 * util/grub-editenv.c: Likewise.
21923 * util/grub-emu.c: Likewise.
21924 * util/grub-fstest.c: Likewise.
21925 * util/grub-mkdevicemap.c: Likewise.
21926 * util/grub-mkfont.c: Likewise.
21927 * util/grub-mkpasswd-pbkdf2.c: Likewise.
21928 * util/grub-mkrelpath.c: Likewise.
21929 * util/grub-pe2elf.c: Likewise.
21930 * util/grub-probe.c: Likewise.
21931 * util/hostdisk.c: Likewise.
21932 * util/i386/efi/grub-mkimage.c: Likewise.
21933 * util/i386/pc/grub-mkimage.c: Likewise.
21934 * util/i386/pc/grub-setup.c: Likewise.
21935 * util/ieee1275/ofpath.c: Likewise.
21936 * util/mkisofs/eltorito.c: Likewise.
21937 * util/mkisofs/rock.c: Likewise.
21938 * util/mkisofs/write.c: Likewise.
21939 * util/raid.c: Likewise.
21940 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
21941 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21942
a0b766fc
VS
219432010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21944
21945 Enable multiboot on non-pc.
21946
21947 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
21948 multiboot.mod and multiboot2.mod to ...
21949 * conf/i386.rmk (pkglib_MODULES): ... here.
21950 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
21951 Moved to ...
21952 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
21953 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
21954 Moved to ...
21955 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
21956 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
21957 Moved to ...
21958 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
21959 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
21960 Moved to ...
21961 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
21962 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
21963 relocator.mod.
21964 (ata_mod_SOURCES): Removed.
21965 (ata_mod_CFLAGS): Likewise.
21966 (ata_mod_LDFLAGS): Likewise.
21967 (relocator_mod_SOURCES): Removed.
21968 (relocator_mod_CFLAGS): Likewise.
21969 (relocator_mod_ASFLAGS): Likewise.
21970 (relocator_mod_LDFLAGS): Likewise.
21971 Include i386.mk.
21972 * include/grub/x86_64/multiboot.h: New file.
21973 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
21974 Terminate EFI.
21975
884ade56
VS
219762010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21977
21978 Video multiboot support.
21979
21980 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
21981 New prototype.
21982 * include/multiboot.h: Resynced with multiboot specification.
21983 * include/multiboot2.h: Likewise.
21984 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
21985 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
21986 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
21987 (HAS_VGA_TEXT): Likewise.
21988 (accepts_video): New variable.
21989 (grub_multiboot_set_accepts_video): New function.
21990 (grub_multiboot_get_mbi_size): Account for video structures.
21991 (set_video_mode): New function.
21992 (retrieve_video_parameters): Likewise.
21993 (grub_multiboot_make_mbi): Fill video fields.
21994
0d90e8a6
VS
219952010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21996
21997 Video driver ids.
21998
21999 * include/grub/video.h (grub_video_driver_id): New type.
22000 (grub_video_adapter): New member 'id'. All users updated.
22001 (grub_video_get_driver_id): New proto.
22002 * video/video.c (grub_video_get_driver_id): New function.
22003
5c71db1b 220042010-01-14 Carles Pina i Estany <carles@pina.cat>
22005
22006 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
22007 `var=val'.
22008
cca15b52 220092010-01-14 Carles Pina i Estany <carles@pina.cat>
22010
22011 * normal/cmdline.c (print_completion): Gettextizze.
22012
c586fbb2 220132001-01-14 Carles Pina i Estany <carles@pina.cat>
22014
22015 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
22016
ba2f6848 220172010-01-14 Carles Pina i Estany <carles@pina.cat>
22018
22019 * gettext/gettext.c (grub_gettext_translate): Push and pop
22020 grub_errno.
22021 (grub_gettext_delete_list): Change comment style.
22022 * kern/err.c (grub_error): Gettextizze.
22023 (grub_fatal): Gettextizze.
22024
0a46429a
RM
220252010-01-14 Robert Millan <rmh.grub@aybabtu.com>
22026
22027 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
22028 (grub_linux16_real_boot): ... this.
22029 * kern/i386/loader.S: Likewise.
22030 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
22031 (grub_linux16_boot): New function. Switches to text mode and calls
22032 grub_linux16_real_boot().
22033
22034 * loader/i386/bsd.c: Include `<grub/video.h>'.
22035 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
22036 text mode before calling grub_unix_real_boot().
22037
22038 * loader/i386/multiboot.c: Include `<grub/video.h>'.
22039 (grub_multiboot_boot): Switch to text mode before calling
22040 grub_relocator32_boot().
22041
22042 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
22043 (grub_chainloader_boot): Switch to text mode before calling
22044 grub_chainloader_real_boot().
22045
d6f93a66
RM
220462010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
220472010-01-05 Colin Watson <cjwatson@ubuntu.com>
22048
22049 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
22050 non-empty value.
22051
220522010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
220532010-01-05 Colin Watson <cjwatson@ubuntu.com>
22054
22055 * util/grub.d/00_header.in: Define a "savedefault" function for use
22056 in menu entries.
22057 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
22058
220592010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
220602010-01-05 Colin Watson <cjwatson@ubuntu.com>
22061
22062 * util/grub-mkconfig_lib.in (save_default_entry): Only set
22063 saved_entry if boot_once is unset.
22064 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
22065 previous saved entry (i.e. grub-reboot).
22066
220672009-12-08 Colin Watson <cjwatson@ubuntu.com>
22068
22069 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
22070
220712009-12-08 Colin Watson <cjwatson@ubuntu.com>
22072
22073 * util/grub.d/00_header.in: Use `set var=val' rather than plain
22074 `var=val'.
22075 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
22076
220772009-12-08 Colin Watson <cjwatson@ubuntu.com>
22078
22079 * util/grub-reboot.in: Fix --version output.
22080 * util/grub-set-default.in: Likewise.
22081
220822009-12-08 Colin Watson <cjwatson@ubuntu.com>
22083
22084 * util/grub.d/00_header.in: Silently ignore zero-sized environment
22085 blocks.
22086
220872009-12-08 Colin Watson <cjwatson@ubuntu.com>
22088
22089 * util/grub.d/00_header.in: Quote the value assigned to `default',
22090 in case it contains spaces.
22091
220922009-12-08 Colin Watson <cjwatson@ubuntu.com>
22093
22094 * util/grub.d/30_os-prober.in: Fix merge error that moved a
22095 `save_default_entry' call from the macosx case to the linux case.
22096
220972009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
220982009-10-25 Colin Watson <cjwatson@ubuntu.com>
22099
22100 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
22101 in `chosen' environment variable.
22102 * normal/menu_text.c (get_entry_number): Check if the variable
22103 matches the title of a menu entry.
22104 (run_menu): Pass menu to get_entry_number.
22105
22106 * util/grub-reboot.in: New file.
22107 * util/grub-set-default.in: New file.
22108 * conf/common.rmk (grub-reboot): New utility.
22109 (grub-set-default): New utility.
22110
22111 * util/grub-mkconfig_lib.in (save_default_entry): New function.
22112 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
22113 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
22114 move it to `saved_entry' for the next boot. Load environment on
22115 initialisation.
22116 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
22117 * util/grub.d/10_hurd.in: Likewise.
22118 * util/grub.d/10_linux.in (linux_entry): Likewise.
22119 * util/grub.d/10_windows.in: Likewise.
22120 * util/grub.d/30_os-prober.in: Likewise.
22121
22122 * util/grub-install.in: Create environment block.
22123 * util/i386/efi/grub-install.in: Likewise.
22124 * util/ieee1275/grub-install.in: Likewise.
22125 * util/sparc64/ieee1275/grub-install.in: Likewise.
22126
0934d184
BC
221272010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
22128
22129 Unit testing framework for GRUB.
22130
22131 * Makefile.in: Test framework build rules for 'make check'.
22132 * conf/tests.rmk: Build rules for individual tests and framework.
22133
22134 * include/grub/test.h: Header file for whitebox tests.
22135 * tests/lib/functional_test.c: Framework support for whitebox
22136 functional tests.
22137 * tests/lib/test.c: Common whitebox testing code for unit and
22138 functional tests.
22139 * tests/lib/unit_test.c: Framework support for whitebox unit
22140 tests.
22141
22142 * tests/util/grub-shell-tester.in: Support utility for grub-script
22143 tests.
22144 * tests/util/grub-shell.in: Utility to execute grub-script
22145 commands in a Qemu instance.
22146
22147 * tests/example_functional_test.c: Example whitebox functional
22148 test.
22149 * tests/example_grub_script_test.in: Example grub-script test.
22150 * tests/example_scripted_test.in: Example scripted test.
22151 * tests/example_unit_test.c: Example whitebox unit test.
22152
9c4ffeeb
VS
221532010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
22154
22155 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
22156 Add loader/i386/multiboot_mbi.c.
22157 (multiboot2_mod_SOURCES): Likewise.
22158 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
22159 (multiboot2_mod_SOURCES): Likewise.
22160 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
22161 (grub_multiboot_make_mbi): Likewise.
22162 (grub_multiboot_free_mbi): Likewise.
22163 (grub_multiboot_init_mbi): Likewise.
22164 (grub_multiboot_add_module): Likewise.
22165 (grub_multiboot_set_bootdev): Likewise.
22166 * loader/i386/multiboot.c (mbi): Removed.
22167 (mbi_dest): Likewise.
22168 (alloc_mbi): New variable.
22169 (grub_multiboot_payload_size): Removed. All users updated.
22170 (grub_multiboot_pure_size): New variable.
22171 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
22172 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
22173 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
22174 (grub_fill_multiboot_mmap): Likewise.
22175 (grub_multiboot_get_bootdev): Likewise.
22176 (grub_multiboot): Use multiboot_mbi functions.
22177 * loader/i386/multiboot_mbi.c: New file.
22178
17383dfe
VS
221792010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
22180
22181 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
22182 it would result in module crash.
22183
c1f28820
VS
221842010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
22185
22186 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
22187 (grub_ofconsole_getwh): Split to ...
22188 (grub_ofconsole_getwh): ... this.
22189 (grub_ofconsole_dimensions): ...and this.
22190 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
22191
58655a16
RM
221922010-01-13 Robert Millan <rmh.grub@aybabtu.com>
22193
22194 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
22195
10891398
VS
221962010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
22197
22198 * loader/i386/pc/multiboot2.c: Removed stalled file.
22199
0b8a223c
VS
222002010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
22201
22202 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
22203 Reported by: Grégoire Sutre
22204
92ab12b0
RM
222052010-01-11 Robert Millan <rmh.grub@aybabtu.com>
22206
22207 * util/misc.c (canonicalize_file_name): New function.
22208 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
22209 instead of realpath().
22210
a788afb6
CW
222112010-01-11 Colin Watson <cjwatson@ubuntu.com>
22212
22213 * util/grub-install.in (usage): Clarify meaning of --root-directory,
22214 and make it clearer that it's optional. Based on confusion
22215 witnessed on IRC.
22216
ffa8e3d2
VS
222172010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
22218
22219 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
22220 in premature implicit newline.
22221
e9060a9d
VS
222222010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
22223
22224 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
22225 which resulted in garbled command line at the end of screen.
22226
f0d0c0b7
RM
222272010-01-10 Robert Millan <rmh.grub@aybabtu.com>
22228
22229 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
22230 initialization with similar approach as with other Linux loaders.
22231
0e60bae7
RM
222322010-01-10 Robert Millan <rmh.grub@aybabtu.com>
22233
22234 Fix i386-ieee1275 build.
22235
22236 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
22237 and grub_term_height() for video_{width,height} initialization.
22238
222392010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
22240
22241 Fix grub-emu build.
22242
22243 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
22244
cdb3f378
RM
222452010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
222462010-01-09 Robert Millan <rmh.grub@aybabtu.com>
22247
22248 Support for multiple terminals.
22249
22250 * Makefile.in (pkglib_DATA): terminal.lst.
22251 (terminal.lst): New target.
22252 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
22253 (GRUB_MOD_INIT(handler)): Likewise.
22254 (GRUB_MOD_FINI(handler)): Likewise.
22255 * commands/help.c (grub_cmd_help): Handle multiple terminals.
22256 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
22257 * commands/sleep.c (do_print): Use grub_term_restore_pos.
22258 (grub_cmd_sleep): Use grub_term_save_pos.
22259 * commands/terminal.c: New file.
22260 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
22261 commands/terminal.c and lib/charset.c.
22262 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
22263 (pkglib_MODULES): Add terminal.mod.
22264 (terminal_mod_SOURCES): New variable.
22265 (terminal_mod_CFLAGS): Likewise.
22266 (terminal_mod_LDFLAGS): Likewise.
22267 * genhandlerlist.sh: Don't handle terminals.
22268 * genmk.rb: Generate terminal-*.lst.
22269 * genterminallist.sh: New file.
22270 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
22271 (grub_is_valid_utf8): Likewise.
22272 (grub_utf8_to_ucs4_alloc): Likewise.
22273 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
22274 (grub_menu_register_viewer): Changed argument.
22275 (grub_menu_try_text): New proto.
22276 (grub_gfxmenu_try_hook): New declaration.
22277 * include/grub/normal.h (grub_normal_exit_level): New declaration.
22278 (grub_menu_init_page): Additional argument term.
22279 (grub_normal_init_page): Likewise.
22280 (grub_cmdline_get): Arguments simplified.
22281 (grub_utf8_to_ucs4_alloc): Removed.
22282 (grub_print_ucs4): Additional argument term.
22283 (grub_getstringwidth): Likewise.
22284 (grub_print_message_indented): Likewise.
22285 (grub_menu_text_register_instances): New proto.
22286 (grub_show_menu): Likewise.
22287 (read_terminal_list): Likewise.
22288 (grub_set_more): Likewise.
22289 * include/grub/parser.h: Include handler.h.
22290 * include/grub/reader.h: Rewritten.
22291 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
22292 (GRUB_TERM_WIDTH): Changed to function.
22293 (GRUB_TERM_HEIGHT): Likewise.
22294 (GRUB_TERM_BORDER_WIDTH): Likewise.
22295 (GRUB_TERM_BORDER_HEIGHT): Likewise.
22296 (GRUB_TERM_NUM_ENTRIES): Likewise.
22297 (GRUB_TERM_ENTRY_WIDTH): Likewise.
22298 (GRUB_TERM_CURSOR_X): Likewise.
22299 (grub_term_input_class): Likewise.
22300 (grub_term_output_class): Likewise.
22301 (grub_term_outputs_disabled): New declaration.
22302 (grub_term_inputs_disabled): Likewise.
22303 (grub_term_outputs): Likewise.
22304 (grub_term_inputs): Likewise.
22305 (grub_term_register_input): Rewritten.
22306 (grub_term_register_output): Likewise.
22307 (grub_term_unregister_input): Likewise.
22308 (grub_term_unregister_output): Likewise.
22309 (FOR_ACTIVE_TERM_INPUTS): New macro.
22310 (FOR_DISABLED_TERM_INPUTS): Likewise.
22311 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
22312 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
22313 * include/grub/terminfo.h: Add oterm argument to all protypes.
22314 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
22315 Use grub_rescue_run.
22316 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
22317 All users updated.
22318 * kern/reader.c: Removed. All users updated.
22319 * kern/rescue_reader.c (grub_rescue_init): Removed.
22320 (grub_rescue_reader): Likewise.
22321 (grub_register_rescue_reader): Likewise.
22322 (grub_rescue_run): New function based on kern/reader.c.
22323 * kern/term.c: Adapted for multiterm.
22324 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
22325 (grub_is_valid_utf8): Likewise.
22326 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
22327 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
22328 right terminal.
22329 * loader/i386/linux.c (grub_linux_boot): Likewise.
22330 * normal/auth.c (grub_username_get): New function.
22331 (grub_auth_check_authentication): Use grub_username_get.
22332 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
22333 * normal/color.c: Adapt for multiterm.
22334 * normal/main.c (read_config_file): Don't use grub_reader_loop.
22335 (grub_normal_init_page): Additional argument term.
22336 (read_lists): Call read_terminal_lists.
22337 (grub_enter_normal_mode): Call grub_cmdline_run.
22338 Handle grub_normal_exit_level.
22339 (grub_cmd_normal): Make reentrant.
22340 (grub_cmd_normal_exit): New function.
22341 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
22342 * normal/menu.c: Adapt for multiterm.
22343 * normal/menu_entry.c: Likewise.
22344 * normal/menu_text.c: Likewise.
22345 * normal/menu_viewer.c: Removed. All users updated.
22346 * normal/term.c: New file.
22347 * util/console.c: Change order of includes to workaround a bug in
22348 ncurses headers.
22349 * term/terminfo.c: New argument oterm on all exported functions.
22350 All users updated.
22351 * util/grub-editenv.c (grub_term_input_class): Removed.
22352 (grub_term_output_class): Likewise.
22353
1a064917
RM
223542010-01-09 Robert Millan <rmh.grub@aybabtu.com>
22355
22356 Make loader output a bit more user-friendly.
22357
22358 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
22359 is being loaded. Likewise for the Hurd.
22360
22361 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
22362 that kernel of FreeBSD ${version} is being loaded.
22363
22364 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
22365 grub_dprintf().
22366 (grub_cmd_initrd): Likewise.
22367 * util/grub.d/10_linux.in (linux_entry): Print message indicating
22368 that Linux ${version} is being loaded. Likewise for initrd.
22369
5ce0a83a 223702010-01-09 Carles Pina i Estany <carles@pina.cat>
22371
22372 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
22373
809bbfeb 223742010-01-08 Carles Pina i Estany <carles@pina.cat>
22375
22376 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
22377 (GRUB_MOD_INIT): Gettextizze.
22378 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
22379 (GRUB_MOD_INIT): Gettextizze.
22380 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
22381 (grub_cmd_linux): Capitalise Linux.
22382 (GRUB_MOD_INIT): Gettextizze.
22383 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
22384 (grub_cmd_linux): Capitalise Linux.
22385 (GRUB_MOD_INIT): Gettextizze.
22386 * loader/i386/linux.c: Include `<grub/i18n.h>'.
22387 (grub_cmd_linux): Capitalise Linux.
22388 (GRUB_MOD_INIT): Gettextizze.
22389 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
22390 (GRUB_MOD_INIT): Gettextizze.
22391 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
22392 (grub_cmd_linux): Capitalise Linux.
22393 (GRUB_MOD_INIT): Gettextizze.
22394 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
22395 (grub_cpu_xnu_init): Gettextizze.
22396 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
22397 (GRUB_MOD_INIT): Gettextizze.
22398 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
22399 (GRUB_MOD_INIT): Gettextizze.
22400 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
22401 (grub_linux_load64): Capitalise Linux.
22402 (GRUB_MOD_INIT): Gettextizze.
22403 * loader/xnu.c: Include `<grub/i18n.h>'.
22404 (GRUB_MOD_INIT): Gettextizze.
22405 * po/POTFILES: Add `loader/efi/appleloader.c',
22406 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
22407 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
22408 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
22409 `loader/i386/xnu.c', `loader/multiboot_loader.c',
22410 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
22411 and `loader/xnu.c'.
22412
b394b2ca
RM
224132010-01-08 Robert Millan <rmh.grub@aybabtu.com>
22414
22415 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
22416
224172010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
22418
22419 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
22420 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
22421 * util/mkisofs/mkisofs.c (main): Readjust --version output.
22422
bc8b32b3
RM
224232010-01-07 Robert Millan <rmh.grub@aybabtu.com>
22424
22425 Reset Multiboot 2 support. New loader implements the draft in
22426 /branches/multiboot2 and shares as much code as possible with the
22427 production Multiboot 1 implementation.
22428
22429 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
22430 * loader/multiboot2.c: Likewise.
22431 * loader/i386/multiboot_helper.S: Likewise.
22432 * include/multiboot2.h: Replace with latest version from the draft
22433 in /branches/multiboot2.
22434
22435 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
22436 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
22437 and `loader/multiboot2.c'.
22438 (pkglib_MODULES): Add `multiboot2.mod'.
22439 (multiboot2_mod_SOURCES): New variable.
22440 (multiboot2_mod_LDFLAGS): Likewise.
22441 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
22442
22443 * conf/i386-pc.rmk: Likewise.
22444
22445 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
22446 (multiboot_mod_SOURCES): Remove variable.
22447 (multiboot_mod_LDFLAGS): Likewise.
22448 (multiboot_mod_CFLAGS): Likewise.
22449
22450 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
22451 `<multiboot2.h>' instead of `<multiboot.h>'.
22452 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
22453 (MULTIBOOT_HEADER_MAGIC): New macros.
22454
22455 * loader/multiboot_loader.c (module_version_status): Remove variable.
22456 (find_multi_boot2_header): Remove function.
22457 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
22458 logic. Always check for the Multiboot version we're compiling for.
22459 (grub_cmd_module_loader): Likewise.
22460 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
22461 command instead of `multiboot'.
22462
5d2c52b8
RM
224632010-01-07 Robert Millan <rmh.grub@aybabtu.com>
22464
22465 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
22466 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
22467 all users.
22468
53108d92
RM
224692010-01-07 Robert Millan <rmh.grub@aybabtu.com>
224702010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
22471
22472 Fix breakage introduced with previous commit.
22473
22474 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
22475 commands.
22476 * normal/handler.c (read_handler_list): Revert part of previous commit
22477 affecting this file.
22478 * normal/main.c (read_lists): Move read_handler_list() call back to ...
22479 (grub_normal_execute): ... here.
22480
e2e936b2
RM
224812010-01-07 Robert Millan <rmh.grub@aybabtu.com>
22482
22483 Merge prefix-redefinition-fix branch.
22484
22485 * normal/autofs.c (read_fs_list): Make function capable of being
22486 run multiple times, gracefuly replacing the previous data
22487 structures.
22488 * normal/dyncmd.c (read_command_list): Likewise.
22489 * normal/handler.c (read_handler_list): Likewise.
22490 * normal/main.c (read_lists): New function. Calls all the
22491 list reading functions.
22492 (grub_normal_execute): Use read_lists() instead of calling all
22493 list reading functions explicitly. Register read_lists() as a
22494 variable hook attached to ${prefix}.
22495
607a3701
VS
224962010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
22497
22498 Merge crypto branch.
22499
22500 * Makefile.in (pkglib_DATA): Add crypto.lst.
22501 (crypto.lst): New target.
22502 * commands/hashsum.c: New file.
22503 * commands/password.c (check_password): Use grub_crypto_memcmp.
22504 * commands/password_pbkdf2.c: New file.
22505 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
22506 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
22507 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
22508 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
22509 -I$(srcdir)/lib/libgcrypt_wrap.
22510 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
22511 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
22512 password_pbkdf2.mod.
22513 (crypto_mod_SOURCES): New variable.
22514 (crypto_mod_CFLAGS): Likewise.
22515 (crypto_mod_LDFLAGS): Likewise.
22516 (hashsum_mod_SOURCES): New variable.
22517 (hashsum_mod_CFLAGS): Likewise.
22518 (hashsum_mod_LDFLAGS): Likewise.
22519 (pbkdf2_mod_SOURCES): New variable.
22520 (pbkdf2_mod_CFLAGS): Likewise.
22521 (pbkdf2_mod_LDFLAGS): Likewise.
22522 (password_pbkdf2_mod_SOURCES): New variable.
22523 (password_pbkdf2_mod_CFLAGS): Likewise.
22524 (password_pbkdf2_mod_LDFLAGS): Likewise.
22525 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
22526 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
22527 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
22528 Include conf/gcry.rmk.
22529 * include/grub/auth.h: Rewritten.
22530 * include/grub/crypto.h: New file.
22531 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
22532 * include/grub/normal.h (read_crypto_list): New prototype.
22533 * lib/crypto.c: New file.
22534 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
22535 * lib/pbkdf2.c: Likewise.
22536 * normal/auth.c (grub_auth_strcmp): Removed.
22537 (grub_iswordseparator): Likewise.
22538 (grub_auth_strword): Likewise.
22539 (is_authenticated): Use grub_strword.
22540 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
22541 and grub_strword. Pass entered password to authentication callback.
22542 * normal/crypto.c: New file.
22543 * normal/main.c: Call read_crypto_list.
22544 * util/grub-mkpasswd-pbkdf2.c: New file.
22545 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
22546
42841caa
VS
225472010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
22548
22549 Fix descent and ascent calculation.
22550
22551 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
22552 (options): New option "asce".
22553 (usage): Likewise.
22554 (add_char): Ignore invalid glyphs for descent calculation.
22555 Calculate ascent from actual content.
22556 (print_glyphs): Use 'asce'.
22557 (write_font): Likewise. Allow ascent override.
22558 (main): Handle "asce" option.
22559
e7730de7 225602010-01-06 Carles Pina i Estany <carles@pina.cat>
22561
22562 * kern/err.c: Include `<grub/i18n.h>'.
22563 (grub_print_error): Add full stop. Gettextizze.
22564 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
22565 (grub_bsd_load_elf): Capitalise ELF.
22566 (grub_cmd_freebsd_loadenv): Add `s' in error string.
22567 (grub_cmd_freebsd_module): Likewise.
22568 (grub_cmd_freebsd_module_elf): Likewise.
22569 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
22570
40e3a41f 225712010-01-06 Carles Pina i Estany <carles@pina.cat>
22572
22573 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
22574 * commands/search_file.c (HELP_MESSAGE): New macro.
22575 * commands/search_label.c (HELP_MESSAGE): Likewise.
22576 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
22577 * po/POTFILES: Add `commands/search_file.c',
22578 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
22579 `commands/search.c'.
22580
83507e68
RM
225812010-01-05 Robert Millan <rmh.grub@aybabtu.com>
22582
22583 * config.rpath: Update from Gnulib.
22584
465c787b
YB
225852010-01-05 Yves Blusseau <blusseau@zetam.org>
22586
22587 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
22588
6581dd3a
YB
225892010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
22590
22591 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
22592
3bff18c5
CW
225932010-01-05 Colin Watson <cjwatson@ubuntu.com>
22594
22595 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
22596 arguments to fread so that we get a return value in bytes, rather
22597 than something that will normally be rounded down to 0.
22598 Adjust error handling to avoid producing garbage when size_t is not
22599 the same size as long long.
22600
a1368118
CW
226012010-01-05 Colin Watson <cjwatson@ubuntu.com>
22602
22603 * util/mkisofs/write.c (padblock_write): Check return value of
22604 fread.
22605
7c302978
RM
226062010-01-05 Robert Millan <rmh.grub@aybabtu.com>
22607
22608 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
22609 floppy images now.
22610
22611 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
22612
e33ace06
RM
226132010-01-04 Robert Millan <rmh.grub@aybabtu.com>
22614
22615 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
22616 instead of manual alignment.
22617 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
22618 verbose). Avoid attempts to read past end of the device
22619 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
22620 but GRUB_DISK_CACHE_SIZE may exceed that).
22621
4b856776
RM
226222010-01-04 Robert Millan <rmh.grub@aybabtu.com>
22623
22624 * commands/crc.c (grub_cmd_crc): Abort on read errors.
22625 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
22626 it to upper layer.
22627
52c2d97f
VS
226282010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
22629
22630 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
22631 New constant.
22632 (grub_efi_piwg_device_path): New structure
22633 (grub_efi_piwg_device_path_t): New type.
22634 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
22635 (devpath_1): Transform to a structure. All users updated.
22636 (devpath_2): Likewise.
22637 (devpath_3): Likewise.
22638 (devpath_4): Likewise.
22639 (devpath_5): Likewise.
22640
98ff6a54
VS
226412010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
22642
22643 * loader/efi/appleloader.c: Restored. Update all users.
22644
3a73dcb6
RM
226452010-01-03 Robert Millan <rmh.grub@aybabtu.com>
22646
22647 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
22648
22649 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
22650 (struct boot_blocklist): Move from here ...
22651 * include/grub/i386/pc/boot.h [ASM_FILE]
22652 (struct grub_boot_blocklist): ... to here. Update all users.
22653 (setup): Only initialize `start' member of `first_block'
22654 structure. Add assert() calls to verify the other members.
22655
22656 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
22657 (generate_image): Fix broken blocklist length initialization.
22658 Add assert() call to verify blocklist `segment' field.
22659
ab0eeb0c
RM
226602010-01-03 Robert Millan <rmh.grub@aybabtu.com>
22661
22662 * loader/efi/appleloader.c: Remove. Update all users.
22663
58bc8bd5
RM
226642010-01-03 Robert Millan <rmh.grub@aybabtu.com>
22665
22666 * boot/i386/pc/boot.S: Update copyright year.
22667 * boot/i386/pc/cdboot.S: Likewise.
22668 * boot/i386/pc/diskboot.S: Likewise.
22669 * boot/i386/pc/lnxboot.S: Likewise.
22670 * boot/i386/pc/pxeboot.S: Likewise.
22671 * bus/pci.c: Likewise.
22672 * commands/cmp.c: Likewise.
22673 * commands/help.c: Likewise.
22674 * commands/hexdump.c: Likewise.
22675 * commands/i386/pc/halt.c: Likewise.
22676 * commands/i386/pc/play.c: Likewise.
22677 * commands/i386/pc/vbeinfo.c: Likewise.
22678 * commands/ls.c: Likewise.
22679 * commands/test.c: Likewise.
22680 * disk/dmraid_nvidia.c: Likewise.
22681 * disk/i386/pc/biosdisk.c: Likewise.
22682 * disk/ieee1275/nand.c: Likewise.
22683 * disk/ieee1275/ofdisk.c: Likewise.
22684 * disk/lvm.c: Likewise.
22685 * disk/raid.c: Likewise.
22686 * disk/raid6_recover.c: Likewise.
22687 * disk/scsi.c: Likewise.
22688 * fs/affs.c: Likewise.
22689 * fs/cpio.c: Likewise.
22690 * fs/ext2.c: Likewise.
22691 * fs/hfs.c: Likewise.
22692 * fs/iso9660.c: Likewise.
22693 * fs/ntfs.c: Likewise.
22694 * fs/sfs.c: Likewise.
22695 * fs/udf.c: Likewise.
22696 * fs/ufs.c: Likewise.
22697 * fs/xfs.c: Likewise.
22698 * gencmdlist.sh: Likewise.
22699 * genmk.rb: Likewise.
22700 * include/grub/disk.h: Likewise.
22701 * include/grub/efi/api.h: Likewise.
22702 * include/grub/efi/efi.h: Likewise.
22703 * include/grub/efi/pe32.h: Likewise.
22704 * include/grub/elf.h: Likewise.
22705 * include/grub/fs.h: Likewise.
22706 * include/grub/i386/at_keyboard.h: Likewise.
22707 * include/grub/i386/pc/memory.h: Likewise.
22708 * include/grub/i386/pc/vbe.h: Likewise.
22709 * include/grub/i386/pci.h: Likewise.
22710 * include/grub/i386/tsc.h: Likewise.
22711 * include/grub/ieee1275/ieee1275.h: Likewise.
22712 * include/grub/ntfs.h: Likewise.
22713 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
22714 * include/grub/sparc64/libgcc.h: Likewise.
22715 * include/grub/symbol.h: Likewise.
22716 * include/grub/types.h: Likewise.
22717 * include/multiboot2.h: Likewise.
22718 * io/gzio.c: Likewise.
22719 * kern/device.c: Likewise.
22720 * kern/disk.c: Likewise.
22721 * kern/efi/efi.c: Likewise.
22722 * kern/efi/mm.c: Likewise.
22723 * kern/elf.c: Likewise.
22724 * kern/file.c: Likewise.
22725 * kern/i386/dl.c: Likewise.
22726 * kern/i386/pc/init.c: Likewise.
22727 * kern/i386/pc/startup.S: Likewise.
22728 * kern/ieee1275/ieee1275.c: Likewise.
22729 * kern/ieee1275/init.c: Likewise.
22730 * kern/main.c: Likewise.
22731 * kern/mm.c: Likewise.
22732 * kern/powerpc/dl.c: Likewise.
22733 * kern/sparc64/dl.c: Likewise.
22734 * kern/x86_64/dl.c: Likewise.
22735 * lib/hexdump.c: Likewise.
22736 * loader/efi/appleloader.c: Likewise.
22737 * loader/i386/ieee1275/linux.c: Likewise.
22738 * loader/i386/pc/chainloader.c: Likewise.
22739 * loader/i386/pc/linux.c: Likewise.
22740 * loader/i386/pc/multiboot2.c: Likewise.
22741 * loader/ieee1275/multiboot2.c: Likewise.
22742 * loader/multiboot2.c: Likewise.
22743 * loader/multiboot_loader.c: Likewise.
22744 * loader/powerpc/ieee1275/linux.c: Likewise.
22745 * normal/completion.c: Likewise.
22746 * normal/menu_entry.c: Likewise.
22747 * partmap/apple.c: Likewise.
22748 * util/grub.d/10_hurd.in: Likewise.
22749 * util/hostfs.c: Likewise.
22750 * video/readers/png.c: Likewise.
22751
e2d70b5c
CW
227522010-01-03 Colin Watson <cjwatson@ubuntu.com>
22753
22754 * include/grub/misc.h (GNUC_PREREQ): New macro.
22755 (ATTRIBUTE_ERROR): New macro.
22756 * include/grub/list.h (grub_bad_type_cast_real): Use
22757 ATTRIBUTE_ERROR.
22758
a173283f 227592010-01-03 Carles Pina i Estany <carles@pina.cat>
22760
22761 * normal/menu_text.c (print_message): Change messages.
22762
7fa7ff74 227632010-01-03 Carles Pina i Estany <carles@pina.cat>
22764
22765 * normal/menu_entry.c (store_completion): Gettextizze.
22766
136d24f6 227672010-01-03 Carles Pina i Estany <carles@pina.cat>
22768
22769 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
22770
f936862e 227712010-01-03 Carles Pina i Estany <carles@pina.cat>
22772
22773 * po/POTFILES: Sort correctly.
22774
29c44ad1 227752010-01-03 Carles Pina i Estany <carles@pina.cat>
22776
22777 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
22778 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
22779 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
22780 full stop.
22781 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
22782 summary. Gettextizze the strings.
22783 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
22784 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
22785 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
22786 full stop.
22787 (GRUB_MOD_INIT): Remove command name from summary.
22788 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
22789 summary.
22790 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
22791 * term/i386/pc/serial.c (options): Add full stops.
22792 (GRUB_MOD_INIT): Remove command name from the summary.
22793
77a79592 227942010-01-03 Carles Pina i Estany <carles@pina.cat>
22795
22796 * commands/acpi.c: Gettextizze help strings and/or options. Include
22797 `grub/i18n.h' if needed.
22798 * commands/blocklist.c: Likewise.
22799 * commands/boot.c: Likewise.
22800 * commands/cat.c: Likewise.
22801 * commands/cmp.c: Likewise.
22802 * commands/configfile.c: Likewise.
22803 * commands/crc.c: Likewise.
22804 * commands/date.c: Likewise.
22805 * commands/echo.c: Likewise.
22806 * commands/efi/fixvideo.c: Likewise.
22807 * commands/efi/loadbios.c: Likewise.
22808 * commands/gptsync.c: Likewise.
22809 * commands/halt.c: Likewise.
22810 * commands/handler.c: Likewise.
22811 * commands/hdparm.c: Likewise.
22812 * commands/hexdump.c: Likewise.
22813 * commands/i386/cpuid.c: Likewise.
22814 * commands/i386/pc/drivemap.c: Likewise.
22815 * commands/i386/pc/halt.c: Likewise.
22816 * commands/i386/pc/pxecmd.c: Likewise.
22817 * commands/i386/pc/vbeinfo.c: Likewise.
22818 * commands/i386/pc/vbetest.c: Likewise.
22819 * commands/ieee1275/suspend.c: Likewise.
22820 * commands/keystatus.c: Likewise.
22821 * commands/loadenv.c: Likewise.
22822 * commands/ls.c: Likewise.
22823 * commands/lsmmap.c: Likewise.
22824 * commands/lspci.c: Likewise.
22825 * commands/memrw.c: Likewise.
22826 * commands/minicmd.c: Likewise.
22827 * commands/parttool.c: Likewise.
22828 * commands/password.c: Likewise.
22829 * commands/probe.c: Likewise.
22830 * commands/read.c: Likewise.
22831 * commands/reboot.c: Likewise.
22832 * commands/search.c: Likewise.
22833 * commands/sleep.c: Likewise.
22834 * commands/test.c: Likewise.
22835 * commands/true.c: Likewise.
22836 * commands/usbtest.c: Likewise.
22837 * commands/videotest.c: Likewise.
22838 * commands/xnu_uuid.c: Likewise.
22839 * disk/loopback.c: Likewise.
22840 * hello/hello.c: Likewise.
22841 * loader/i386/bsd.c: Likewise.
22842 * term/i386/pc/serial.c: Likewise.
22843 * po/POTFILES: Add new files.
22844
da8d5c53
CW
228452010-01-02 Colin Watson <cjwatson@ubuntu.com>
22846
22847 * term/i386/pc/at_keyboard.c
22848 (keyboard_controller_wait_untill_ready): Rename to ...
22849 (keyboard_controller_wait_until_ready): ... this. Update all users.
22850
33937904 228512010-01-01 Carles Pina i Estany <carles@pina.cat>
22852
22853 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
22854 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
22855 string using string width.
22856 * normal/menu_text.c (grub_print_message_indented): Use
22857 grub_print_spaces and not print_spaces.
22858 (print_timeout): Likewise.
22859 (print_spaces): Move to...
22860 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
22861
3fd3b8d8
RM
228622010-01-01 Robert Millan <rmh.grub@aybabtu.com>
22863
22864 Import from Gnulib.
22865
22866 * gnulib/getdelim.c: New file.
22867 * gnulib/getline.c: Likewise.
22868
33433555
VS
228692009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
22870
22871 * include/grub/list.h (grub_assert_fail): Removed.
22872 (grub_bad_type_cast_real): New function.
22873 (grub_bad_type_cast): New macro.
22874 (GRUB_AS_LIST): Use grub_bad_type_cast.
22875 (GRUB_AS_LIST_P): Likewise.
e44721e8 22876 (GRUB_AS_NAMED_LIST): Likewise.
33433555 22877 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 22878 (GRUB_AS_PRIO_LIST): Likewise.
33433555 22879 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 22880 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 22881
f5a51306
VS
228822009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
22883
22884 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
22885 Fix syntax error.
22886
90d1e879
RM
228872009-12-29 Robert Millan <rmh.grub@aybabtu.com>
22888
22889 * configure.ac: Check for TARGET_CFLAGS initialization before we
22890 initialize it ourselves (sigh).
22891 Move a few modifications to TARGET_CFLAGS to be unconditional
22892 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
22893 eh_frame)
22894
22895 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
22896 * term/i386/pc/at_keyboard.c
22897 (keyboard_controller_wait_untill_ready): Likewise.
22898 (keyboard_controller_led): Rename `led_status' paramter to avoid
22899 name conflict.
22900
465b5a81 229012009-12-28 Carles Pina i Estany <carles@pina.cat>
22902
22903 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
22904 quotes.
22905
c181849b
VS
229062009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22907
22908 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
22909
9c8739a4
VS
229102009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22911
22912 * normal/menu_text.c (grub_print_message_indented): Prevent
22913 past-the-end-of-array dereference.
22914
3e74249c
VS
229152009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
22916
22917 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
22918 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
22919
64fd18ed 229202009-12-27 Carles Pina i Estany <carles@pina.cat>
22921
22922 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
22923 * normal/main.c (grub_normal_read_line): Remove a space from the
22924 default prompt.
22925
714af9b9 229262009-12-27 Carles Pina i Estany <carles@pina.cat>
22927
22928 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
22929 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22930 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
22931 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
22932 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22933 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22934 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22935
82f3e412 229362009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 22937
22938 * video/readers/jpeg.c (cmd): Declare.
22939 (grub_cmd_jpegtest): Use `grub_command_t' type.
22940 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22941 Assign to `cmd'.
22942 (GRUB_MOD_FINI): Use `cmd' to unregister.
22943 * video/readers/png.c (cmd): Declare.
22944 (grub_cmd_pngtest): Use `grub_command_t' type.
22945 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22946 Assign to `cmd'.
22947 (GRUB_MOD_FINI): Use `cmd' to unregister.
22948 * video/readers/tga.c (cmd): Declare.
22949 (grub_cmd_tgatest): Use `grub_command_t' type.
22950 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
22951 Assign to `cmd'.
22952 (GRUB_MOD_FINI): Use `cmd' to unregister.
22953
82f3e412 229542009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 22955
22956 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
22957 stops.
22958 * kern/corecmd.c (grub_register_core_commands): Likewise.
22959 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
22960 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
22961 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
22962 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22963 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
22964 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
22965 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
22966 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
22967 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22968 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
22969 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
22970 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
22971 * normal/handler.c (insert_handler): Likewise.
22972 * normal/main.c (GRUB_MOD_INIT): Likewise.
22973 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
22974
fdcdbb66 229752009-12-26 Carles Pina i Estany <carles@pina.cat>
22976
22977 * commands/help.c (grub_cmd_help): Print the command name before the
22978 summary.
22979 (GRUB_MOD_INIT): Remove command name from the summary.
22980 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 22981 string as summary.
fdcdbb66 22982 * lib/arg.c (find_long): Print the command name before the summary.
22983 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
22984 summary.
22985 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
22986 * commands/cat.c (GRUB_MOD_INIT): Likewise.
22987 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
22988 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
22989 * commands/crc.c (GRUB_MOD_INIT): Likewise.
22990 * commands/date.c (GRUB_MOD_INIT): Likewise.
22991 * commands/echo.c (GRUB_MOD_INIT): Likewise.
22992 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
22993 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
22994 * commands/handler.c (GRUB_MOD_INIT): Likewise.
22995 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
22996 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
22997 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
22998 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
22999 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
23000 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
23001 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
23002 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
23003 * commands/ls.c (GRUB_MOD_INIT): Likewise.
23004 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
23005 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
23006 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
23007 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
23008 * commands/password.c (GRUB_MOD_INIT): Likewise.
23009 * commands/probe.c (GRUB_MOD_INIT): Likewise.
23010 * commands/read.c (GRUB_MOD_INIT): Likewise.
23011 * commands/search.c (GRUB_MOD_INIT): Likewise.
23012 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
23013 * commands/test.c (GRUB_MOD_INIT): Likewise.
23014 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
23015 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
23016 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
23017 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
23018 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
23019 * lib/arg.c (GRUB_MOD_INIT): Likewise.
23020 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
23021 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
23022 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23023 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23024 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
23025 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
23026 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
23027 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
23028
9c288be2
VS
230292009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23030
23031 Use search command for preliminar UUID search.
23032
23033 * commands/search.c: Split into ...
23034 * commands/search_wrap.c: ...this
23035 * commands/search.c: ...and this.
23036 * commands/search_file.c: New file.
23037 * commands/search_label.c: New file.
23038 * commands/search_uuid.c: New file.
23039 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
23040 Add commands/search_wrap.c, commands/search_file.c,
23041 commands/search_label.c and commands/search_uuid.c.
23042 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
23043 (search_mod_SOURCES): Set to commands/search_wrap.c.
23044 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
23045 search_label.mod.
23046 (search_fs_file_mod_SOURCES): New variable.
23047 (search_fs_file_mod_CFLAGS): Likewise.
23048 (search_fs_file_mod_LDFLAGS): Likewise.
23049 (search_label_mod_SOURCES): Likewise.
23050 (search_label_mod_CFLAGS): Likewise.
23051 (search_label_mod_LDFLAGS): Likewise.
23052 (search_fs_uuid_mod_SOURCES): New variable.
23053 (search_fs_uuid_mod_CFLAGS): Likewise.
23054 (search_fs_uuid_mod_LDFLAGS): Likewise.
23055 (fs_file_mod_SOURCES): Removed.
23056 (fs_file_mod_CFLAGS): Likewise.
23057 (fs_file_mod_LDFLAGS): Likewise.
23058 (fs_uuid_mod_SOURCES): Removed.
23059 (fs_uuid_mod_CFLAGS): Likewise.
23060 (fs_uuid_mod_LDFLAGS): Likewise.
23061 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
23062 Set to util/grub-install.in.
23063 * disk/fs_file.c: Removed.
23064 * disk/fs_uuid.c: Likewise.
23065 * include/grub/search.h: New file.
23066 * util/grub-install.in: Handle sparc64.
23067 Create and use load.cfg.
23068 * util/sparc64/ieee1275/grub-install.in: Removed.
23069
db943399
VS
230702009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23071
23072 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
23073 Ignore return status if CF is cleared.
23074 (grub_biosdisk_get_diskinfo_standard): Likewise.
23075
3fdae612
RM
230762009-12-25 Robert Millan <rmh.grub@aybabtu.com>
23077
23078 * term/i386/pc/at_keyboard.c
23079 (keyboard_controller_wait_untill_ready): New function.
23080 (grub_keyboard_controller_write, grub_keyboard_controller_read)
23081 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
23082 for keyboard polling, rather than duplicate the same loop. This
23083 saves a few bytes in code size.
23084
7ebaa2b4
VS
230852009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23086
23087 Support for (pxe[:server[:gateway]]) syntax and
23088 use environment variable for PXE.
23089
23090 * commands/i386/pc/pxecmd.c (options): Removed.
23091 (print_ip): Removed.
23092 (grub_cmd_pxe): Removed
23093 (grub_cmd_pxe_unload): New function.
23094 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
23095 (grub_pxe_your_ip): Made static.
23096 (grub_pxe_default_server_ip): Likewise.
23097 (grub_pxe_default_gateway_ip): Likewise.
23098 (grub_pxe_blksize): Likewise.
23099 (parse_ip): New function.
23100 (grub_pxe_open): Support server and gateway specification.
23101 (grub_pxe_close): Free disk->data.
23102 (grub_pxefs_open): Use disk->data.
23103 (grub_pxefs_read): Likewise.
23104 (grub_env_write_readonly): New function.
23105 (set_mac_env): Likewise.
23106 (set_env_limn_ro): Likewise.
23107 (parse_dhcp_vendor): Likewise.
23108 (grub_pxe_detect): Set the environment variables.
23109 (set_ip_env): New function.
23110 (write_ip_env): Likewise.
23111 (grub_env_write_pxe_default_server): Likewise.
23112 (grub_env_write_pxe_default_gateway): Likewise.
23113 (grub_env_write_pxe_blocksize): Likewise.
23114 (GRUB_MOD_INIT(pxe)): Set environment variables.
23115 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
23116 (grub_pxe_mac_addr_t): ... this. All users updated.
23117 (grub_pxe_your_ip): Removed.
23118 (grub_pxe_server_ip): Likewise.
23119 (grub_pxe_gateway_ip): Likewise.
23120 (grub_pxe_blksize): Likewise.
23121
ec5f98ab 231222009-12-25 Carles Pina i Estany <carles@pina.cat>
23123
23124 * commands/help.c: Include `<grub/i18n.h>'.
23125 (grub_cmd_help): Gettextizze.
23126 (GRUB_MOD_INIT): Likewise.
23127 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
23128 (GRUB_MOD_INIT): Gettextizze.
23129 * commands/search.c: Include `<grub/i18n.h>'.
23130 (options): Gettextizze.
23131 (GRUB_MOD_INIT): Gettextizze.
23132 * lib/arg.c: Include `<grub/i18n.h>'.
23133 (help_options): Gettextizze.
23134 (find_long): Likewise.
23135 (grub_arg_show_help): Likewise.
23136 * normal/dyncmd.c: Include `<grub/i18n.h>'.
23137 (read_command_list): Gettextizze.
23138 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 23139 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 23140
22815526
RM
231412009-12-25 Robert Millan <rmh.grub@aybabtu.com>
23142
23143 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
23144 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
23145 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
23146 (led_status): New variable.
23147 (keyboard_controller_led): New function.
23148 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
23149 update led status for caps lock, num lock and scroll lock.
23150
0ad46fd7
FZ
231512009-12-25 Felix Zielcke <fzielcke@z-51.de>
23152
23153 * util/hostdisk.c (open_device): Fix a comment.
23154
d0e158c2
RM
231552009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23156
23157 * util/grub-install.in (host_os): New variable.
23158 * util/i386/efi/grub-install.in (host_os): Likewise.
23159
401c0ad6
RM
231602009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23161
23162 * util/mkisofs/write.c (padblock_write): Abort when given an
23163 excedingly large embed image, instead of silently truncating it.
23164
d14d3370
RM
231652009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23166
23167 * include/multiboot.h: Indentation fixes.
23168
eeed10b4
RM
231692009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23170
23171 * include/multiboot.h (struct multiboot_aout_symbol_table)
23172 (struct multiboot_elf_section_header_table): New structure
23173 declarations (stolen from GRUB Legacy).
23174 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
23175 table information.
23176
23177 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
23178 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
23179 type aliases.
23180
681c70ab
RM
231812009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23182
23183 * include/multiboot.h: Make comments src2texi-friendly.
23184
e4d47d8d
RM
231852009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23186
23187 For consistency with [multiboot]/docs/boot.S.
23188
23189 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
23190 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
23191 (MULTIBOOT_MAGIC2): Rename from this ...
23192 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
23193
a0b70bda
RM
231942009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23195
23196 * include/multiboot.h: Remove `<grub/types.h>'.
23197 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
23198 types. Update all users.
23199
61ba42be 232002009-12-25 Carles Pina i Estany <carles@pina.cat>
23201
23202 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
23203 `couldn't' and `can not' by `cannot'.
23204 * commands/i386/pc/drivemap.c: Likewise.
23205 * disk/ata.c: Likewise.
23206 * disk/ieee1275/nand.c: Likewise.
23207 * fs/affs.c: Likewise.
23208 * fs/fat.c: Likewise.
23209 * fs/hfs.c: Likewise.
23210 * fs/hfsplus.c: Likewise.
23211 * fs/iso9660.c: Likewise.
23212 * fs/jfs.c: Likewise.
23213 * fs/minix.c: Likewise.
23214 * fs/reiserfs.c: Likewise.
23215 * fs/sfs.c: Likewise.
23216 * fs/udf.c: Likewise.
23217 * fs/ufs.c: Likewise.
23218 * fs/xfs.c: Likewise.
23219 * loader/powerpc/ieee1275/linux.c: Likewise.
23220 * loader/sparc64/ieee1275/linux.c: Likewise.
23221 * util/grub-probe.c: Likewise.
23222 * util/misc.c: Likewise.
23223
7fd0baee 232242009-12-24 Carles Pina i Estany <carles@pina.cat>
23225
23226 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
23227 grub_errno calls.
23228 * commands/acpi.c: Likewise.
23229 * commands/blocklist.c: Likewise.
23230 * commands/efi/loadbios.c: Likewise.
23231 * commands/i386/pc/drivemap.c: Likewise.
23232 * commands/loadenv.c: Likewise.
23233 * commands/memrw.c: Likewise.
23234 * commands/password.c: Likewise.
23235 * commands/videotest.c: Likewise.
23236 * disk/ata.c: Likewise.
23237 * disk/ata_pthru.c: Likewise.
23238 * disk/dmraid_nvidia.c: Likewise.
23239 * disk/ieee1275/nand.c: Likewise.
23240 * disk/ieee1275/ofdisk.c: Likewise.
23241 * disk/loopback.c: Likewise.
23242 * disk/lvm.c: Likewise.
23243 * disk/mdraid_linux.c: Likewise.
23244 * disk/raid.c: Likewise.
23245 * disk/raid6_recover.c: Likewise.
23246 * disk/scsi.c: Likewise.
23247 * efiemu/main.c: Likewise.
23248 * efiemu/mm.c: Likewise.
23249 * efiemu/pnvram.c: Likewise.
23250 * efiemu/symbols.c: Likewise.
23251 * font/font.c: Likewise.
23252 * fs/cpio.c: Likewise.
23253 * fs/hfsplus.c: Likewise.
23254 * fs/iso9660.c: Likewise.
23255 * fs/jfs.c: Likewise.
23256 * fs/minix.c: Likewise.
23257 * fs/ntfs.c: Likewise.
23258 * fs/ntfscomp.c: Likewise.
23259 * fs/reiserfs.c: Likewise.
23260 * fs/ufs.c: Likewise.
23261 * fs/xfs.c: Likewise.
23262 * gettext/gettext.c: Likewise.
23263 * include/grub/auth.h: Likewise.
23264 * kern/elf.c: Likewise.
23265 * kern/file.c: Likewise.
23266 * kern/ieee1275/init.c: Likewise.
23267 * kern/ieee1275/mmap.c: Likewise.
23268 * kern/ieee1275/openfw.c: Likewise.
23269 * kern/powerpc/dl.c: Likewise.
23270 * kern/sparc64/dl.c: Likewise.
23271 * lib/arg.c: Likewise.
23272 * loader/i386/bsd.c: Likewise.
23273 * loader/i386/bsdXX.c: Likewise.
23274 * loader/i386/efi/linux.c: Likewise.
23275 * loader/i386/efi/xnu.c: Likewise.
23276 * loader/i386/ieee1275/linux.c: Likewise.
23277 * loader/i386/linux.c: Likewise.
23278 * loader/i386/multiboot.c: Likewise.
23279 * loader/i386/pc/linux.c: Likewise.
23280 * loader/i386/pc/multiboot2.c: Likewise.
23281 * loader/i386/xnu.c: Likewise.
23282 * loader/ieee1275/multiboot2.c: Likewise.
23283 * loader/macho.c: Likewise.
23284 * loader/machoXX.c: Likewise.
23285 * loader/multiboot2.c: Likewise.
23286 * loader/multiboot_loader.c: Likewise.
23287 * loader/powerpc/ieee1275/linux.c: Likewise.
23288 * loader/sparc64/ieee1275/linux.c: Likewise.
23289 * loader/xnu.c: Likewise.
23290 * loader/xnu_resume.c: Likewise.
23291 * mmap/i386/pc/mmap.c: Likewise.
23292 * normal/menu_viewer.c: Likewise.
23293 * partmap/acorn.c: Likewise.
23294 * partmap/amiga.c: Likewise.
23295 * partmap/apple.c: Likewise.
23296 * script/lexer.c: Likewise.
23297 * term/gfxterm.c: Likewise.
23298 * term/i386/pc/serial.c: Likewise.
23299 * term/i386/pc/vga.c: Likewise.
23300 * term/ieee1275/ofconsole.c: Likewise.
23301 * term/terminfo.c: Likewise.
23302 * video/bitmap.c: Likewise.
23303 * video/efi_gop.c: Likewise.
23304 * video/efi_uga.c: Likewise.
23305 * video/fb/video_fb.c: Likewise.
23306 * video/i386/pc/vbe.c: Likewise.
23307 * video/readers/tga.c: Likewise.
23308 * video/video.c: Likewise.
23309
0ad46fd7 233102009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
23311
23312 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
23313 * commands/lspci.c: Likewise.
23314 * commands/probe.c: Likewise.
23315 * commands/xnu_uuid.c: Likewise.
23316 * conf/i386-coreboot.rmk: Likewise.
23317 * conf/i386-efi.rmk: Likewise.
23318 * conf/i386-ieee1275.rmk: Likewise.
23319 * conf/i386-pc.rmk: Likewise.
23320 * conf/powerpc-ieee1275.rmk: Likewise.
23321 * conf/sparc64-ieee1275.rmk: Likewise.
23322 * conf/x86_64-efi.rmk: Likewise.
23323 * fs/i386/pc/pxe.c: Likewise.
23324 * gettext/gettext.c: Likewise.
23325 * include/grub/efi/graphics_output.h: Likewise.
23326 * include/grub/i386/pc/memory.h: Likewise.
23327 * kern/env.c: Likewise.
23328 * kern/i386/qemu/startup.S: Likewise.
23329 * lib/i386/pc/biosnum.c: Likewise.
23330 * lib/i386/relocator.c: Likewise.
23331 * lib/i386/relocator_asm.S: Likewise.
23332 * lib/relocator.c: Likewise.
23333 * loader/i386/bsd.c: Likewise.
23334 * loader/i386/multiboot.c: Likewise.
23335 * loader/i386/pc/chainloader.c: Likewise.
23336 * loader/i386/xnu.c: Likewise.
23337 * loader/xnu.c: Likewise.
23338 * normal/main.c: Likewise.
23339 * normal/menu_text.c: Likewise.
23340 * util/getroot.c: Likewise.
23341 * util/grub-mkconfig_lib.in: Likewise.
23342 * util/grub.d/00_header.in: Likewise.
23343 * util/i386/pc/grub-mkimage.c: Likewise.
23344 * util/mkisofs/eltorito.c: Likewise.
23345 * util/mkisofs/exclude.h: Likewise.
23346 * util/mkisofs/hash.c: Likewise.
23347 * util/mkisofs/iso9660.h: Likewise.
23348 * util/mkisofs/joliet.c: Likewise.
23349 * util/mkisofs/mkisofs.c: Likewise.
23350 * util/mkisofs/mkisofs.h: Likewise.
23351 * util/mkisofs/multi.c: Likewise.
23352 * util/mkisofs/name.c: Likewise.
23353 * util/mkisofs/rock.c: Likewise.
23354 * util/mkisofs/tree.c: Likewise.
23355 * util/mkisofs/write.c: Likewise.
23356 * video/efi_gop.c: Likewise.
23357
009ec743
VS
233582009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
23359
23360 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
23361 size counting.
23362
0ad46fd7 233632009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
23364
23365 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
23366 * genmk.rb (class SCRIPT): Modify the target file instead of source.
23367
d3d30ea0
VS
233682009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
23369
23370 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
23371 (GRUB_MOD_INIT(memrw)): Update help line.
23372
a34f5c70
VS
233732009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
23374
23375 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
23376 Use grub_extcmd_t. All users updated.
23377 (options): New variable.
23378 (grub_cmd_read): Restructure for readability. Support "-v" option.
23379 (grub_cmd_write): Restructure for readability.
23380
0ad46fd7 233812009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
23382
23383 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
23384
0ad46fd7 233852009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
23386
23387 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
23388 with the actual contents of the correspondending make variable.
23389 * util/grub-mkrescue.in (pkglib_DATA): New variable.
23390 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
23391 specifying `*.lst' and `efiemu??.o'
23392
0ad46fd7 233932009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
23394
23395 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
23396 after function name.
23397 Noticed by Rene Engelhard <rene@debian.org>.
23398
dc77a799
VS
233992009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
23400
23401 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
23402 (options): New variable.
23403 (iospace): Likewise.
23404 (grub_lspci_iter): List IO spaces if "-i" was given.
23405 (grub_cmd_lspci): Parse options.
23406 (GRUB_MOD_INIT(lspci)): Use extcmd.
23407 (GRUB_MOD_FINI(lspci)): Likewise.
23408
0ad46fd7 234092009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
23410
23411 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
23412 `function' keyword.
23413 Patch by Tony Mancill <tmancill@debian.org>.
23414
b5d5993b
VS
234152009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
23416
23417 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
23418 (grub_uhci_portstatus): Likewise.
23419 (grub_uhci_portstatus): Add necessary delay.
11d18281 23420 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 23421
941903f2 234222009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 23423
941903f2 23424 * commands/acpi.c (options): Fix capitalizations and/or full stops.
23425 (GRUB_MOD_INIT): Likewise.
23426 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 23427 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
23428 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 23429 * commands/efi/loadbios.c (enable_rom_area): Likewise.
23430 (enable_rom_area): Likewise.
23431 (GRUB_MOD_INIT): Likewise.
23432 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
23433 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
23434 * commands/handler.c (GRUB_MOD_INIT): Likewise.
23435 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
23436 * commands/hexdump.c (options): Likewise.
23437 * commands/i386/cpuid.c (options): Likewise.
23438 (GRUB_MOD_INIT): Likewise.
23439 * commands/i386/pc/drivemap.c (options): Likewise.
23440 (GRUB_MOD_INIT): Likewise.
23441 * commands/i386/pc/halt (options): Likewise.
23442 (GRUB_MOD_INIT): Likewise.
23443 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
23444 * commands/i386/pc/pxecmd.c (options): Likewise.
23445 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
23446 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
23447 * commands/keystatus.c (options): Likewise.
23448 (GRUB_MOD_INIT): Likewise.
23449 * commands/loadenv.c (options): Likewise.
23450 * commands/ls.c (options): Likewise.
23451 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
23452 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
23453 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
23454 * commands/parttool.c (helpmsg): Likewise.
23455 * commands/probe.c (options): Likewise.
23456 * commands/read.c (GRUB_MOD_INIT): Likewise.
23457 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
23458 * commands/search.c (options): Likewise.
23459 * commands/sleep.c (options): Likewise.
23460 * commands/test.c (GRUB_MOD_INIT): Likewise.
23461 * commands/true.c (GRUB_MOD_INIT): Likewise.
23462 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
23463 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
23464 * lib/arg.c (help_options): Likewise.
e9bbb4e7 23465 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
23466 `$(XGETTEXT)'.
98a50553 23467 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 23468
0ad46fd7 234692009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 23470
ef3c2c3a 23471 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
23472 instead of specifying them explicit.
23473
7922f68b
RM
234742009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23475
23476 * NEWS: Add grub-probe support for GNU/Hurd.
23477
537ce47f
RM
234782009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23479
23480 * NEWS: gettext was added after 1.97.
23481
9b214e3a
RM
234822009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23483
23484 * util/mkisofs/msdos_partition.h: New file (based on
23485 include/grub/msdos_partition.h).
23486 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
23487 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
23488 (ld_options, main): Recognize --protective-msdos-label.
23489 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
23490 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
23491 (padblock_write): If `use_protective_msdos_label' is set, patch a
23492 protective DOS-style label in the output image.
23493
23494 * util/grub-mkrescue.in: Use --protective-msdos-label.
23495
e9309813
RM
234962009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23497
23498 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
23499 boot.
23500
0ae56929
RM
235012009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23502
23503 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
23504 variables.
23505 (ld_options, main): Recognize `--embedded-boot'.
23506 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
23507 declarations.
23508 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
23509 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
23510 (padblock_write): Likewise. Rewrite to support embedded boot image.
23511
23512 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
23513 for BIOS-based disk boot instead of only ElTorito.
23514
b15937b1
RM
235152009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23516
23517 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
23518 build (not needed for bootstrap).
23519
52cc3ce0
RM
235202009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23521
23522 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
23523 from i386-pc build (not needed for bootstrap).
23524 Rewrite a pair of strings.
23525
36f5ff04
RM
235262009-12-21 Robert Millan <rmh.grub@aybabtu.com>
23527
23528 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
23529
973c6c85 235302009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
23531
23532 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
23533
05d21547
AB
235342009-12-21 Andreas Born <futur.andy@googlemail.com>
23535
23536 * kern/env.c (grub_env_context_open): Mark exported variable for
23537 reexport.
23538
0175d51f
AB
235392009-12-21 Andreas Born <futur.andy@googlemail.com>
23540
23541 * kern/env.c (grub_env_export): Create nonexistent variables before
23542 exporting.
23543
7f39d92f 235442009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 23545
7f39d92f 23546 * include/grub/auth.h: Include `<grub/i18n.h>'.
23547 (GRUB_GET_PASSWORD): Gettextizze string.
23548 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
23549 menu_text.c.
23550 (grub_utf8_to_ucs4_alloc): Fix indentation.
23551 (grub_print_ucs4): Likewise.
23552 (grub_getstringwidth): Likewise.
23553 (print_message_indented): New declaration.
23554 * normal/auth.c: Include `<grub/i18n.h>'.
23555 (grub_auth_check_authentication): Gettexttize string.
23556 * normal/cmdline.c: Include `<grub/i18n.h>'.
23557 (grub_cmdline_get): Gettextizze.
23558 * normal/color.c: Include `<grub/i18n.h>'.
23559 (grub_parse_color_name_pair): Gettexttize strings.
23560 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
23561 string (use `print_message_indented').
23562 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
23563 `include/grub/normal.h'.
23564 (print_message_indented): Renamed to ...
23565 (grub_print_message_indented): ... this. Remove `static' qualifer (now
23566 used in normal/main.c).
23567 (print_message): Use `grub_print_message_indented' instead of
23568 `print_message_indented'.
23569 (print_timeout): Likewise.
23570 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
23571 (grub_normal_print_device_info): Gettexttize strings.
23572 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
23573
3041d898
VS
235742009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
23575
23576 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
23577 of arguments. Return number of tokens and not arguments. All users
23578 updated.
23579
de15bf8e
VS
235802009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
23581
23582 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
23583 non-MSDOS paritions.
23584
e0a6ca52
VS
235852009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
23586
23587 * include/grub/types.h (UNUSED): Removed since it conflicts with
23588 NetBSD headers. All users changed to direct __attribute__ ((unused)).
23589 Reported by Grégoire Sutre.
23590
b99518d1 235912009-12-19 Carles Pina i Estany <carles@pina.cat>
23592
23593 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
23594 (grub_print_ucs4_alloc): Likewise.
23595 (grub_getstringwidth): Likewise.
23596 * normal/main.c (grub_normal_init_page): Gettextize version string.
23597 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
23598 (getstringwidth): Renamed to ...
23599 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
23600 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
23601 (grub_print_ucs4): Remove `static' qualifer (now used in
23602 normal/main.c).
23603 * po/POTFILES: Add normal/main.c.
23604
bfd5e52b 236052009-12-19 Carles Pina i Estany <carles@pina.cat>
23606
23607 * normal/menu_text.c (STANDARD_MARGIN): New macro.
23608 (print_message_indented): Add `margin_left' and `margin_right'
23609 parameters.
23610 (print_message): Update `print_message_indented' calls. Adds '\n' to the
23611 strings.
23612 (print_timeout): Use `print_message_indented' to print the message.
23613 Deletes `second_stage' parameter.
23614 (run_menu): Update `print_timeout' calls.
23615
5a1ad2b9
VS
236162009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
23617
23618 Fix console palette on OpenFirmware.
23619
23620 * term/ieee1275/ofconsole.c (MAX): Removed.
23621 (colors): Redone based on VGA palette.
23622 (grub_ofconsole_setcolor): Discard brightness bit since only 8
23623 colors are supported.
23624 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
23625
b045f00a
VS
236262009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
23627
23628 Fix potential EfiEmu double prepare.
23629
23630 * efiemu/main.c (prepared): New variable
23631 (grub_efiemu_unload): Set prepare to '0'.
23632 (grub_efiemu_prepare): Return if already prepared. Set prepared.
23633
23634 set_virtual_address_map support.
23635
23636 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
23637 prototype.
23638 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
23639 prototype.
23640 (grub_efiemu_crc32): Likewise.
23641 (grub_efiemu_crc64): Likewise.
23642 (grub_efiemu_set_virtual_address_map): Likewise.
23643 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
23644 New definition.
23645 (grub_autoefi_set_virtual_address_map): Likewise.
23646 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
23647 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
23648 Restructure flow to accomodate it.
23649 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
23650 (grub_efiemu_crc): Recompute CRC32.
23651 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
23652 (efiemu_ptv_relocated): ... this. Made global. All users updated.
23653 * efiemu/symbols.c (relocated_handle): New variable.
23654 (grub_efiemu_free_syms): Free relocated_handle.
23655 (grub_efiemu_alloc_syms): Allocate relocated_handle.
23656 (grub_efiemu_write_sym_markers): New function.
23657 (grub_efiemu_set_virtual_address_map): Likewise.
23658
23659 Newer XNU parameters.
23660
23661 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
23662 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
23663 (grub_xnu_fill_devicetree): New prototype.
23664 (grub_xnu_heap_real_start): New variable.
23665 * loader/xnu.c (get_name_ptr): New function.
23666 (grub_xnu_load_driver): Fill namelen and name.
23667
23668 64-bit xnu support.
23669
23670 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
23671 and 'loader/macho64.c'.
23672 * conf/i386-pc.rmk: Likewise.
23673 * conf/x86_64-efi.rmk: Likewise.
23674 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
23675 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
23676 * include/grub/macho.h (grub_macho_segment64): New structure.
23677 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
23678 (grub_macho_size32): ... to this.
23679 (grub_macho32_get_entry_point): Renamed from ...
23680 (grub_macho_get_entry_point32): ... to this.
23681 (grub_macho_contains_macho64): New prototype.
23682 (grub_macho_size64): Likewise.
23683 (grub_macho_get_entry_point64): Likewise.
23684 (grub_macho32_load): Renamed from ...
23685 (grub_macho_load32): ... to this.
23686 (grub_macho32_filesize): Renamed from ...
23687 (grub_macho_filesize32): ... to this.
23688 (grub_macho32_readfile): Renamed from ...
23689 (grub_macho_readfile32): ... to this.
23690 (grub_macho_filesize64): New prototype.
23691 (grub_macho_readfile64): Likewise.
23692 (grub_macho_parse32): Likewise.
23693 (grub_macho_parse64): Likewise.
23694 * loader/macho.c: Split into ...
23695 * loader/machoXX.c: ... and this. Replace 32 with XX.
23696 * loader/macho32.c: New file.
23697 * loader/macho64.c: Likewise.
23698 * loader/xnu.c (grub_xnu_is_64bit): New variable.
23699 (grub_cmd_xnu_kernel): Make 32-bit only.
23700 (grub_cmd_xnu_kernel64): New function.
23701 (grub_xnu_load_driver): Support Mach-O 64.
23702 (grub_cmd_xnu_mkext): Likewise.
23703 * util/grub.d/30_os-prober.in (osx_entry): New function.
23704 Generate entries for 64-bit boot too.
23705
23706 Eliminate ad-hoc tree format in XNU and EfiEmu.
23707
23708 * efiemu/main.c (grub_efiemu_prepare): Update comment.
23709 * efiemu/pnvram.c: Rewritten to use environment variables.
23710 All users updated.
23711
23712 Inline utf16_to_utf8.
23713
23714 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
23715 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
23716 All users updated.
23717 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
23718
23719 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
23720 * commands/usbtest.c (grub_usb_get_string): ... move here.
23721 (usb_print_str): Fix error handling.
23722 * include/grub/usb.h (grub_usb_get_string): Remove.
23723
23724 UTF-8 to UTF-16 transformation.
23725
23726 * conf/common.rmk (pkglib_MODULES): Add charset.mod
23727 (charset_mod_SOURCES): New variable.
23728 (charset_mod_CFLAGS): Likewise.
23729 (charset_mod_LDFLAGS): Likewise.
23730 * include/grub/utf.h: New file.
23731 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
23732
23733 Support for device properties.
23734
23735 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
23736 (grub_xnu_devprop_device_header): Likewise.
23737 (grub_xnu_devprop_device_descriptor): Likewise.
23738 (grub_xnu_devprop_add_device): New prototype.
23739 (grub_xnu_devprop_remove_device): Likewise.
23740 (grub_xnu_devprop_remove_property): Likewise.
23741 (grub_xnu_devprop_add_property_utf8): Likewise.
23742 (grub_xnu_devprop_add_property_utf16): Likewise.
23743 (grub_cpu_xnu_init): Likewise.
23744 (grub_cpu_xnu_fini): Likewise.
23745 (grub_cpu_xnu_unload): Likewise.
23746 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
23747 (property_descriptor): Likewise.
23748 (devices): New variable.
23749 (grub_xnu_devprop_remove_property): New function.
23750 (grub_xnu_devprop_add_device): Likewise.
23751 (grub_xnu_devprop_remove_device): Likewise.
23752 (grub_xnu_devprop_add_property): Likewise.
23753 (grub_xnu_devprop_add_property_utf8): Likewise.
23754 (grub_xnu_devprop_add_property_utf16): Likewise.
23755 (hextoval): Likewise.
23756 (grub_cpu_xnu_fill_devprop): Likewise.
23757 (grub_cmd_devprop_load): Likewise.
23758 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
23759 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
23760 (cmd_devprop_load): New variable.
23761 (grub_cpu_xnu_init): New function.
23762 (grub_cpu_xnu_fini): Likewise.
23763 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
23764 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
23765 (grub_cmd_xnu_devtree): Likewise.
23766 (hextoval): New function.
23767 (unescape): Likewise.
23768 (grub_xnu_fill_devicetree): Likewise.
23769
23770 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
23771 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
23772
0945f181
VS
237732009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
23774
23775 Workaround for broken ATI VBE.
23776
23777 * video/i386/pc/vbe.c (last_set_mode): New variable.
23778 (grub_vbe_set_video_mode): Set 'last_set_mode'.
23779 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
23780 (grub_video_vbe_setup): Don't check for reserved flag.
23781
0ad46fd7 237822009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
23783
23784 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
23785 the `find' command.
23786
c179ebe4
VS
237872009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
23788
23789 UUID support for HFS.
23790
23791 * fs/hfs.c (grub_hfs_uuid): New function.
23792 (grub_hfs_fs): New value .uuid.
23793 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
23794
0ad46fd7 237952009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
23796
23797 Fix a segfault with parsing unknown long options.
23798
23799 * util/grub-mkrelpath.c (options): Zero terminate it.
23800
c4a3e41a
CPE
238012009-12-13 Carles Pina i Estany <carles@pina.cat>
23802
23803 * include/grub/misc.h (grub_puts): New declaration.
23804 (grub_puts_): Likewise.
a22008a6 23805 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
23806 (grub_puts_): Likewise.
23807
2e8a7602
RM
238082009-12-13 Robert Millan <rmh.grub@aybabtu.com>
23809
23810 * util/grub-probe.c (probe): Improve error message.
23811
b50b77b9
RM
238122009-12-13 Robert Millan <rmh.grub@aybabtu.com>
23813
23814 * loader/i386/multiboot_elfxx.c
23815 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
23816 initialization.
23817
238182009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
23819
23820 Relocator framework
23821
23822 * loader/i386/xnu_helper.S: Removed. All users updated.
23823 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
23824 (relocator_mod_SOURCES): New variable.
23825 (relocator_mod_CFLAGS): Likewise.
23826 (relocator_mod_LDFLAGS): Likewise.
23827 (relocator_mod_ASFLAGS): Likewise.
23828 * conf/x86_64.rmk: Likewise.
23829 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
23830 (grub_multiboot_payload_entry_offset): Likewise.
23831 (grub_multiboot_forward_relocator): Likewise.
23832 (grub_multiboot_forward_relocator_end): Likewise.
23833 (grub_multiboot_backward_relocator): Likewise.
23834 (grub_multiboot_backward_relocator_end): Likewise.
23835 (grub_multiboot_payload_eip): New variable.
23836 (grub_multiboot_payload_orig): Likewise.
23837 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
23838 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
23839 * include/grub/i386/memory.h
23840 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
23841 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
23842 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
23843 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
23844 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
23845 * include/grub/i386/relocator.h: New file.
23846 * include/grub/x86_64/relocator.h: Likewise.
23847 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
23848 (XNU_RELOCATOR): New macro.
23849 (grub_xnu_launcher_start): Remove.
23850 (grub_xnu_launcher_end): Likewise.
23851 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
23852 (grub_xnu_heap_real_start): Remove.
23853 (grub_xnu_heap_start): Change to void *. All users updated.
23854 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
23855 * lib/i386/relocator.c: New file.
23856 * lib/i386/relocator_asm.S: Likewise.
23857 * lib/i386/relocator_backward.S: Likewise.
23858 * lib/mips/relocator.c: Likewise.
23859 * lib/mips/relocator_asm.S: Likewise.
23860 * lib/relocator.c: Likewise.
23861 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
23862 (entry): Removed.
23863 (playground): Likewise.
23864 (grub_multiboot_payload_orig): New variable.
23865 (grub_multiboot_payload_dest): Likewise.
23866 (grub_multiboot_payload_size): Likewise.
23867 (grub_multiboot_payload_eip): Likewise.
23868 (grub_multiboot_payload_esp): Likewise.
23869 (grub_multiboot_boot): Use grub_relocator32_boot.
23870 (grub_multiboot_unload): Free relocators.
23871 (grub_multiboot): Setup stack. Use relocators.
23872 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
23873 (grub_multiboot_load_elfXX): Use relocators.
23874 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
23875 (grub_multiboot_payload_size): Likewise.
23876 (grub_multiboot_payload_dest): Likewise.
23877 (grub_multiboot_payload_entry_offset): Likewise.
23878 (grub_multiboot_forward_relocator): Likewise.
23879 (grub_multiboot_backward_relocator): Likewise.
23880 (grub_multiboot_real_boot): Likewise.
23881 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
23882 (grub_xnu_entry_point): Likewise.
23883 (grub_xnu_arg1): Likewise.
23884 (grub_xnu_stack): Likewise.
23885 (grub_xnu_launch): Removed.
23886 (grub_xnu_boot_resume): New function.
23887 (grub_xnu_boot): Use relocators.
23888 * loader/i386/xnu_helper.S: Removed.
23889 * loader/xnu.c (grub_xnu_heap_start): New variable.
23890 (grub_xnu_heap_size): Likewise.
23891 (grub_xnu_heap_malloc): Use relocators.
23892 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
23893
29eb90c6
VS
238942009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
23895
23896 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
23897 anything.
23898
31027430
CPE
238992009-12-13 Carles Pina i Estany <carles@pina.cat>
23900
23901 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
23902 GRUB_ERR_NONE before calling grub_env_set.
23903
dc0c71d9
RM
239042009-12-12 Robert Millan <rmh@aybabtu.com>
23905
23906 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
23907 * genmk.rb (video): New variable.
23908 (CLEANFILES, VIDEOFILES): Add #{video}.
23909 (#{video}): New target rule.
23910 * genvideolist.sh: New file.
23911 * Makefile.in (pkglib_DATA): Add video.lst.
23912 (video.lst): New target rule.
23913 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
23914 `video.lst'.
23915 * util/grub.d/30_os-prober.in: Replace `vbe' with
23916 ${GRUB_VIDEO_BACKEND}.
23917
2a4bfcf0
RM
239182009-12-11 Robert Millan <rmh.grub@aybabtu.com>
23919
23920 * THANKS: Add David Miller.
23921
2a3aa4d5
RM
239222009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
23923
23924 libpciaccess support.
23925
23926 * Makefile.in (LIBPCIACCESS): New variable.
23927 (enable_grub_emu_pci): Likewise.
23928 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
23929 util/pci.c and commands/lspci.c.
23930 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
23931 * configure.ac (grub-emu-pci): New option.
23932 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
23933 (grub_pci_device_unmap_range): Likewise.
23934 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
23935 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
23936 (grub_pci_address_t) [!GRUB_UTIL]: New type.
23937 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
23938 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
23939 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
23940 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
23941 * include/grub/pciutils.h: New file.
23942 * util/pci.c: Likewise.
23943
0ad46fd7 239442009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
23945
23946 * util/misc.c: Don't include <errno.h> twice.
23947
0ad46fd7 239482009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
23949
23950 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
23951 name in an error message.
23952 (grub_biosdisk_rw): Likewise.
23953
2e59983c
VS
239542009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23955
23956 Eliminate NTFS 4Gib barrier.
23957
23958 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
23959 (read_run_data): Likewise.
23960 (grub_ntfs_read_run_list): Likewise.
23961 (grub_ntfs_read_block): Likewise.
23962 (grub_ntfs_iterate_dir): Likewise.
23963 (read_mft): Likewise.
23964 (read_data): Likewise.
23965 Use COM_LOG_LEN.
23966 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
23967 to avoid 64-bit division
23968 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
23969 (grub_ntfs_rlst): Use grub_disk_addr_t.
23970
71ee178a
VS
239712009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23972
23973 Eliminate grub-fstest 4Gib barrier.
23974
23975 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
23976 (read_file): Fix error reporting.
23977
2520d4b8
VS
239782009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23979
23980 Eliminate hexdump 4Gib barrier.
23981
23982 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
23983 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
23984
e1f27065
VS
239852009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
23986
23987 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
23988 Fixes amarsh bug.
23989
1a0f7f45
RM
239902009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
23991
23992 Remove miscellaneous files in distclean target.
23993
23994 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
23995
c631d9fb
CW
239962009-12-09 Colin Watson <cjwatson@ubuntu.com>
23997
23998 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
23999 if they're already set. This resolves the conflict between my
24000 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
24001 fixing the --grub-probe option again.
24002 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
24003 change on 2009-10-06, so that we now once again source
24004 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
24005
7c7b6106
RM
240062009-12-08 Robert Millan <rmh.grub@aybabtu.com>
24007
24008 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
24009 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
24010 `util/devicemap.c'.
24011
e3069ec1
CPE
240122009-12-08 Carles Pina i Estany <carles@pina.cat>
24013
24014 * include/grub/misc.h (grub_printf_): New declaration.
24015 * kern/misc.c (grub_printf_): New definition.
24016 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
24017 instead of `grub_printf' and `_'.
24018 * normal/menu_entry.c (store_completion): Likewise.
24019 (run): Likewise.
24020 (grub_menu_entry_run): Likewise.
24021 * normal/menu_text.c (grub_wait_after_message): Likewise.
24022 (notify_booting): Likewise.
24023 (notify_fallback): Likewise.
24024 (notify_execution_failure): Likewise.
24025
d6ceebf1
CW
240262009-12-07 Colin Watson <cjwatson@ubuntu.com>
24027
24028 * configure.ac: Check for vasprintf.
24029 * util/misc.c (asprintf): Move allocation from here ...
24030 (vasprintf): ... to here. New function.
24031 (xasprintf): New function.
24032 * include/grub/util/misc.h (vasprintf, xasprintf): Add
24033 prototypes.
24034 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
24035 * util/grub-mkfont.c (write_font): Likewise.
24036 * util/grub-probe.c (probe): Likewise.
24037 * util/hostdisk.c (make_device_name): Likewise.
24038
de6daa8b
DM
240392009-12-06 David S. Miller <davem@sunset.davemloft.net>
24040
24041 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
24042 anything even prefixed with 'cdrom' as a cdrom.
24043
0ad46fd7 240442009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
24045
24046 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
24047 mount points.
24048
98d3dc02
CPE
240492009-12-05 Carles Pina i Estany <carles@pina.cat>
24050
24051 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
24052 grub_gettext_msg_list.
24053 (grub_gettext_gettranslation_from_position): Return const char *
24054 and not char *.
a2c1332b 24055 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
24056 returns from the list if existing there.
24057 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
24058 (grub_gettext_delete_list): Delete the list.
24059 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
24060 lang environment variable is changed.
24061 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
24062
b283f108
VS
240632009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
24064
24065 Rename kernel.mod to kernel.img.
24066
24067 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
24068 (kernel_mod_EXPORTS): Rename to ...
24069 (kernel_img_EXPORTS): ... this.
24070 (kernel_mod_SOURCES): Rename to ...
24071 (kernel_img_SOURCES): ... this.
24072 (kernel_mod_HEADERS): Rename to ...
24073 (kernel_img_HEADERS): ... this. All users updated.
24074 (kernel_mod_CFLAGS): Rename to ...
24075 (kernel_img_CFLAGS): ... this.
24076 (kernel_mod_ASFLAGS): Rename to ...
24077 (kernel_img_ASFLAGS): ... this.
24078 (kernel_mod_LDFLAGS): Rename to ...
24079 (kernel_img_LDFLAGS): ... this.
24080 * conf/x86_64-efi.rmk: Likewise.
24081 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
24082 (read_kernel_image): ... this. All users updated.
24083 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
24084
69055f8a
CPE
240852009-12-05 Carles Pina i Estany <carles@pina.cat>
24086
24087 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
24088 (print_spaces): New function.
24089 (grub_print_ucs4): New function.
24090 (getstringwidth): New function.
24091 (print_message_indented): New function.
24092 (print_message): Gettexttize strings using print_message_indented.
24093 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
24094 width.
24095 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 24096 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
24097 Gettextize.
24098 * normal/menu_entry.c (store_completion): Cleanup the gettextized
24099 string.
24100 (run): Likewise.
24101 (grub_menu_entry_run): Likewise.
24102 * PO/POTFILES: Add normal/menu_entry.c.
24103
f616f51c
VS
241042009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
24105
24106 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
24107
57bbe3be
CPE
241082009-12-05 Carles Pina i Estany <carles@pina.cat>
24109
24110 * util/grub-install.in: Install gettext .mo files.
24111 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
24112
013d67a1
CPE
241132009-12-05 Carles Pina i Estany <carles@pina.cat>
24114
24115 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
24116 grub_dprintf.
24117
fb954db0
RM
241182009-12-05 Robert Millan <rmh.grub@aybabtu.com>
24119
24120 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
24121 non-firmware-dependant one in realmode.S takes precedence.
24122
6b8474f8
RM
241232009-12-04 Robert Millan <rmh.grub@aybabtu.com>
24124
24125 * commands/halt.c: Replace misc arch-specific headers with
24126 `<grub/misc.h>'.
24127 * commands/reboot.c: Likewise.
24128 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
24129 `<grub/misc.h>'.
24130 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
24131 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
24132 (kernel_img_SOURCES): ... to here.
24133
24134 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
24135 * include/grub/i386/pc/init.h: Likewise.
24136 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
24137 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24138
24139 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
24140
24141 * include/grub/i386/halt.h: Remove.
24142 * include/grub/i386/reboot.h: Likewise.
24143
24144 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
24145
4b2e6ca2
DM
241462009-12-03 David S. Miller <davem@sunset.davemloft.net>
24147
24148 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
24149 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
24150 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
24151 "progname.h"
24152 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
24153 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24154 (usage): Add missing comma in printf.
24155
5239348f
RM
241562009-12-02 Robert Millan <rmh.grub@aybabtu.com>
24157
24158 Use the same reboot approach on i386 coreboot and qemu as we do on
24159 BIOS.
24160
24161 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
24162 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
24163 * kern/i386/reboot.c: Remove.
24164 * include/grub/i386/reboot.h (grub_reboot): Export function.
24165 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
24166 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
24167 0xf000:0xfff0 instead of 0xffff:0x0000.
24168 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
24169 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
24170
ef34cbd4
RM
241712009-11-30 Robert Millan <rmh.grub@aybabtu.com>
24172
24173 Fix $srcdir != $objdir build.
24174
24175 * Makefile.in (po/%.po): Rewrite as ...
24176 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
24177
dc9837ea
ST
241782009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
24179
24180 Fix GNU/Hurd grub-install crash.
24181 * util/grub-probe.c (probe): Try to access `path' only when it is not
24182 NULL.
24183
2f857f98
VS
241842009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
24185
24186 Correct module naming.
24187
24188 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
24189 (GRUB_MOD_INIT(efi_uga)): ... to this
24190 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
24191 (GRUB_MOD_FINI(efi_uga)): ... to this
24192 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
24193 (GRUB_MOD_INIT(efi_gop)): ... to this
24194 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
24195 (GRUB_MOD_FINI(efi_gop)): ... to this
24196
c5448046
RM
241972009-11-28 Robert Millan <rmh.grub@aybabtu.com>
24198
24199 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
24200 translatable.
24201 (usage): Translate `arg' strings using gettext().
24202 Thanks to Jordi Mallach for the suggestion.
24203
c85184ad
VS
242042009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
24205
24206 GOP support. Based on patch from Bean
24207 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
24208
24209 * video/efi_gop.c: New file.
24210 * include/grub/efi/graphics_output.h: Likewise.
24211 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
24212 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
24213 variables.
24214 * conf/x86_64-efi.rmk: Likewise.
24215
8a4c48d8
VS
242162009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
24217
24218 Rename efi_fb to efi_uga.
24219
24220 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
24221 'efi_uga.mod'.
24222 (efi_fb_mod_SOURCES): Rename this ...
24223 (efi_uga_mod_SOURCES): ... to this.
24224 (efi_fb_mod_CFLAGS): Rename this ...
24225 (efi_uga_mod_CFLAGS): ... to this.
24226 (efi_fb_mod_LDFLAGS): Rename this ...
24227 (efi_uga_mod_LDFLAGS): ... to this.
24228 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
24229 'efi_uga.mod'.
24230 (efi_fb_mod_SOURCES): Rename this ...
24231 (efi_uga_mod_SOURCES): ... to this.
24232 (efi_fb_mod_CFLAGS): Rename this ...
24233 (efi_uga_mod_CFLAGS): ... to this.
24234 (efi_fb_mod_LDFLAGS): Rename this ...
24235 (efi_uga_mod_LDFLAGS): ... to this.
24236 * video/efi_fb.c: Move this ...
24237 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
24238
fb6c1a7b
RM
242392009-11-27 Robert Millan <rmh.grub@aybabtu.com>
24240
24241 * po/README: New file. Explain our PO file workflow.
24242
3bc7896c
RM
242432009-11-27 Robert Millan <rmh.grub@aybabtu.com>
24244
24245 * po/ChangeLog: Remove. Move relevant entries back to ...
24246 * ChangeLog: ... here.
24247 * po/ca.po: Remove (now handled by TLP).
24248 * po/id.po: Likewise.
24249 * po/zh_CN.po: Likewise.
24250 * Makefile.in (LINGUAS): Initialize in a way that supports
24251 empty set.
24252
9ed4841d
RM
242532009-11-27 Robert Millan <rmh.grub@aybabtu.com>
24254
24255 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
24256 reliing on po/LINGUAS.
24257 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
24258 (po/%.po): ... this.
24259
0ad46fd7 242602009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
24261
24262 * util/i386/efi/grub-mkimage.c: Include "progname.h".
24263 (main): Use `program_name' instead of nonexistent `progname'.
24264
e30dd392
FZ
242652009-11-26 Felix Zielcke <fzielcke@z-51.de>
24266
24267 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
24268 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
24269
7656de4f
RM
242702009-11-26 Robert Millan <rmh.grub@aybabtu.com>
24271
24272 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
24273 commit.
24274 * conf/i386-efi.rmk: Likewise.
24275 * conf/i386-ieee1275.rmk: Likewise.
24276 * conf/powerpc-ieee1275.rmk: Likewise.
24277 * conf/sparc64-ieee1275.rmk: Likewise.
24278 * conf/x86_64-efi.rmk: Likewise.
24279
db77c4d4
FZ
242802009-11-26 Felix Zielcke <fzielcke@z-51.de>
24281
24282 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
24283
a755bb04
FZ
242842009-11-26 Felix Zielcke <fzielcke@z-51.de>
24285
24286 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
24287
8a4c07fd
RM
242882009-11-26 Robert Millan <rmh.grub@aybabtu.com>
24289
24290 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
24291 (grub_mkdevicemap_SOURCES): New variable.
24292 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
24293 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
24294 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
24295 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
24296 (grub_mkdevicemap_SOURCES): Remove.
24297 * conf/i386-efi.rmk: Likewise.
24298 * conf/i386-ieee1275.rmk: Likewise.
24299 * conf/i386-pc.rmk: Likewise.
24300 * conf/powerpc-ieee1275.rmk: Likewise.
24301 * conf/sparc64-ieee1275.rmk: Likewise.
24302 * conf/x86_64-efi.rmk: Likewise.
24303 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
24304 (usage): Fix strings to use `program_name'.
24305 (main): Initialize gettext.
24306 * util/grub-editenv.c: Likewise.
24307 * util/grub-emu.c: Likewise.
24308 * util/grub-fstest.c: Likewise.
24309 * util/grub-mkdevicemap.c: Likewise.
24310 * util/grub-mkfont.c: Likewise.
24311 * util/grub-mkrelpath.c: Likewise.
24312 * util/grub-pe2elf.c: Likewise.
24313 * util/grub-probe.c: Likewise.
24314 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
24315 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
24316 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24317
24318 * util/misc.c: Include `"progname.h"'.
24319 (progname): Remove variable.
24320 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
24321
6f61ed55
FZ
243222009-11-25 Felix Zielcke <fzielcke@z-51.de>
24323
24324 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
24325 printf and print a newline after the menuentry header line.
24326 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24327
f022876b
FZ
243282009-11-25 Felix Zielcke <fzielcke@z-51.de>
24329
24330 autoconf >= 2.60 support $(localedir).
24331
24332 * INSTALL: Note that autoconf 2.60 is required.
24333 * configure.ac (AC_PREREQ): Bump to 2.60.
24334 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
24335 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
24336
6717926e
YB
243372009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
24338
24339 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
24340 aclocal is run.
24341
08806a54
RM
243422009-11-25 Robert Millan <rmh.grub@aybabtu.com>
24343
24344 * normal/main.c (grub_normal_read_line): Fix off-by-one
24345 buffer overflow.
24346
13b33fba
RM
243472009-11-25 Robert Millan <rmh.grub@aybabtu.com>
24348
24349 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
24350 "parser.grub" in grub_command_execute() call.
24351
4a8572e9
CPE
243522009-11-24 Carles Pina i Estany <carles@pina.cat>
24353
24354 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
24355 * conf/i386-efi.rmk: Likewise.
24356 * conf/i386-ieee1275.rmk: Likewise.
24357 * conf/i386-pc.rmk: Likewise.
24358 * conf/powerpc-ieee1275.rmk: Likewise.
24359 * conf/sparc64-ieee1275.rmk: Likewise.
24360 * conf/x86_64-efi.rmk: Likewise.
24361 * gettext/gettex.c: Include <grub/i18n.h>.
24362 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
24363 here ...
24364 * include/grub/i18n.h: ... to here
24365 * include/grub/i18n.h: ... to here.
24366 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 24367 (grub_gettext_dummy): Move above user.
4a8572e9 24368
bee48093
FZ
243692009-11-24 Felix Zielcke <fzielcke@z-51.de>
24370
24371 * util/Makefile.in (install-local): Convert a `for' into a normal
24372 shell expansion.
24373
a031e91c
RM
243742009-11-24 Robert Millan <rmh.grub@aybabtu.com>
24375
24376 * autogen.sh: Add automake call.
24377 * config.guess: Remove.
24378 * config.sub: Likewise.
24379 * install-sh: Likewise.
24380
26bec39d
FZ
243812009-11-24 Felix Zielcke <fzielcke@z-51.de>
24382
24383 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
24384
8e2532fd
FZ
243852009-11-24 Felix Zielcke <fzielcke@z-51.de>
24386
24387 * util/Makefile.in (install-local): Convert a make `$(foreach)'
24388 function to a normal shell `for'.
24389
fefa1b7d
FZ
243902009-11-24 Felix Zielcke <fzielcke@z-51.de>
24391
24392 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
24393
4501250b
FZ
243942009-11-24 Felix Zielcke <fzielcke@z-51.de>
24395
24396 * util/grub-mkrelpath.c: New file.
24397 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
24398 (grub_mkrelpath_SOURCES): New variable.
24399 * include/grub/util/misc.h: New function prototype.
24400 * util/misc.c (make_system_path_relative_to_its_root): New function.
24401
24402 * util/grub-mkconfig_lib.in (bindir): New variable.
24403 (grub_mkrelpath): Likewise.
24404 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
24405
24406 * util/probe.c (probe): Make the file path relative to its root.
24407 Change a info message to use the GRUB path. Enable again the
24408 check if we can read the file with GRUB facilities.
24409
24410 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
24411 to its root.
24412
11d9778b
FZ
244132009-11-24 Felix Zielcke <fzielcke@z-51.de>
24414
24415 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
24416 platform.
24417
4465287d
FZ
244182009-11-24 Felix Zielcke <fzielcke@z-51.de>
24419
24420 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
24421 strncmp().
24422
62b47f22
FZ
244232009-11-24 Felix Zielcke <fzielcke@z-51.de>
24424
24425 * util/getroot.c (grub_util_is_dmraid): New function.
24426 (grub_util_get_dev_abstraction): Treat dmraid and multipath
24427 devices as normal ones, not as LVM.
24428
1eafb9b9 244292009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
24430
24431 * conf/common.rmk: Add grub-gettext_lib target and updates
24432 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
24433 LDFLAGS.
24434 * gettext/gettext.c: New file. (Reads mo files).
24435 * include/grub/file.h (grub_file_pread): New prototype.
24436 * include/grub/i18n.h (_): New prototype.
24437 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
24438 prototypes.
24439 * kern/misc.c (grub_gettext_dummy): New function.
24440 * normal/menu_text.c: Include <grub/i18n.h>.
24441 * normal/menu_text.c (print_timeout): Gettexttize string.
24442 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
24443 * po/POTFILES: Add `normal/menu_text.c'.
24444 * po/ca.po: Add new translations.
c3ea6bd4
CPE
24445 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
24446 gettext module and defines locale_dir and lang in grub.cfg.
24447 * NEWS: Add gettext support.
24448
0fdb2568
RM
244492009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24450
24451 * util/hostdisk.c: Include `<grub/i18n.h>'.
24452 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
24453 (make_device_name): Rewrite using asprintf.
24454 (convert_system_partition_to_system_disk): Replace 0 with NULL.
24455 (find_system_device): If a device is not found, generate one just
24456 by reusing the OS path name.
24457 (read_device_map): Make it permissible for device.map not to exist.
24458
f515aa62
RM
244592009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24460
24461 * script/sh/execute.c: Move from here ...
24462 * script/execute.c: ... to here. Update all users.
24463 * script/sh/function.c: Move from here ...
24464 * script/function.c: ... to here. Update all users.
24465 * script/sh/lexer.c: Move from here ...
24466 * script/lexer.c: ... to here. Update all users.
24467 * script/sh/main.c: Move from here ...
24468 * script/main.c: ... to here. Update all users.
24469 * script/sh/parser.y: Move from here ...
24470 * script/parser.y: ... to here. Update all users.
24471 * script/sh/script.c: Move from here ...
24472 * script/script.c: ... to here. Update all users.
24473
f84b481b
RM
244742009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24475
24476 * configure.ac: Detect all `emu' platforms. Define
24477 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
24478 --enable-grub-emu logic. Disable include/grub/machine
24479 symlink on `emu' platforms.
24480
24481 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
24482 * gensymlist.sh.in: Likewise.
24483
24484 * include/grub/i386/coreboot/machine.h: Remove file.
24485 * include/grub/i386/efi/machine.h: Likewise.
24486 * include/grub/i386/ieee1275/machine.h: Likewise.
24487 * include/grub/i386/pc/machine.h: Likewise.
24488 * include/grub/i386/qemu/machine.h: Likewise.
24489 * include/grub/powerpc/ieee1275/machine.h: Likewise.
24490 * include/grub/sparc64/ieee1275/machine.h: Likewise.
24491 * include/grub/x86_64/efi/machine.h: Likewise.
24492
24493 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
24494 * commands/halt.c: Likewise.
24495 * commands/reboot.c: Likewise.
24496 * include/grub/autoefi.h: Likewise.
24497 * include/grub/i386/at_keyboard.h: Likewise.
24498 * include/grub/i386/kernel.h: Likewise.
24499 * include/grub/i386/loader.h: Likewise.
24500 * include/grub/i386/pc/memory.h: Likewise.
24501 * kern/dl.c: Likewise.
24502 * kern/i386/coreboot/init.c: Likewise.
24503 * loader/i386/bsd.c: Likewise.
24504 * loader/i386/linux.c: Likewise.
24505 * loader/multiboot_loader.c: Likewise.
24506 * term/i386/pc/serial.c: Likewise.
24507 * term/usb_keyboard.c: Likewise.
24508
24509 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
24510 `<grub/machine/machine.h>'
24511 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
24512 * util/misc.c: Remove `<grub/machine/machine.h>' and
24513 `<grub/machine/time.h>'.
24514
24515 * Makefile.in (enable_grub_emu): Remove variable.
24516 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
24517
24518 * conf/any-emu.rmk: New file.
24519 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
24520 (grub_emu_init.c): Move from here ...
24521 * conf/any-emu.rmk: ... to here.
24522
24523 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
24524 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
24525 * conf/any-emu.rmk: ... to here.
24526
4efeab03
RM
245272009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24528
24529 * include/grub/parser.h (grub_parser_register): Document need
24530 of `name' parameter.
24531 * normal/main.c (grub_normal_read_line): Simplify prompt string.
24532 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
24533 "sh" to "grub".
24534
ea1dd8bf
RM
245352009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24536
24537 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
24538 `$(XGETTEXT)'.
24539 * include/grub/i18n.h (N_): New macro.
24540 * util/mkisofs/mkisofs.h: Likewise.
24541 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
24542 around N_().
24543 (usage): Use gettext() to translate help strings when printing them.
24544
0c140626
RM
245452009-11-23 Robert Millan <rmh.grub@aybabtu.com>
24546
24547 Based on patch from Bean
24548 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
24549
24550 * video/efi_fb.c: New file.
24551 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
24552 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
24553 variables.
24554 * conf/x86_64-efi.rmk: Likewise.
24555
87d58298
RM
245562009-11-22 Robert Millan <rmh.grub@aybabtu.com>
24557
24558 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
24559 * util/i386/pc/grub-setup.c: Likewise.
24560
994cc3a3
ST
245612009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
24562
24563 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
24564 <hurd/fs.h>
24565 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
24566 file_get_storage_info to implement grub_guess_root_device.
24567
26a61d6a
FZ
245682009-11-21 Felix Zielcke <fzielcke@z-51.de>
24569
24570 * Makefile.in (target): Use make's builtin $(shell) function
24571 instead of calling directly $(SHELL) to create the locale directories,
24572 inside the $(foreach) function.
24573
74ff1dd5
FZ
245742009-11-21 Felix Zielcke <fzielcke@z-51.de>
24575
24576 * util/grub-mkrescue.in: Print an error and usage if output option
24577 has not been given.
24578
0b787d0e
FZ
245792009-11-21 Felix Zielcke <fzielcke@z-51.de>
24580
24581 Patch from Loïc Minier <loic.minier@ubuntu.com>.
24582 * util/grub.d/30_os-prober.in: Cope with Linux entries where
24583 root and /boot are on different devices.
24584
1164b270
RM
245852009-11-21 Robert Millan <rmh.grub@aybabtu.com>
24586
24587 Fix build for srcdir != objdir.
24588
24589 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
24590 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
24591 $(srcdir).
24592 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
24593 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
24594 reference for input.
24595
13774a2f
RM
245962009-11-21 Robert Millan <rmh.grub@aybabtu.com>
24597
24598 * util/grub-mkrescue.in: Use source directory direcly (without copiing
24599 or hardlinking it). Remove -J option, Joliet is not compatible with
24600 multiple source directories.
24601
efda854e
RM
246022009-11-21 Carles Pina i Estany <carles@pina.cat>
246032009-11-21 Robert Millan <rmh.grub@aybabtu.com>
24604
24605 * util/grub-mkrescue.in: Recognize `--override-directory' option.
24606 (process_input_dir): New function. Process an arbitrary input
24607 directory.
24608 Misc adjustments to support both "override mode" and system-wide mode.
24609
6c09890c
FZ
246102009-11-20 Felix Zielcke <fzielcke@z-51.de>
24611
24612 * configure.ac (UNIFONT_BDF): Rename to ...
24613 (FONT_SOURCE): ... this. Update all users.
24614
a797824f
FZ
246152009-11-20 Felix Zielcke <fzielcke@z-51.de>
24616
24617 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
24618 to the list of unifont files to look for.
24619
cd4f42b0
RM
246202009-11-19 Robert Millan <rmh.grub@aybabtu.com>
24621
24622 Patch from Joe Auricchio <jauricchio@gmail.com>
24623 * commands/minicmd.c (grub_mini_cmd_clear): New function.
24624 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
24625 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
24626
393c783d
FZ
246272009-11-19 Felix Zielcke <fzielcke@z-51.de>
24628
24629 * Makefile.in (install-local): Add a missing backslash.
24630
b2f1e327
FZ
246312009-11-19 Felix Zielcke <fzielcke@z-51.de>
24632
24633 * include/grub/x86_64/io.h: New file.
24634
f577f7a0
RM
246352009-11-19 Robert Millan <rmh.grub@aybabtu.com>
24636
24637 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
24638 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
24639 Include `"progname.h"'.
24640 (main): Initialize gettext.
24641 * util/i386/pc/grub-setup.c: Gettexttize.
24642 * util/i386/pc/grub-mkimage.c: Likewise.
24643
24644 * Makefile.in (po/*.po): Redefine as ...
24645 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
24646
3bc7896c
RM
24647 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
24648
c37943b6
RM
246492009-11-19 Robert Millan <rmh.grub@aybabtu.com>
24650
24651 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
24652 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
24653 (program_name): Remove.
24654 (main): Initialize gettext support.
6323f705
RM
24655 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
24656 Include `<libintl.h>'.
24657 (_): New macro.
c37943b6
RM
24658
24659 * util/mkisofs/eltorito.c: Gettexttize.
24660 * util/mkisofs/joliet.c: Likewise.
24661 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
24662 * util/mkisofs/multi.c: Likewise.
24663 * util/mkisofs/rock.c: Likewise.
24664 * util/mkisofs/tree.c: Likewise.
24665 * util/mkisofs/write.c: Likewise.
24666
3bc7896c
RM
24667 * po/POTFILES: Update with new files.
24668
5ce77c6e
RM
246692009-11-18 Robert Millan <rmh.grub@aybabtu.com>
24670
24671 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
24672 * util/mkisofs/iso9660.h: Likewise.
24673 * util/mkisofs/joliet.c: Likewise.
24674 * util/mkisofs/mkisofs.c: Likewise.
24675 * util/mkisofs/mkisofs.h: Likewise.
24676 * util/mkisofs/rock.c: Likewise.
24677 * util/mkisofs/tree.c: Likewise.
24678 * util/mkisofs/write.c: Likewise.
24679
24680 * util/mkisofs/eltorito.c (rcsid): Remove.
24681 * util/mkisofs/hash.c: Likewise.
24682 * util/mkisofs/joliet.c: Likewise.
24683 * util/mkisofs/name.c: Likewise.
24684 * util/mkisofs/rock.c: Likewise.
24685 * util/mkisofs/tree.c: Likewise.
24686 * util/mkisofs/write.c: Likewise.
24687
1dabbc77
RM
246882009-11-18 Robert Millan <rmh.grub@aybabtu.com>
24689
24690 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
24691 instead of static allocation.
24692 * util/mkisofs/match.h: Likewise.
24693
633877cb
RM
246942009-11-18 Robert Millan <rmh.grub@aybabtu.com>
24695
3bc7896c
RM
24696 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
24697 and `util/grub.d/10_linux.in'.
633877cb
RM
24698 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
24699 translatable Shell files.
24700
af1c0c85
RM
247012009-11-18 Robert Millan <rmh.grub@aybabtu.com>
24702
24703 * Makefile.in ($(srcdir)/aclocal.m4): New target.
24704
769ae37b
RM
247052009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24706
24707 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 24708 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
24709 * util/grub.d/10_kfreebsd.in (bindir): New variable.
24710 Add gettext initialization.
24711 (kfreebsd_entry): Make menuentry output translatable.
24712
247132009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24714
24715 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
24716 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
24717 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
24718 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
24719 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 24720 * po/LINGUAS: New file.
769ae37b
RM
24721
247222009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24723
24724 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
24725 other things).
24726 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
24727 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
24728 bindtextdomain() calls for gettext initialization.
24729
247302009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24731
24732 * gnulib/progname.c: New file (imported from Gnulib).
24733 * gnulib/progname.h: Likewise.
24734 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
24735 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
24736 (usage): Replace `progname' with `program_name'.
24737 (main): Use set_program_name() for program name initialization.
24738
247392009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24740
24741 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
24742 from here ...
24743 * Makefile.in (CPPFLAGS): ... to here.
24744
247452009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24746
24747 * aclocal.m4: Move from here ...
24748 * acinclude.m4: ... to here.
24749 * autogen.sh: Add call to `aclocal'.
24750 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
24751
247522009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24753
24754 * Makefile.in (CLEANFILES): Add `po/*.mo'.
24755 (LINGUAS): New variable.
24756 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
24757 (install-local): Install MO files.
24758 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
24759 * include/grub/i18n.h: New file.
3bc7896c
RM
24760 * po/POTFILES: New file.
24761 * po/ca.po: New file.
769ae37b
RM
24762 * util/grub.d/10_linux.in (bindir): New variable.
24763 Add gettext initialization.
24764 (linux_entry): Make menuentry output translatable.
24765 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
24766 (usage): Make --help output translatable.
24767 (main): Initialize gettext.
24768
02c0a6ad
RM
247692009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24770
24771 * import_gcry.py: New file (written by Vladimir with minor
24772 adjustments).
24773 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
24774 ciphers.
24775 * INSTALL: Document that Python is required for bootstrap.
24776
247772009-11-17 Robert Millan <rmh.grub@aybabtu.com>
24778
24779 Import ciphers from libgcrypt 1.4.4.
24780
24781 * lib/libgcrypt/cipher/ChangeLog
24782 * lib/libgcrypt/cipher/ac.c
24783 * lib/libgcrypt/cipher/arcfour.c
24784 * lib/libgcrypt/cipher/bithelp.h
24785 * lib/libgcrypt/cipher/blowfish.c
24786 * lib/libgcrypt/cipher/camellia-glue.c
24787 * lib/libgcrypt/cipher/camellia.c
24788 * lib/libgcrypt/cipher/camellia.h
24789 * lib/libgcrypt/cipher/cast5.c
24790 * lib/libgcrypt/cipher/cipher.c
24791 * lib/libgcrypt/cipher/crc.c
24792 * lib/libgcrypt/cipher/des.c
24793 * lib/libgcrypt/cipher/dsa.c
24794 * lib/libgcrypt/cipher/ecc.c
24795 * lib/libgcrypt/cipher/elgamal.c
24796 * lib/libgcrypt/cipher/hash-common.c
24797 * lib/libgcrypt/cipher/hash-common.h
24798 * lib/libgcrypt/cipher/hmac-tests.c
24799 * lib/libgcrypt/cipher/md.c
24800 * lib/libgcrypt/cipher/md4.c
24801 * lib/libgcrypt/cipher/md5.c
24802 * lib/libgcrypt/cipher/primegen.c
24803 * lib/libgcrypt/cipher/pubkey.c
24804 * lib/libgcrypt/cipher/rfc2268.c
24805 * lib/libgcrypt/cipher/rijndael-tables.h
24806 * lib/libgcrypt/cipher/rijndael.c
24807 * lib/libgcrypt/cipher/rmd.h
24808 * lib/libgcrypt/cipher/rmd160.c
24809 * lib/libgcrypt/cipher/rsa.c
24810 * lib/libgcrypt/cipher/seed.c
24811 * lib/libgcrypt/cipher/serpent.c
24812 * lib/libgcrypt/cipher/sha1.c
24813 * lib/libgcrypt/cipher/sha256.c
24814 * lib/libgcrypt/cipher/sha512.c
24815 * lib/libgcrypt/cipher/tiger.c
24816 * lib/libgcrypt/cipher/twofish.c
24817 * lib/libgcrypt/cipher/whirlpool.c
24818
af2f93ac
RM
248192009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24820
24821 Fix build for systems without error().
24822
24823 * gnulib/error.c: New file (imported from Gnulib).
24824 * gnulib/error.h: Likewise.
24825 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
24826 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
24827 (this variable is now used by error()).
24828
73fb3dd5
FZ
248292009-11-16 Felix Zielcke <fzielcke@z-51.de>
24830
814f5e96
FZ
24831 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
24832 instead of relying that char is signed.
73fb3dd5 24833
a691ca33
VS
248342009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
24835
24836 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
24837 blocksize different from specified.
24838 (grub_pxefs_read): Likewise.
24839
2af8f0f4
FZ
248402009-11-16 Felix Zielcke <fzielcke@z-51.de>
24841
24842 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
24843
24844 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
24845 (grub_ata_readwrite): Likewise. Update 2 format strings.
24846 (grub_atapi_read): Likewise.
24847
24848 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
24849 * conf/i386.rmk (pkglib_MODULES): ... to here ...
24850 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
24851 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
24852 (ata_mod_LDFLAGS): Move from here ...
24853 * conf/i386.rmk: ... to here ...
24854 * conf/x86_64-efi.rmk: ... and here.
24855 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
24856 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
24857
83bdecaf
RM
248582009-11-16 Robert Millan <rmh.grub@aybabtu.com>
24859
24860 Relicense multiboot.h, with RMS' blessing.
24861
24862 * include/multiboot.h: Change to X11 license.
24863
fd6fd3d7
RM
248642009-11-15 Robert Millan <rmh.grub@aybabtu.com>
24865
24866 Support --version in grub-mkisofs.
24867
24868 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
24869 (OPTION_VERSION): New macro.
24870 (ld_options): Recognize --version.
24871 (usage): Move `program_name' from here ...
24872 (program_name): ... to here. Add `static' qualifier.
24873 (main): Recognize `OPTION_VERSION'.
24874
16a88c49
FZ
248752009-11-15 Felix Zielcke <fzielcke@z-51.de>
24876
24877 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
24878 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
24879
a4158476
RM
248802009-11-14 Robert Millan <rmh.grub@aybabtu.com>
24881
24882 Fix help2man generation for mkisofs.
24883
24884 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
24885 (usage): Send output to stdout (rather than stderr).
24886
fc2208b0
RM
248872009-11-14 Robert Millan <rmh.grub@aybabtu.com>
24888
24889 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
24890 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
24891 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
24892 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
24893 (bin_SCRIPTS): Add `grub-mkfloppy'.
24894 (grub_mkfloppy_SOURCES): New variable.
24895
24896 * util/grub-mkrescue.in: New file.
24897 * util/i386/pc/grub-mkfloppy.in: New file.
24898
24899 * util/i386/coreboot/grub-mkrescue.in: Remove.
24900 * util/i386/pc/grub-mkrescue.in: Remove.
24901
8d0edf4a
RM
249022009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24903
24904 * include/grub/multiboot.h (struct grub_multiboot_header): Move
24905 from here ...
24906 * include/multiboot.h (struct multiboot_header): ... to here. Update
24907 all users.
24908 * include/grub/multiboot.h (struct grub_multiboot_info): Move
24909 from here ...
24910 * include/multiboot.h (struct multiboot_info): ... to here. Update
24911 all users.
24912 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
24913 from here ...
24914 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
24915 Update all users.
24916 * include/grub/multiboot.h (struct grub_mod_list): Move
24917 from here ...
24918 * include/multiboot.h (struct multiboot_mod_list): ... to here.
24919 Update all users.
24920
a73f5969
RM
249212009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24922
24923 * include/multiboot2.h (multiboot_word): Rename from this ...
24924 (multiboot2_word): ... to this. Update all users.
24925 (multiboot_header): Rename from this ...
24926 (multiboot2_header): ... to this. Update all users.
24927 (multiboot_tag_header): Rename from this ...
24928 (multiboot2_tag_header): ... to this. Update all users.
24929 (multiboot_tag_start): Rename from this ...
24930 (multiboot2_tag_start): ... to this. Update all users.
24931 (multiboot_tag_name): Rename from this ...
24932 (multiboot2_tag_name): ... to this. Update all users.
24933 (multiboot_tag_module): Rename from this ...
24934 (multiboot2_tag_module): ... to this. Update all users.
24935 (multiboot_tag_memory): Rename from this ...
24936 (multiboot2_tag_memory): ... to this. Update all users.
24937 (multiboot_tag_unused): Rename from this ...
24938 (multiboot2_tag_unused): ... to this. Update all users.
24939 (multiboot_tag_end): Rename from this ...
24940 (multiboot2_tag_end): ... to this. Update all users.
24941
1c8927f0
RM
249422009-11-13 Robert Millan <rmh.grub@aybabtu.com>
24943
24944 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
24945 this platform we should support Multiboot1 first.
24946
24947 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
24948 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
24949 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
24950
6e1e0d89
RM
249512009-11-12 Robert Millan <rmh.grub@aybabtu.com>
24952
24953 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
24954 of write calls (converting them to fwrite() if they aren't already).
24955 (get_torito_desc): Likewise.
24956 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
24957
7f2b34d8
RM
249582009-11-12 Robert Millan <rmh.grub@aybabtu.com>
24959
24960 * util/i386/pc/grub-install.in: Move from here ...
24961 * util/grub-install.in: ... to here. Update all users.
24962
c0ef3311
CW
249632009-11-11 Colin Watson <cjwatson@ubuntu.com>
24964
24965 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
24966
e1f240ff
RM
249672009-11-11 Robert Millan <rmh.grub@aybabtu.com>
24968
24969 Support for El Torito without floppy emulation.
24970
24971 * util/mkisofs/eltorito.c: Include `<errno.h>'.
24972 (init_boot_catalog): Improve error handling.
24973 (get_torito_desc): Don't use floppy emulation unless requested by
24974 user. Patch boot information table when requested via
24975 `-boot-info-table'.
24976 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
24977 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
24978 (use_boot_info_table): New variables.
24979 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
24980 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
24981 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
24982 `--eltorito-emul-floppy'.
24983 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
24984 and `OPTION_ELTORITO_EMUL_FLOPPY'.
24985 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
24986 (use_boot_info_table, get_731): New prototypes.
24987 * util/mkisofs/write.c (get_731): New function.
24988
af7d4de5
FZ
249892009-11-11 Felix Zielcke <fzielcke@z-51.de>
24990
24991 Fix the generation of the man page.
24992
24993 * util/pc/i386/grub-install.in: Source
24994 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
24995
2c55dbc0
RM
249962009-11-11 Robert Millan <rmh.grub@aybabtu.com>
24997
24998 Large file support for grub-mkisofs.
24999
25000 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
25001 * util/mkisofs/mkisofs.c (next_extent, last_extent)
25002 (session_start): Upgrade type to `uint64_t'. Update all users.
25003 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
25004 (struct directory_entry): Upgrade type of `starting_block' and
25005 `size' to `uint64_t'. Update all users.
25006 (struct deferred): Remove unused structure.
25007 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
25008 Update all users.
25009 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
25010 file is larger than `UINT32_MAX'.
25011 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
25012 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
25013 return value.
25014 (struct deferred_write): Upgrade type of `extent' and `size' to
25015 `uint64_t'. Update all users.
25016 (last_extent_written): Upgrade type to `uint64_t'. Update all
25017 users.
25018 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
25019 Update all users. Upgrade type of `remain' to `int64_t' and
25020 `use' to `size_t'. Use error() to handle fread() errors.
25021 (write_files): Rely on write_one_file() rather than calling
25022 xfwrite() directly.
25023
6a9cead5
FZ
250242009-11-09 Felix Zielcke <fzielcke@z-51.de>
25025
25026 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
25027
4825d790
RM
250282009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25029
25030 * util/mkisofs/fnmatch.c: Remove.
25031 * util/mkisofs/getopt1.c: Likewise.
25032 * util/mkisofs/getopt.c: Likewise.
25033 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
25034 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
25035 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
25036 `gnulib/getopt1.c' and `gnulib/getopt.c'.
25037 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
25038
25039 * configure.ac: Detect `mingw32msvc' host_os.
25040 Check for lstat(), getuid() and getgid().
25041
25042 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
25043 instances of `u_char' with `uint8_t'.
25044
25045 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
25046 [!HAVE_GETUID] (getuid): New function (stub).
25047 [!HAVE_GETGID] (getgid): Likewise.
25048 [!HAVE_LSTAT] (lstat): Likewise.
25049 [!S_IROTH] (S_IROTH): New macro (dummy).
25050 [!S_IRGRP] (S_IRGRP): Likewise.
25051
84b860d8
RM
250522009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25053
25054 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
25055 conditional expression).
25056
66e9b712
RM
250572009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25058
25059 Import from Gnulib.
25060
25061 * gnulib/fnmatch.c: New file.
25062 * gnulib/fnmatch.h: Likewise.
25063 * gnulib/fnmatch_loop.c: Likewise.
25064 * gnulib/getopt.c: Likewise.
25065 * gnulib/getopt.h: Likewise.
25066 * gnulib/getopt1.c: Likewise.
25067 * gnulib/getopt_int.h: Likewise.
25068 * gnulib/gettext.h: Likewise.
25069
34f4a5b0
RM
250702009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25071
25072 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
25073 * normal/handler.c (read_handler_list): Likewise.
25074
ac451143
RM
250752009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25076
25077 Misc cleanup.
25078
25079 * kern/command.c (grub_register_command_prio): Use
25080 grub_zalloc() instead of explicitly zeroing data.
25081 * kern/list.c: Include `<grub/mm.h>'.
25082 (grub_named_list_find): Replace `0' with `NULL'.
25083 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
25084 (fs_module_list): Change type to `grub_named_list_t'. Update all
25085 users.
25086 * normal/dyncmd.c (read_command_list): Add space between function
25087 call and parenthesis.
25088 * normal/handler.c (read_handler_list): Likewise.
25089
4089b167
RM
250902009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25091
25092 * normal/auth.c (punishment_delay): Moved from here ...
25093 (grub_auth_strcmp): ... to here (inside function).
25094
325f5037
RM
250952009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25096
25097 * include/grub/list.h (struct grub_named_list): Remove `const'
25098 qualifier from `name'.
25099 (struct grub_prio_list): Likewise.
25100
7aea29a3
RM
251012009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25102
25103 * normal/auth.c: Include `<grub/time.h>'.
25104 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
25105
3fd6f044
RM
251062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25107
25108 * normal/auth.c (punishment_delay): New variable.
25109 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
25110 (grub_auth_check_authentication): Punish failed login attempts with
25111 an incremental (2^N) delay.
25112
a4cd68e4
RM
251132009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25114
25115 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
25116 path with $(srcdir).
25117
7ad12f43
VS
251182009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
25119
25120 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
25121
c1129f03
RM
251222009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25123
25124 * util/i386/coreboot/grub-mkrescue.in: New file.
25125 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
25126 variables.
25127
25128 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
25129 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
25130 * configure.ac: Add header and function checks to satisfy grub-mkisofs
25131 requirements.
25132 * util/mkisofs/defaults.h: New file.
25133 * util/mkisofs/eltorito.c: Likewise.
25134 * util/mkisofs/exclude.h: Likewise.
25135 * util/mkisofs/fnmatch.c: Likewise.
25136 * util/mkisofs/getopt.c: Likewise.
25137 * util/mkisofs/getopt1.c: Likewise.
25138 * util/mkisofs/hash.c: Likewise.
25139 * util/mkisofs/include/fctldefs.h: Likewise.
25140 * util/mkisofs/include/mconfig.h: Likewise.
25141 * util/mkisofs/include/prototyp.h: Likewise.
25142 * util/mkisofs/include/statdefs.h: Likewise.
25143 * util/mkisofs/iso9660.h: Likewise.
25144 * util/mkisofs/joliet.c: Likewise.
25145 * util/mkisofs/match.c: Likewise.
25146 * util/mkisofs/match.h: Likewise.
25147 * util/mkisofs/mkisofs.c: Likewise.
25148 * util/mkisofs/mkisofs.h: Likewise.
25149 * util/mkisofs/multi.c: Likewise.
25150 * util/mkisofs/name.c: Likewise.
25151 * util/mkisofs/rock.c: Likewise.
25152 * util/mkisofs/tree.c: Likewise.
25153 * util/mkisofs/write.c: Likewise.
25154
ec8bb77d
VS
251552009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
25156
25157 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
25158 being insecure.
25159
3716b12c
RM
251602009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25161
25162 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
25163 `grub-mkimage' (and use $0 when possible).
25164
b97b7b91
RM
251652009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25166
25167 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
25168 error message for excessively large memory map.
25169
04114812
RM
251702009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25171
25172 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
25173 executable bit.
25174
e4eb2373
RM
251752009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25176
25177 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
25178 message for coreboot users.
25179
c926e1d5 251802009-11-07 Robert Millan <rmh.grub@aybabtu.com>
25181
25182 Fix build with GNU gold.
25183
25184 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
25185 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
25186 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
25187 link addresses.
25188 * aclocal.m4: Likewise.
25189
86e5b1db 251902009-11-04 Felix Zielcke <fzielcke@z-51.de>
25191
25192 * configure.ac (AC_PREREQ): Bump to 2.59d.
25193 * INSTALL: Make it more clear when Autoconf and Ruby are
25194 needed and when to run `./autogen.sh'.
25195
246cd78f 251962009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
25197
25198 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
25199 OSes.
25200
4f9dfb37 252012009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25202
25203 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
25204
b82bd5e1 252052009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25206
25207 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
25208 giving it to GNU Mach.
25209
ff1a9bca 252102009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25211
25212 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
25213 GNU partition number to get internal GRUB partition number.
25214
61697d9c 252152009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25216
25217 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
25218 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
25219
a50569e1 252202009-11-01 Robert Millan <rmh.grub@aybabtu.com>
25221
25222 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
25223 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
25224 case.
25225
5b153867 252262009-11-01 Felix Zielcke <fzielcke@z-51.de>
25227
25228 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
25229
d9e2cd70 252302009-10-30 Robert Millan <rmh.grub@aybabtu.com>
25231
25232 Fix build problem.
25233
25234 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
25235 `-isystem=$(srcdir)/include'.
25236
805111a4 252372009-10-30 Robert Millan <rmh.grub@aybabtu.com>
25238
25239 * util/i386/pc/grub-install.in: Remove hint that device.map should be
25240 checked (grub-install doesn't currently rely on it).
25241
fa6e945f 252422009-10-29 Robert Millan <rmh.grub@aybabtu.com>
25243
25244 Revert SVN r2660.
25245
25246 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
25247 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
25248 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
25249 * conf/i386-ieee1275.rmk: Likewise.
25250 * conf/i386-pc.rmk: Likewise.
25251 * conf/powerpc-ieee1275.rmk: Likewise.
25252 * conf/sparc64-ieee1275.rmk: Likewise.
25253 * conf/x86_64-efi.rmk: Likewise.
25254
cee15086 252552009-10-28 Robert Millan <rmh.grub@aybabtu.com>
25256
25257 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
25258
95b9239e 252592009-10-28 Robert Millan <rmh.grub@aybabtu.com>
25260
25261 * include/grub/misc.h: Stop checking for APPLE_CC.
25262
2ed19dfd 252632009-10-28 Robert Millan <rmh.grub@aybabtu.com>
25264
25265 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
25266 doesn't cause an infinite call loop.
25267
fdcdde19 252682009-10-28 Felix Zielcke <fzielcke@z-51.de>
25269
25270 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
25271 strings.
25272
cefabfe1 252732009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25274
25275 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
25276 variable.
25277 * Makefile.in: Likewise.
25278
ed96ab6d 252792009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25280
25281 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
25282
0579b753 252832009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25284
25285 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
25286
478df409 252872009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25288
25289 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
25290
083d1679 252912009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25292
25293 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
25294 from here ...
25295 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
25296
5947ae32 252972009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25298
25299 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
25300 in $(MAKEINFO) invocation. This makes it clear in output that
25301 errors are being ignored.
25302
94180ff6 253032009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25304
25305 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
25306 from here ...
25307 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
25308 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
25309 * conf/i386-ieee1275.rmk: Likewise.
25310 * conf/i386-pc.rmk: Likewise.
25311 * conf/powerpc-ieee1275.rmk: Likewise.
25312 * conf/sparc64-ieee1275.rmk: Likewise.
25313 * conf/x86_64-efi.rmk: Likewise.
25314
9031b03a 253152009-10-26 Colin Watson <cjwatson@ubuntu.com>
25316
25317 * util/grub-editenv.c (main): If only a command is given, use
25318 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
25319 (usage): FILENAME is now optional and has a default.
25320
e4f6809b 253212009-10-26 Colin Watson <cjwatson@ubuntu.com>
25322
25323 Improve grub-mkconfig performance when there are several menu
25324 entries on a single filesystem.
25325
25326 * util/grub.d/10_linux.in (linux_entry): Cache the output of
25327 prepare_grub_to_access_device.
25328 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25329 * util/grub.d/30_os-prober.in: Likewise.
25330
67937d4d 253312009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25332
25333 * util/grub.d/10_freebsd.in: Remove.
25334 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
25335 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
25336
ee3756cc 253372009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25338
5c35048e 25339 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 25340
4dea1c6f 253412009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25342
25343 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
25344 grub_util_error() call.
25345
042484d7 253462009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25347
25348 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
25349 `reserved_first_sector' member.
25350 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
25351 `reserved_first_sector' to 1.
25352 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
25353 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
25354 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
25355 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
25356 filesystems which begin at first sector.
25357 (options): New option --skip-fs-probe.
25358 (main): Handle --skip-fs-probe and pass it to setup().
25359
d64448a7 253602009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25361
25362 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
25363 (memset): Fix function prototype.
25364
508d42ec 253652009-10-25 Robert Millan <rmh.grub@aybabtu.com>
253662009-10-25 Vasily Averin <vvs@parallels.com>
25367
25368 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
25369 `dirent.direntlen == 0'.
25370
b240e30c 253712009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25372
25373 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
25374 `cpio'.
25375 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
25376
346e7fbe 253772009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25378
25379 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
25380 `__trampoline_setup' and `__ucmpdi2'.
25381 * include/grub/powerpc/libgcc.h: Only export symbols for functions
25382 that libgcc provides.
25383
cdb308b0 253842009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25385
25386 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
25387 * include/grub/sparc64/libgcc.h (memset): Likewise.
25388 * include/grub/misc.h (memset, memcmp): New function prototypes.
25389
fb26abc2 253902009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25391
25392 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
25393 `cpio'.
25394 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
25395
f6693890 253962009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25397
25398 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
25399 * docs/grub.cfg: Compensate for recent change in multiboot
25400 loader (since 2009-08-14 it won't pass filename to payload).
25401 * util/grub.d/10_hurd.in: Likewise.
25402
0933cdc0 254032009-10-21 Felix Zielcke <fzielcke@z-51.de>
25404
25405 * config.guess: Update to latest version from config git
25406 repository.
25407 * config.sub: Likewise.
25408
3b2fe8c2 254092009-10-20 Robert Millan <rmh.grub@aybabtu.com>
25410
25411 Fix build on sparc64.
25412
25413 * configure.ac: Perform checks for libgcc symbols before
25414 adding `-nostdlib' to LDFLAGS.
25415
46695a62 254162009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
25417
25418 Let user specify OpenBSD root device.
25419
25420 * loader/i386/bsd.c (openbsd_root): New variable.
25421 (openbsd_opts): New option 'root'.
25422 (OPENBSD_ROOT_ARG): New macro.
25423 (grub_openbsd_boot): Use 'openbsd_root'.
25424 (grub_cmd_openbsd): Fill 'openbsd_root'.
25425
d2b6b7fc 254262009-10-16 Robert Millan <rmh.grub@aybabtu.com>
25427
25428 * NEWS: Misc adjustments.
25429
421bd7ac 254302009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
25431
25432 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
25433
f1d29d87 254342009-10-16 Robert Millan <rmh.grub@aybabtu.com>
25435
25436 * configure.ac: Bump version to 1.97.
25437
6f3cd880 254382009-10-16 Colin Watson <cjwatson@ubuntu.com>
25439
25440 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
25441 -mno-3dnow on x86 architectures. Some toolchains enable these
25442 features by default, but they rely on registers that aren't enabled
25443 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
25444
035f7122 254452009-10-15 Robert Millan <rmh.grub@aybabtu.com>
25446
25447 Make entry text a bit more readable.
25448
25449 * util/grub.d/10_linux.in: Add `with' before `Linux'.
25450
44998e58 254512009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
25452
25453 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
25454
cd2851b3 254552009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
25456
25457 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
25458 operations.
25459
c6f3b249 254602009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
25461
25462 * configure.ac: Add missing dollar.
25463
6b5886ba 254642009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
25465
25466 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
25467
25468 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
25469 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
25470 exports.
25471 * include/grub/sparc64/libgcc.h: Likewise. Use
25472 preprocessor conditionals.
25473
e9d66f6d 254742009-10-14 Robert Millan <rmh.grub@aybabtu.com>
25475
25476 * conf/common.rmk (grub-dumpbios): Remove rule.
25477 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
25478 * util/grub-dumpbios.in: Remove file.
25479
9155bc17 254802009-10-14 Robert Millan <rmh.grub@aybabtu.com>
25481
25482 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
25483 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
25484
25485 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
25486 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
25487 users.
25488
25489 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
25490 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
25491 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
25492 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
25493 users.
25494
bf7f7a18 254952009-10-12 Robert Millan <rmh.grub@aybabtu.com>
25496
25497 * term/tparm.c: Switch to GPLv3.
25498
86564c26 254992009-10-09 Robert Millan <rmh.grub@aybabtu.com>
25500
25501 * include/grub/i386/cpuid.h: Add header protection.
25502
5c936493 255032009-10-09 Robert Millan <rmh.grub@aybabtu.com>
25504
25505 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
25506
25507 * include/grub/i386/cpuid.h: New file.
25508 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
25509 (has_longmode): Rename to ...
25510 (grub_cpuid_has_longmode): ... this. Update all users. Remove
25511 `static' attribute.
25512 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
25513 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
25514 on a CPU that doesn't implement AMD64 instruction set.
25515
186e7cf2 255162009-10-06 Colin Watson <cjwatson@ubuntu.com>
25517
25518 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
25519 that version.texi is rebuilt on version number changes.
25520
83b65c4a 255212009-10-06 Colin Watson <cjwatson@ubuntu.com>
25522
25523 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
25524 Fixes bug #27602.
25525
d244281c 255262009-10-06 Colin Watson <cjwatson@ubuntu.com>
25527
25528 * util/i386/pc/grub-install.in: Source
25529 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
25530 that the --grub-probe option will work.
25531 * util/sparc64/ieee1275/grub-install.in: Likewise.
25532
da25306d 255332009-10-05 Robert Millan <rmh.grub@aybabtu.com>
25534
25535 * configure.ac: Bump version to 1.97~beta4.
25536
e8ee83c0 255372009-10-03 Robert Millan <rmh.grub@aybabtu.com>
25538
25539 Resync grub-mkdevicemap in x86_64-efi.
25540
25541 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
25542 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
25543 `util/devicemap.c'.
25544
50dcabcf 255452009-10-01 Colin Watson <cjwatson@ubuntu.com>
25546
25547 * util/grub-editenv.c (create_envblk_file): Write new block with a
25548 .new suffix and then rename it into place, to ensure atomic
25549 creation.
25550
0e51c3a7 255512009-09-28 Robert Millan <rmh.grub@aybabtu.com>
25552
25553 Do not automatically install headers.
25554
25555 * Makefile.in (include_DATA): Remove. Update all users.
25556
31299a95 255572009-09-26 Robert Millan <rmh.grub@aybabtu.com>
25558
25559 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
25560 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
25561
25562 * util/osdetect.lua: Remove.
25563 * script/lua/lauxlib.c: Likewise.
25564 * script/lua/ldebug.c: Likewise.
25565 * script/lua/grub_main.c: Likewise.
25566 * script/lua/lauxlib.h: Likewise.
25567 * script/lua/ldebug.h: Likewise.
25568 * script/lua/ltablib.c: Likewise.
25569 * script/lua/liolib.c: Likewise.
25570 * script/lua/lstrlib.c: Likewise.
25571 * script/lua/lualib.h: Likewise.
25572 * script/lua/ldo.c: Likewise.
25573 * script/lua/ldump.c: Likewise.
25574 * script/lua/ldo.h: Likewise.
25575 * script/lua/loslib.c: Likewise.
25576 * script/lua/lundump.c: Likewise.
25577 * script/lua/grub_lib.c: Likewise.
25578 * script/lua/ldblib.c: Likewise.
25579 * script/lua/lundump.h: Likewise.
25580 * script/lua/lmem.c: Likewise.
25581 * script/lua/grub_lib.h: Likewise.
25582 * script/lua/lmathlib.c: Likewise.
25583 * script/lua/lstate.c: Likewise.
25584 * script/lua/ltm.c: Likewise.
25585 * script/lua/lvm.c: Likewise.
25586 * script/lua/lmem.h: Likewise.
25587 * script/lua/lstate.h: Likewise.
25588 * script/lua/ltm.h: Likewise.
25589 * script/lua/ltable.c: Likewise.
25590 * script/lua/lvm.h: Likewise.
25591 * script/lua/llex.c: Likewise.
25592 * script/lua/lgc.c: Likewise.
25593 * script/lua/grub_lua.h: Likewise.
25594 * script/lua/loadlib.c: Likewise.
25595 * script/lua/lfunc.c: Likewise.
25596 * script/lua/lopcodes.c: Likewise.
25597 * script/lua/lparser.c: Likewise.
25598 * script/lua/ltable.h: Likewise.
25599 * script/lua/llex.h: Likewise.
25600 * script/lua/lgc.h: Likewise.
25601 * script/lua/lfunc.h: Likewise.
25602 * script/lua/lbaselib.c: Likewise.
25603 * script/lua/lopcodes.h: Likewise.
25604 * script/lua/lparser.h: Likewise.
25605 * script/lua/lzio.c: Likewise.
25606 * script/lua/linit.c: Likewise.
25607 * script/lua/lobject.c: Likewise.
25608 * script/lua/llimits.h: Likewise.
25609 * script/lua/lstring.c: Likewise.
25610 * script/lua/lzio.h: Likewise.
25611 * script/lua/lapi.c: Likewise.
25612 * script/lua/lcode.c: Likewise.
25613 * script/lua/lua.h: Likewise.
25614 * script/lua/lobject.h: Likewise.
25615 * script/lua/lstring.h: Likewise.
25616 * script/lua/lapi.h: Likewise.
25617 * script/lua/lcode.h: Likewise.
25618 * script/lua/luaconf.h: Likewise.
25619
cb8a2c38 256202009-09-26 Colin Watson <cjwatson@ubuntu.com>
25621
25622 * docs/grub.texi (Command-line and menu entry commands): Document
25623 date and echo commands.
25624
6b9b6276 256252009-09-24 Pavel Roskin <proski@gnu.org>
25626
25627 * include/grub/kernel.h (struct grub_module_header): Remove
25628 `grub_module_header_types'. Make `type' unsigned. Make `size'
25629 32-bit on all platforms.
25630 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
25631 8-bit field. Use grub_host_to_target32() for `size'.
25632 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
25633 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
25634 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
25635
4e5a02a7 256362009-09-24 Robert Millan <rmh.grub@aybabtu.com>
25637
25638 Fix "lost keypress" bug in at_keyboard.
25639
25640 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
25641 Checks for readyness of input buffer (without flushing it).
25642 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
25643 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
25644
c6dcedf6 256452009-09-24 Robert Millan <rmh.grub@aybabtu.com>
25646
25647 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
25648 size check within GRUB_MACHINE_PCBIOS section.
25649
74c958b1 256502009-09-24 Robert Millan <rmh.grub@aybabtu.com>
25651
25652 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
25653 return value.
25654 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
25655 KEYBOARD_ISREADY check.
25656 (grub_at_keyboard_checkkey): Rename to ...
25657 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
25658 Remove gratuitous cast.
25659
ff420223 256602009-09-23 Colin Watson <cjwatson@ubuntu.com>
25661
25662 * configure.ac: Call AC_PROG_MKDIR_P.
25663 * Makefile.in (docs/stamp-vti): Create docs directory. Create
25664 version.texi in $(builddir) rather than $(srcdir).
25665 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
25666 to makeinfo's @include search path.
25667
d96875df 256682009-09-23 Felix Zielcke <fzielcke@z-51.de>
25669
25670 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
25671
9b3f8365 256722009-09-23 Felix Zielcke <fzielcke@z-51.de>
25673
25674 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
25675 for `*.dpkg-new'.
25676
c44c90db 256772009-09-21 Colin Watson <cjwatson@ubuntu.com>
25678
25679 Build info documentation. Some code borrowed from Automake.
25680
25681 * configure.ac: Check for makeinfo.
25682 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
25683 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
25684 docs/version.texi.
25685 (MOSTLYCLEANFILES): Add vti.tmp.
25686 (docs/version.texi, docs/stamp-vti): Update automatically.
25687 (docs/grub.info): Build info documentation. Use --force and ignore
25688 errors for now.
25689 (all-local): Add $(INFOS).
25690 (install-local): Install info files.
25691 (uninstall): Uninstall info files.
25692 * docs/version.texi: Remove from revision control. This file is
25693 automatically generated on build now.
25694 * gendistlist.sh: Add `*.info'.
25695
e0b37bb5 256962009-09-21 Felix Zielcke <fzielcke@z-51.de>
25697
25698 * kern/term.c: Fix indentation.
25699
5a78865b 257002009-09-21 Felix Zielcke <fzielcke@z-51.de>
25701
25702 * util/hostdisk.c: Fix a comment.
25703
dace7e8a 257042009-09-20 Robert Millan <rmh.grub@aybabtu.com>
25705
25706 Fix regression introduced in r2539.
25707
25708 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
25709 to 0xA1.
25710
a83d079b 257112009-09-19 Colin Watson <cjwatson@ubuntu.com>
25712
25713 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 25714 os-prober. Under normal operation, it does not print anything to
25715 stderr; if it does, we need to debug it, and throwing away stderr
25716 makes that excessively difficult.
a83d079b 25717
be94a509 257182009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
25719
25720 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
25721
63f745e8 257222009-09-16 Robert Millan <rmh.grub@aybabtu.com>
25723
25724 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
25725 AC_LANG_PROGRAM from autoconf.
25726 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
25727 prototypes (fixes warning).
25728
25729 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
25730 `--disable-werror' was used.
25731
bbb2a70f 257322009-09-16 Robert Millan <rmh.grub@aybabtu.com>
25733
25734 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
25735 uninitialized `lastaddr'.
25736
77c24f1d 257372009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
25738
0f0b8c87 25739 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 25740
07197f23 257412009-09-14 Colin Watson <cjwatson@ubuntu.com>
25742
25743 * commands/test.c (get_fileinfo): Return immediately if
25744 grub_fs_probe fails.
25745
dabf1798 257462009-09-14 José Martínez <xosemp@gmail.com>
25747
25748 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
25749
d52109a7 257502009-09-14 Colin Watson <cjwatson@ubuntu.com>
25751
25752 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
25753 output.
25754
56532179 257552009-09-13 Robert Millan <rmh.grub@aybabtu.com>
25756
25757 * configure.ac: Remove --enable-grub-pe2elf. Only build
25758 grub-pe2elf when needed by the build system itself.
25759 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
25760
8ef070f5 257612009-09-12 Robert Millan <rmh.grub@aybabtu.com>
25762
25763 * configure.ac: Bump version to 1.97~beta3.
25764 * docs/version.texi: Likewise.
25765
61229557 257662009-09-12 Robert Millan <rmh.grub@aybabtu.com>
25767
25768 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
25769 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
25770 from here ...
25771 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
25772 (grub_linux_setup_video): ... to here (with some adjustments).
25773
5c9f8d84 257742009-09-12 Robert Millan <rmh.grub@aybabtu.com>
25775
25776 Fix memory corruption issue (spotted by Colin Watson).
25777
25778 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
25779 causing returned size to be stored in an incorrect memory location.
25780 Fix use of uninitialized value when storing the returned size.
25781
e8f5d6e9 257822009-09-12 Yves Blusseau <blusseau@zetam.org>
25783
25784 Change clean rules to properly remove files
25785
25786 * genmk.rb: add new clean rules
25787 * Makefile.in (clean): add the new targets
25788 (mostlyclean): likewise
25789
cda2a409 257902009-09-11 Colin Watson <cjwatson@ubuntu.com>
25791
25792 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
25793 to grub_uint64_t.
25794 * fs/ntfs.c (init_file): Understand 64-bit sizes for
25795 non-resident files.
25796
86695375 257972009-09-11 Colin Watson <cjwatson@ubuntu.com>
25798
25799 * configure.ac: Don't look for help2man when cross-compiling. Fixes
25800 part of bug #27349.
25801
8aa1541a 258022009-09-10 Felix Zielcke <fzielcke@z-51.de>
25803
25804 * util/grub-mkconfig.in: Make the created config mode 400 and
25805 print a warning if it fails.
25806
48d9bb0a 258072009-09-10 Robert Millan <rmh.grub@aybabtu.com>
25808
25809 * util/grub.d/40_custom.in: Ask user to type custom entries below
25810 comment, rather than below 'exec tail' line.
25811
3b0521be 258122009-09-10 Colin Watson <cjwatson@ubuntu.com>
25813
25814 * util/grub.d/40_custom.in: Make sure that the explanatory text is
25815 visible in grub.cfg.
25816
50051d55 258172009-09-10 Colin Watson <cjwatson@ubuntu.com>
25818
25819 * util/grub.d/40_custom.in: Make it a little clearer how to use this
25820 file.
25821
c0d34387 258222009-09-10 Felix Zielcke <fzielcke@z-51.de>
25823
25824 * docs/grub.cfg: Add an example menu entry for memtest86+.
25825
80a608f3 258262009-09-09 Felix Zielcke <fzielcke@z-51.de>
25827
a2094832 25828 * config.guess: Update to latest version from config git.
80a608f3 25829 * config.sub: Likewise.
25830
99423078 258312009-09-08 Colin Watson <cjwatson@ubuntu.com>
25832
25833 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
25834 unknown-command case. Fixes bug #27320.
25835
44454e4c 258362009-09-08 Felix Zielcke <fzielcke@z-51.de>
25837
25838 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
25839 `help' if the command exists.
25840
e30d87ad 258412009-09-06 Robert Millan <rmh.grub@aybabtu.com>
25842
25843 * INSTALL: Require GCC 4.1.3 or later.
25844
9a86f1ec 258452009-09-06 Yves Blusseau <blusseau@zetam.org>
25846
25847 * Makefile.in (RMKFILES): add i386-qemu.rmk
25848 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
25849 $(srcdir)/stamp-h.in
25850
7f26d466 258512009-09-05 Robert Millan <rmh.grub@aybabtu.com>
25852
25853 * util/grub-probe.c (probe): Comment out buggy codepath, which
25854 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
25855 should be re-enabled after 1.97.
25856
3a613259 258572009-09-05 Felix Zielcke <fzielcke@z-51.de>
25858
25859 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
25860 find searches for.
25861
197f76c7 258622009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
25863
25864 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
25865 unnecessary calls to grub_error.
25866
70ba68ce 258672009-09-04 Colin Watson <cjwatson@ubuntu.com>
25868
25869 * NEWS: Mention `keystatus' and Unicode fonts.
25870
4ff0d7a4 258712009-09-04 Robert Millan <rmh.grub@aybabtu.com>
25872
25873 * configure.ac: Bump version to 1.97~beta2.
25874 * docs/version.texi: Likewise.
25875
77c55a87 258762009-09-03 Colin Watson <cjwatson@ubuntu.com>
25877
25878 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
25879 containing unwind information in some cases where it previously did
25880 not. Use -fno-dwarf2-cfi-asm if available to restore the old
25881 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
25882 discussion.
25883
f79572cd 258842009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
25885
25886 Embedding loadenv module into grub-emu
25887
25888 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
25889 commands/loadenv.c
25890 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
25891 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
25892 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
25893 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
25894 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
25895 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
25896
93a81088 258972009-09-03 Magnus Granberg <zorry@ume.nu>
25898
25899 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
25900 include -fPIE in the default specs.
25901 * configure.ac: Check if pie_possible is yes and add -fno-PIE
25902 to TARGET_CFLAGS.
25903
160034b2 259042009-09-03 Felix Zielcke <fzielcke@z-51.de>
25905
25906 * INSTALL: Note that GNU Bison 2.3 or later is required.
25907
087c07c4 259082009-09-03 Colin Watson <cjwatson@ubuntu.com>
25909
25910 * kern/i386/pc/startup.S: Fix typo.
25911
cbf978c0 259122009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
25913
25914 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
25915 according to GCS.
25916
259172009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 25918
25919 * docs/grub.texi (Naming convention): Describe one-based partition
25920 numbering.
25921 (Device syntax): Likewise.
25922 (File name syntax): Likewise.
25923 (Block list syntax): Likewise.
25924 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
25925 menu.lst.
25926 (File name syntax): Likewise.
25927 (Command-line and menu entry commands): Document acpi, blocklist,
25928 crc, export, insmod, keystatus, ls, set, and unset commands.
25929
f3e8cdfd 259302009-09-02 Colin Watson <cjwatson@ubuntu.com>
25931
25932 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
25933 to avoid implying that only one of --shift, --ctrl, or --alt may be
25934 used.
25935
c0bc232b 259362009-09-02 Colin Watson <cjwatson@ubuntu.com>
25937
25938 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
25939 rather than comparing against S_IFREG, which will almost never work.
25940
aa0f752d 259412009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
25942
25943 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
25944 (write_blocklists): Likewise.
25945
ecb3166a 259462009-09-01 Colin Watson <cjwatson@ubuntu.com>
25947
25948 * script/lua/grub_lua.h (fputs): Supply a format string as the first
25949 argument to grub_printf.
25950
c403a125 259512009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 25952
25953 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 25954 non GNU test.
31aba781 25955
b5e7312c 259562009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25957
25958 * kern/file.c (grub_file_read): Spelling fix
25959
fe00f472 259602009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
25961
25962 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
25963 loading of headers in some cases.
25964
cc55302e 259652009-08-30 Robert Millan <rmh.grub@aybabtu.com>
25966
25967 * configure.ac: Bump version to 1.97~beta1.
25968 * docs/version.texi: Likewise.
25969
5c90cdd2 259702009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 25971
25972 * include/grub/i386/xnu.h: Add license header.
25973 include grub/err.h explicitly.
25974
c90edae4 259752009-08-29 Robert Millan <rmh.grub@aybabtu.com>
25976
25977 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
25978 to `ufs' in the vfs.root.mountfrom kernel parameter.
25979
d8888b5c 259802009-08-29 Robert Millan <rmh.grub@aybabtu.com>
25981
25982 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
25983
25984 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
25985 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
25986
25987 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
25988 `ARRAY_SIZE' macro.
25989
6f07b921 259902009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25991
25992 * kern/file.c (grub_file_read): Check offset.
25993 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
25994 * fs/jfs.c (grub_jfs_read_file): Likewise.
25995 * fs/ntfs.c (grub_ntfs_read): Likewise.
25996 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
25997 * fs/minix.c (grub_minix_read_file): Correct offset check.
25998 * fs/ufs.c (grub_ufs_read_file): Likewise.
25999
b4f34077 260002009-08-28 Colin Watson <cjwatson@ubuntu.com>
26001
26002 * term/i386/pc/console.c (bios_data_area): Cast
26003 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
26004
e7c69859 260052009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26006
26007 1-bit optimised blitters.
26008
26009 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
26010 prototype.
26011 (grub_video_fbblit_replace_24bit_1bit): Likewise.
26012 (grub_video_fbblit_replace_16bit_1bit): Likewise.
26013 (grub_video_fbblit_replace_8bit_1bit): Likewise.
26014 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
26015 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
26016 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
26017 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
26018 function.
26019 (grub_video_fbblit_replace_24bit_1bit): Likewise.
26020 (grub_video_fbblit_replace_16bit_1bit): Likewise.
26021 (grub_video_fbblit_replace_8bit_1bit): Likewise.
26022 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
26023 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
26024 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
26025 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
26026 when possible.
26027 * video/video.c (grub_video_get_blit_format): Return
26028 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
26029
a57da43f 260302009-08-28 Colin Watson <cjwatson@ubuntu.com>
26031
26032 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
26033 the first argument to grub_printf.
26034
4cbe67e5 260352009-08-28 Colin Watson <cjwatson@ubuntu.com>
260362009-08-28 Robert Millan <rmh.grub@aybabtu.com>
26037
26038 Add `getkeystatus' terminal method. Add a new `keystatus' command
26039 to query it.
26040
26041 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
26042 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
26043 modifier key bitmasks.
26044 (struct grub_term_input): Add `getkeystatus' member.
26045 (grub_getkeystatus): Add prototype.
26046 * kern/term.c (grub_getkeystatus): New function.
26047
26048 * include/grub/i386/pc/memory.h
26049 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
26050 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
26051 Data Area layout.
26052 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
26053 (grub_console_term_input): Set `getkeystatus' member.
26054 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
26055 constants.
26056 (grub_usb_keyboard_getreport): Likewise.
26057 (grub_usb_keyboard_checkkey): Likewise.
26058 (grub_usb_keyboard_getkeystatus): New function.
26059 (grub_usb_keyboard_term): Set `getkeystatus' member.
26060
26061 * commands/keystatus.c: New file.
26062 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
26063 (keystatus_mod_SOURCES): New variable.
26064 (keystatus_mod_CFLAGS): Likewise.
26065 (keystatus_mod_LDFLAGS): Likewise.
26066 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
26067 commands/keystatus.c.
26068 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26069 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26070 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26071 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26072 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26073 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 26074
6e2a9085 260752009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26076
26077 Split befs.mod and afs.mod into *_be.mod and *.mod
26078
26079 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
26080 (grub_fstest_SOURCES): Likewise.
26081 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
26082 (afs_be_mod_SOURCES): New variable.
26083 (afs_be_mod_CFLAGS): Likewise.
26084 (afs_be_mod_LDFLAGS): Likewise.
26085 (befs_be_mod_SOURCES): Likewise.
26086 (befs_be_mod_CFLAGS): Likewise.
26087 (befs_be_mod_LDFLAGS): Likewise.
26088 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
26089 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26090 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26091 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26092 (grub_emu_SOURCES): Likewise.
26093 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26094 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26095 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26096 * fs/afs_be.c: New file.
26097 * fs/befs_be.c: New file.
26098 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
26099 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
26100 (U16): Replaced with ...
26101 (grub_afs_to_cpu16): ...this. All users updated.
26102 (U32): Replaced with ...
26103 (grub_afs_to_cpu32): ...this. All users updated.
26104 (U64): Replaced with ...
26105 (grub_afs_to_cpu64): ...this. All users updated.
26106 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
26107 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 26108 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 26109 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
26110 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
26111 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
26112 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
26113 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
26114 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
26115 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
26116 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
26117
32a71655 261182009-08-26 Bean <bean123ch@gmail.com>
26119
26120 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
26121 64-bit number.
26122 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
26123 (grub_xfs_inode_block): Change return type to grub_uint64_t.
26124 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
26125
552bf6c5 261262009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26127
26128 NetBSD memory map support.
26129
26130 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
26131 (grub_netbsd_btinfo_mmap_header): New structure.
26132 (grub_netbsd_btinfo_mmap_entry): Likewise.
26133 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
26134
1ae2078c 261352009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26136
26137 Enable bsd.mod on coreboot.
26138
26139 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
26140 (bsd_mod_SOURCES): New variable.
26141 (bsd_mod_CFLAGS): Likewise.
26142 (bsd_mod_LDFLAGS): Likewise.
26143 (bsd_mod_ASFLAGS): Likewise.
26144 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
26145 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
26146
beefc598 261472009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26148
26149 Cleanup NetBSD root support.
26150
26151 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
26152 grub_bsd_get_device.
26153 Fix typo.
26154
3b76e68b 261552009-08-25 Felix Zielcke <fzielcke@z-51.de>
26156
26157 * util/grub.d/00_header.in: Move check for the video backend of
26158 gfxterm from here ...
26159 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
26160 a suitable video backend.
26161
aea664ea 261622009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26163
26164 Fix breakage in grub-setup.
26165
26166 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
26167 "msdos_partition_map".
26168
ff747d50 261692009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26170
26171 Fix breakage in normal/auth.c.
26172
26173 * normal/auth.c (grub_iswordseparator): New function.
26174
e7e1f93f 261752009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26176
26177 Authentication support.
26178
26179 * commands/password.c: New file.
26180 * conf/common.rmk (pkglib_MODULES): Add password.mod.
26181 (password_mod_SOURCES): New variable.
26182 (password_mod_CFLAGS): Likewise.
26183 (password_mod_LDFLAGS): Likewise.
26184 (normal_mod_SOURCES): Add normal/auth.c.
26185 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
26186 normal/auth.c.
26187 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26188 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26189 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26190 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26191 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26192 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26193 * include/grub/auth.h: New file.
26194 * include/grub/err.h (grub_err_t): New enum value
26195 GRUB_ERR_ACCESS_DENIED.
26196 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
26197 'users'.
26198 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
26199 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
26200 users updated.
26201 * normal/auth.c: New file.
26202 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
26203 (grub_cmdline_run): Don't allow to go to command line without
26204 authentication.
26205 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
26206 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
26207 menuentry without superuser rights.
26208 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
26209 user isn't a superuser.
26210
70f1161d 262112009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26212
26213 Save space by inlining misc.c functions.
26214
26215 * kern/misc.c (grub_iswordseparator): Made static.
26216 * kern/misc.c (grub_strcat): Moved from here ...
26217 * include/grub/misc.h (grub_strcat): ... here. Inlined.
26218 * kern/misc.c (grub_strncat): Moved from here ...
26219 * include/grub/misc.h (grub_strncat): ... here. Inlined.
26220 * kern/misc.c (grub_strcasecmp): Moved from here ...
26221 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
26222 * kern/misc.c (grub_strncasecmp): Moved from here ...
26223 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
26224 * kern/misc.c (grub_isalpha): Moved from here ...
26225 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
26226 * kern/misc.c (grub_isdigit): Moved from here ...
26227 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
26228 * kern/misc.c (grub_isgraph): Moved from here ...
26229 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
26230 * kern/misc.c (grub_tolower): Moved from here ...
26231 * include/grub/misc.h (grub_tolower): ... here. Inlined.
26232
48e40bff 262332009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26234
26235 * script/sh/function.c (grub_script_function_find): Cut error message
26236 not to flood terminal.
26237 * script/sh/lexer.c (grub_script_yylex): Remove command line length
26238 limit.
26239 * script/sh/script.c (grub_script_arg_add): Duplicate string.
26240
c385bfc3 262412009-08-24 Colin Watson <cjwatson@ubuntu.com>
26242
26243 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
26244 `report' grub_uint8_t *.
26245 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
26246 Use a 50-millisecond timeout rather than just repeating
26247 grub_usb_keyboard_getreport 50 times.
26248 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
26249
2d21e3e8 262502009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26251
26252 Rename *_partition_map to part_*
26253
26254 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
26255 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
26256 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
26257 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
26258 All users updated.
26259 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
26260 All users updated.
26261 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
26262 * util/grub-probe.c (probe_partmap): Don't transform partition name
26263 to get module name.
26264
dd103c4e 262652009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26266
26267 Fix OpenBSD and NetBSD support.
26268
26269 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
26270 memory address conflict.
26271 (OPENBSD_MMAP_ACPI): New definition.
26272 (OPENBSD_MMAP_NVS): Likewise.
26273 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
26274 and OPENBSD_MMAP_NVS.
26275 Add memory map terminator
26276 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 26277 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 26278
16c84d74 262792009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26280
26281 Let user specify NetBSD root device.
26282
26283 * loader/i386/bsd.c (netbsd_root): New variable.
26284 (netbsd_opts): New option 'root'.
26285 (NETBSD_ROOT_ARG): New macro.
26286 (grub_netbsd_boot): Use 'netbsd_root'.
26287 (grub_bsd_unload): Free 'netbsd_root'.
26288 (grub_cmd_netbsd): Fill 'netbsd_root'.
26289
adb29902 262902009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26291
26292 Support for 64-bit NetBSD.
26293
26294 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
26295 point when booting non-FreeBSD.
26296
f5ae9f74 262972009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26298
26299 Support --no-smp and --no-acpi for NetBSD.
26300
26301 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
26302 (NETBSD_AB_NOACPI): Likewise.
26303 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
26304 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
26305
de74f136 263062009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
26307
26308 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
26309 errors.
26310 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
26311 errors. Call grub_error when needed.
26312
e9a925da 263132009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
26314
26315 * commands/search.c (search_fs): Try searching without autoload first.
26316 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
26317 filesystem module explicitly for faster booting.
26318
5174302b 263192009-08-23 Colin Watson <cjwatson@ubuntu.com>
26320
26321 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
26322
c8c80635 263232009-08-23 Colin Watson <cjwatson@ubuntu.com>
26324
26325 * util/grub.d/30_os-prober.in: Disable os-prober if
26326 `GRUB_DISABLE_OS_PROBER' was set to true.
26327
71acf5e5 263282009-08-23 Robert Millan <rmh.grub@aybabtu.com>
26329
26330 * partmap/pc.c: Rename to ...
26331 * partmap/msdos.c: ... this. Update all users.
26332 (grub_pc_partition_map): Rename to ...
26333 (grub_msdos_partition_map): ... this. Update all users.
26334
26335 * parttool/pcpart.c: Rename to ...
26336 * parttool/msdospart.c: ... this. Update all users.
26337
26338 * include/grub/pc_partition.h: Rename to ...
26339 * include/grub/msdos_partition.h: ... this. Update all users.
26340 (grub_pc_partition_bsd_entry): Rename to ...
26341 (grub_msdos_partition_bsd_entry): ... this. Update all users.
26342 (grub_pc_partition_disk_label): Rename to ...
26343 (grub_msdos_partition_disk_label): ... this. Update all users.
26344 (grub_pc_partition_entry): Rename to ...
26345 (grub_msdos_partition_entry): ... this. Update all users.
26346 (grub_pc_partition_mbr): Rename to ...
26347 (grub_msdos_partition_mbr): ... this. Update all users.
26348 (grub_pc_partition): Rename to ...
26349 (grub_msdos_partition): ... this. Update all users.
26350 (grub_pc_partition_is_empty): Rename to ...
26351 (grub_msdos_partition_is_empty): ... this. Update all users.
26352 (grub_pc_partition_is_extended): Rename to ...
26353 (grub_msdos_partition_is_extended): ... this. Update all users.
26354 (grub_pc_partition_is_bsd): Rename to ...
26355 (grub_msdos_partition_is_bsd): ... this. Update all users.
26356
26357 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
26358 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
26359 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
26360 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
26361 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
26362 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
26363 (gpt_mod_LDFLAGS): Rename to ...
26364 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
26365 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
26366 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
26367 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
26368 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
26369 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
26370 (part_gpt_mod_LDFLAGS): ... this.
26371 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
26372 `pcpart.mod' to `msdospart.mod'.
26373 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
26374 to ...
26375 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
26376 (msdospart_mod_LDFLAGS): ... this.
26377
c11fded5 263782009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
26379
26380 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
26381 (openbsd_opts): Likewise.
26382 (netbsd_opts): Likewise.
26383 (freebsd_flags): Added 0 terminator.
26384 (openbsd_flags): Likewise.
26385 (netbsd_flags): Likewise.
26386 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
26387 (grub_cmd_freebsd): Transformed into extended command.
26388 (grub_cmd_openbsd): Likewise.
26389 (grub_cmd_netbsd): Likewise.
26390 (cmd_freebsd): Changed type to grub_extcmd_t.
26391 (cmd_openbsd): Likewise.
26392 (cmd_netbsd): Likewise.
26393 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
26394 grub_cmd_openbsd as extended commands.
26395 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
26396 cmd_netbsd and cmd_openbsd
26397
11d1c769 263982009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
26399
26400 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
26401
7a9094e5 264022009-08-21 Pavel Roskin <proski@gnu.org>
26403
5496c37e 26404 * Makefile.in (install-local): When checking if a file is in the
26405 build directory, use "test -e" to detect symlinks.
26406
7a9094e5 26407 * Makefile.in (install-local): Remove all files in
26408 $(DESTDIR)$(pkglibdir) before installing new files there.
26409
e53cea11 264102009-08-18 Felix Zielcke <fzielcke@z-51.de>
26411
26412 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
26413 grub-mkelfimage.
26414
9aced544 264152009-08-18 Felix Zielcke <fzielcke@z-51.de>
26416
26417 * util/grub-mkconfig.in: Don't use gfxterm by default if not
26418 explicitly specified by the user.
26419
b7da6bab 264202009-08-18 Pavel Roskin <proski@gnu.org>
26421
26422 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
26423 grub_uint8_t pointer for data.
26424 * include/grub/fbutil.h (struct grub_video_fbblit_info):
26425 Likewise.
26426 * video/fb/fbutil.c: Remove unnecessary casts.
26427
19f1b335 264282009-08-17 Michal Suchanek <hramrach@centrum.cz>
26429
26430 VBE cleanup.
26431
26432 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
26433 (grub_vbe_set_video_mode): Save active mode info
26434 only after setting the mode.
26435 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
26436 second argument.
26437
2f467aa9 264382009-08-17 Michal Suchanek <hramrach@centrum.cz>
26439
26440 Rename variables for clarity.
26441
26442 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
26443 (active_vbe_mode_info): ... this. All users updated.
26444 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
26445 All users updated.
26446 (initial_mode): Rename to ...
26447 (initial_vbe_mode): ... this. All users updated.
26448 (mode_in_use): Rename to ..
26449 (vbe_mode_in_use): ... this. All users updated.
26450 (mode_list): Rename to ..
26451 (vbe_mode_list): ... this. All users updated.
26452 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
26453 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
26454 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
26455 'mode_list_size' to 'vbe_mode_list_size'.
26456 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
26457 'best_mode_info' to 'best_vbe_mode_info' and
26458 'best_mode' to 'best_vbe_mode'
26459
6025fcd7 264602009-08-17 Michal Suchanek <hramrach@centrum.cz>
26461
26462 Remove duplicate grub_video_fb_get_video_ptr.
26463
26464 * include/grub/fbutil.h (get_data_ptr): Rename to ...
26465 (grub_video_fb_get_video_ptr): ... this.
26466 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
26467 * video/fb/fbutil.c: Add comment about addressing.
26468 (get_data_ptr): Rename to ...
26469 (grub_video_fb_get_video_ptr): ... this. All users updated.
26470 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
26471
cc8c6faf 264722009-08-17 Robert Millan <rmh.grub@aybabtu.com>
26473
26474 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
26475 grub_dprintf() that was just added.
26476
08aa61f0 264772009-08-17 Robert Millan <rmh.grub@aybabtu.com>
26478
26479 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
26480 (DEFAULT_VIDEO_MODE): Remove macros.
26481 (grub_linux_boot): Remove assumption that Linux has FB support,
26482 and use "text" as default video mode.
26483
7cef4f75 264842009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
26485
26486 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
26487 grub_dprintf.
26488 * fs/fat.c (grub_fat_read_data): Likewise.
26489
e1f39873 264902009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26491
26492 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
26493 payload.
26494 (grub_module): Likewise.
26495
c166d79e 264962009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26497
26498 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
26499 mbi->cmdline but free playground.
26500
c60cee8e 265012009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26502
26503 Handle group offset on UFS1.
26504
26505 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
26506 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
26507
c0d8b5d4 265082009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26509
26510 Split ufs.mod into ufs1.mod and ufs2.mod.
26511
26512 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
26513 (grub_fstest_SOURCES): Likewise.
26514 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
26515 (ufs_mod_SOURCES): Remove.
26516 (ufs_mod_CFLAGS): Likewise.
26517 (ufs_mod_LDFLAGS): Likewise.
26518 (ufs1_mod_SOURCES): New variable.
26519 (ufs1_mod_CFLAGS): Likewise.
26520 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 26521 (ufs2_mod_SOURCES): New variable.
26522 (ufs2_mod_CFLAGS): Likewise.
26523 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 26524 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
26525 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
26526 Likewise.
26527 (grub_emu_SOURCES): Likewise.
26528 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26529 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26530 (grub_setup_SOURCES): Likewise.
26531 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26532 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
26533 (grub_setup_SOURCES): Likewise.
26534 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
26535 Likewise.
26536 * fs/ufs2.c: New file.
26537 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
26538
d3539132 265392009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
26540
26541 Framebuffer split.
26542
26543 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
26544 subsystem at the end.
26545 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
26546 (video_fb_mod_SOURCES): New variable.
26547 (video_fb_mod_CFLAGS): Likewise.
26548 (video_fb_mod_LDFLAGS): Likewise.
26549 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
26550 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
26551 * video/i386/pc/vbeblit.c: Moved from here ...
26552 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
26553 * video/i386/pc/vbefill.c: Moved from here ...
26554 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
26555 * video/i386/pc/vbeutil.c: Moved from here ...
26556 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
26557 * include/grub/i386/pc/vbeblit.h: Moved from here ...
26558 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
26559 * include/grub/i386/pc/vbefill.h: Moved from here ...
26560 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
26561 * include/grub/i386/pc/vbeutil.h: Moved from here ...
26562 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
26563 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
26564 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
26565 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
26566 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
26567 (grub_video_adapter): Added 'get_info_and_fini'.
26568 (grub_video_get_info_and_fini): New prototype.
26569 (grub_video_set_mode): make modestring const char *.
26570 * loader/i386/linux.c (grub_linux_setup_video): Use
26571 grub_video_get_info_and_fini.
26572 (grub_linux_boot): Move modesetting just before booting.
26573 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
26574 grub_video_get_info_and_fini.
26575 * video/i386/pc/vbe.c: Moved framebuffer part ...
26576 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
26577 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
26578 grub_video_fbstd_colors and grub_video_fb_set_palette.
26579 (grub_video_vbe_init): Clear 'framebuffer' variable and use
26580 grub_video_fb_init.
26581 (grub_video_vbe_fini): Use grub_video_fb_fini.
26582 (grub_video_vbe_setup): Use framebuffer.render_target instead of
26583 render_target and use grub_video_fb_set_active_render_target and
26584 grub_video_fb_set_palette.
26585 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
26586 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
26587 (grub_video_vbe_adapter): Use framebuffer.
26588 * video/video.c (grub_video_get_info_and_fini): New function.
26589 (grub_video_set_mode): Make modestring const char *.
26590 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
26591 values are already initialised.
26592
d404ee56 265932009-08-14 Pavel Roskin <proski@gnu.org>
26594
26595 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
26596 ABS and APPLE_CC.
26597 * boot/i386/pc/diskboot.S: Likewise.
26598 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
26599 sectors allow compilation on MacOSX.
26600 * conf/i386-pc.rmk: Enable unconditional compilation of
26601 lnxboot.img.
26602
9a10df16 266032009-08-13 Colin Watson <cjwatson@ubuntu.com>
26604
26605 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
26606 * util/grub.d/00_header.in: Enter interruptible sleep if
26607 GRUB_HIDDEN_TIMEOUT is set.
26608
be3c9ca7 266092009-08-13 Yves Blusseau <blusseau@zetam.org>
26610
26611 * include/grub/symbol.h: Add the LOCAL macro.
26612 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
26613 starting with "L_".
26614
1f9e557e 266152009-08-13 Pavel Roskin <proski@gnu.org>
26616
9ca62843 26617 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
26618 any modern compilers we support.
26619
1f9e557e 26620 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
26621 Use local labels starting with "L_" so that Apple assembler
26622 knows they are local.
26623
81623db6 266242009-08-10 Robert Millan <rmh.grub@aybabtu.com>
26625
26626 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
26627 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
26628 (bsd_kernel_types): ... this enum.
26629
26630 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
26631 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
26632 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
26633
26634 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
26635 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
26636 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
26637 messages.
26638
f5d35e7a 266392009-08-08 Robert Millan <rmh.grub@aybabtu.com>
26640
26641 * util/grub-dumpdevtree: Moved from here ...
26642 * util/i386/efi/grub-dumpdevtree: ... to here.
26643 (hexify): New function. Converts a string to its hex version.
26644 Generate hex versions of "efi" and "device-properties" by calling
26645 hexify() on the ASCII strings rather than by hardcoding numbers.
26646
d1e1d527 266472009-08-08 Robert Millan <rmh.grub@aybabtu.com>
26648
26649 * fs/jfs.c: Update copyright year.
26650
1ebbe064 266512009-08-08 Felix Zielcke <fzielcke@z-51.de>
26652
26653 * util/grub.d/00_header.in: Fix a comment.
26654 * util/grub.d/10_linux.in: Likewise.
26655 * util/grub.d/10_windows.in: Likewise.
26656 * util/grub.d/10_hurd.in: Likewise.
26657
a78c8d24 266582009-08-08 Felix Zielcke <fzielcke@z-51.de>
26659
26660 * util/grub-mkconfig.in: Allow the user to specify the used font
26661 with GRUB_FONT.
26662
29a6b9e8 266632009-08-08 Pavel Roskin <proski@gnu.org>
26664
b5f16cc4 26665 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
26666 available, xfs.mod needs it now.
26667
2f5cb827 26668 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
26669 the "g" modifier in sed when the intention is to strip something
26670 once. This fixes comparison of kernels with multiple dashes.
26671
29a6b9e8 26672 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
26673 on it. Add missing space before closing bracket. Fix
26674 misleading formatting.
26675
892a3d98 266762009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26677
26678 * docs/grub.texi: Major overhaul. Remove all sections that are
26679 specific to GRUB Legacy, or mostly composed of Legacy-specific
26680 information.
26681
ed94253f 266822009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26683
26684 * docs/version.texi: New file. Provides version information for
26685 grub.texi.
26686
126d6628 266872009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26688
26689 * docs/grub.texi: Update CVS information to SVN.
26690 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
26691
998b5aa9 266922009-08-07 Felix Zielcke <fzielcke@z-51.de>
26693
26694 * util/grub-mkconfig.in: Remove a wrong `fi'.
26695
818e094a 266962009-08-07 Felix Zielcke <fzielcke@z-51.de>
26697
26698 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
26699 (grub_jfs_uuid): New function.
26700 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
26701
b969c52f 267022009-08-07 Felix Zielcke <fzielcke@z-51.de>
26703
26704 * util/grub-mkconfig_lib.in (font_path): Move the functionality
26705 of it to ...
26706 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
26707 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
26708
7a4894cc 267092009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26710
26711 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
26712 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
26713 Update all users.
26714
26715 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
26716 not just "vmlinu[zx]".
26717 Moved from here ...
26718 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
26719 all users.
26720
26721 * util/grub.d/10_linux.in (find_latest): Moved from here ...
26722 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
26723 all users.
26724
4e2171f8 267252009-08-07 Robert Millan <rmh.grub@aybabtu.com>
26726
26727 * util/grub.d/10_freebsd.in: Use an absolute device path for
26728 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
26729
6dcfcb32 267302009-08-06 Felix Zielcke <fzielcke@z-51.de>
26731
26732 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
26733 handling of multiple abstraction modules.
26734
f56a8756 267352009-08-04 Robert Millan <rmh.grub@aybabtu.com>
26736
26737 Fix a bug resulting in black screen when loading Linux using a
26738 packed video mode.
26739
26740 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
26741 function.
26742
26743 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
26744 (grub_vbe_bios_getset_dac_palette_width): New function.
26745 (grub_vbe_bios_get_dac_palette_width)
26746 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
26747 grub_vbe_bios_getset_dac_palette_width()).
26748
26749 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
26750 check for return status.
26751 (grub_vbe_get_video_mode_info): When getting information for a packed
26752 mode (<= 8 bpp), obtain DAC palette width using
26753 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
26754 {red,green,blue}_mark_size.
26755
222671b2 267562009-08-04 Felix Zielcke <fzielcke@z-51.de>
26757
ecb1a6d9 26758 * commands/search.c (options): Fix help output to match actual code.
222671b2 26759
f84114f5 267602009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
26761
26762 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
26763 of homegrown code.
26764
bd288a20 267652009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 26766
26767 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
26768 on XFS or ReiserFS.
26769
8aab5e25 267702009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26771
26772 Support Apple partition map with sector size different from 512 bytes.
26773
26774 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
26775 (apple_partition_map_iterate): Respect 'aheader.blocksize'
26776 and 'apart.partmap_size'.
26777
6ad6258a 267782009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
267792009-08-01 Robert Millan <rmh.grub@aybabtu.com>
26780
26781 Fix cpuid command.
26782
26783 * commands/i386/cpuid.c (options): New variable.
26784 (grub_cmd_cpuid): Return real error.
26785 (GRUB_MOD_INIT(cpuid)): Declare options.
26786
67459bc6 267872009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
26788
26789 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
26790 valid.
26791
fbc6ab54 267922009-07-31 Bean <bean123ch@gmail.com>
26793
26794 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
26795 log2_inode.
26796 (grub_fshelp_node): Move inode field to the end.
26797 (grub_xfs_data): Remove inode field.
26798 (grub_xfs_inode_block): Calculate inode size using sblock.
26799 (grub_xfs_inode_offset): Likewise.
26800 (grub_xfs_read_inode): Calculate inode size using sblock.
26801 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
26802 (grub_xfs_iterate_dir): Calculate inode size using sblock.
26803 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
26804 to match inode size.
26805 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
26806 not accessible when data is null.
26807 (grub_xfs_open): Likewise.
26808
f45d6cfc 268092009-07-31 Bean <bean123ch@gmail.com>
26810
26811 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
26812 Don't change pv->disk if it's already set.
26813
26814 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
26815 (grub_raid_register): ... here.
26816 (grub_raid_rescan): Removed.
26817
26818 * include/grub/raid.h (grub_raid_rescan): Removed.
26819
26820 * util/grub-fstest.c: Remove include file <grub/raid.h>.
26821 (fstest): Replace grub_raid_rescan with module fini function followed
26822 by init function.
26823
26824 * util/grub-probe.c: Add include file <grub/raid.h>.
26825 (probe_raid_level): New function.
26826 (probe): Detect abstraction by walking the disk device, support two
26827 level of abstraction (LVM on RAID) when detecting partition map.
26828
24443b5a 268292009-07-31 Pavel Roskin <proski@gnu.org>
26830
26831 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
26832 to grub_zalloc(), it was erroneous.
26833 Reported by Bean <bean123ch@gmail.com>
26834
a275d9e7 268352009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
26836
26837 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 26838 embedding zone, not only the first one.
a275d9e7 26839
56c5a47f 268402009-07-29 Joe Auricchio <jauricchio@gmail.com>
26841
26842 * term/gfxterm.c (clear_char): New function.
26843 (grub_virtual_screen_setup): Use clear_char.
26844 (scroll_up): Likewise.
26845 (grub_virtual_screen_cls): Likewise.
26846
67bb323a 268472009-07-29 Felix Zielcke <fzielcke@z-51.de>
26848
26849 * util/deviceiter.c (get_acceleraid_disk_name): New static
26850 function.
26851 (grub_util_iterate_devices): Handle Accelraid devices.
26852 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
26853
388a7c75 268542009-07-28 Robert Millan <rmh.grub@aybabtu.com>
26855
26856 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
26857 separator for the suggested gfxpayload string (';' collides with the
26858 parser and needs escaping).
26859
3bb7abcf 268602009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
26861
26862 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
26863 Clear direction flag before jumping to OS.
26864 (grub_multiboot2_real_boot): Likewise.
26865
2ddd36d7 268662009-07-28 Felix Zielcke <fzielcke@z-51.de>
26867
26868 * util/i386/pc/grub-install: Fix parsing of --disk-module
26869 option.
26870
c521b62b 268712009-07-28 Felix Zielcke <fzielcke@z-51.de>
26872
26873 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
26874 when embedding.
26875
880e0a0c 268762009-07-26 Felix Zielcke <fzielcke@z-51.de>
26877
26878 * util/grub-mkconfig.in (package_version): New variable.
26879 Use it do display the version.
26880
2366e356 268812009-07-25 Felix Zielcke <fzielcke@z-51.de>
26882
26883 * kern/file.c (grub_file_open): Revert to previous check with
26884 grub_errno.
26885
7ad8c80e 268862009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
26887
26888 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
26889 from help line. It's out of sync with code.
26890
72b9658b 268912009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
26892
26893 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
26894 entries on failed boot.
26895
77435277 268962009-07-25 Felix Zielcke <fzielcke@z-51.de>
26897
26898 * kern/file.c (grub_file_open): Fix an error check.
26899
fcaa8b21 269002009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
26901
35d16c74 26902 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
26903 partition map couldn't be identified.
fcaa8b21 26904
48904cd1 269052009-07-23 Pavel Roskin <proski@gnu.org>
26906
ef3c317f 26907 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
26908 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
26909 case of little endian words becomes just an optimization.
26910 Respect const modifier.
ad8ea1f4 26911 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 26912
48904cd1 26913 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
26914 to avoid loss of upper bits if align is unsigned and shorter
26915 than addr.
26916
260c9a89 269172009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
26918
26919 UUID support for UFS
26920
26921 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
26922 (grub_ufs_uuid): New function.
26923 (grub_ufs_fs): add .uuid
26924
f76ce889 269252009-07-21 Pavel Roskin <proski@gnu.org>
26926
26927 * kern/dl.c (grub_dl_check_header): Make static.
26928
6a6cbcaf 269292009-07-21 Felix Zielcke <fzielcke@z-51.de>
26930
26931 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
26932 add drivemap for Vista. It breaks Windows 7.
26933
cffcddb2 269342009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
26935
26936 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
26937 128 bytes
26938
1ef44b80 269392009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26940
26941 Add BFS support
26942
26943 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
26944 (grub_fstest_SOURCES): Likewise.
26945 (pkglib_MODULES): Add befs.mod.
26946 (befs_mod_SOURCES): New variable.
26947 (befs_mod_CFLAGS): Likewise.
26948 (befs_mod_LDFLAGS): Likewise.
26949 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26950 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26951 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26952 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26953 (grub_setup_SOURCES): Likewise.
26954 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26955 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26956 (grub_setup_SOURCES): Likewise.
26957 * fs/befs.c: New file.
26958 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
26959 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
26960 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
26961 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
26962 (B_KEY_INDEX_ALIGN): New declaration.
26963 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
26964 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
26965 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
26966 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
26967 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
26968 (grub_afs_mount) [MODE_BFS]: Likewise.
26969 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
26970 (grub_afs_fs): Use GRUB_AFS_FSNAME
26971 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
26972 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
26973 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
26974 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
26975
4f253044 269762009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
26977
26978 * util/getroot.c (find_root_device): Add support for MacOSX.
26979 * util/hostdisk.c: Likewise.
26980
57a55913 269812009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26982
26983 * font/font.c (find_glyph): Check whether a font is present to avoid
26984 segmentation fault.
75421ca9 26985
269862009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 26987
26988 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
26989
e98cd0c2 269902009-07-20 Pavel Roskin <proski@gnu.org>
26991
26992 * configure.ac: Trim excessively wordy excuses.
26993
1d2d169a 269942009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26995
26996 Add symlink, mtime and label support to AtheFS.
26997
26998 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
26999 (grub_afs_iterate_dir): Handle symlinks.
27000 (grub_afs_open): Use grub_afs_read_symlink.
27001 (grub_afs_dir): Likewise.
27002 Pass mtime.
27003 (grub_afs_label): New function.
27004 (grub_afs_fs): Add grub_afs_label.
27005 (grub_afs_read_symlink): New function.
27006
186f3189 270072009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27008
27009 Fix AtheFS support.
27010
27011 * fs/afs.c: Fix comments style.
27012 (grub_afs_blockrun): Declare as packed.
27013 (grub_afs_datastream): Likewise.
27014 (grub_afs_bnode): Likewise.
27015 (grub_afs_btree): Likewise.
27016 (grub_afs_sblock): Likewise.
27017 Declare `name' as char.
27018 (grub_afs_inode): Declare as packed.
27019 Change void *vnode to grub_uint32_t unused.
27020 (grub_afs_iterate_dir): Check that key_size is positive.
27021 (grub_afs_mount): Don't read superblock twice.
75421ca9 27022 (grub_afs_dir): Don't free node in case of error,
186f3189 27023 grub_fshelp_find_file already handles this.
27024 (grub_afs_open): Likewise.
27025
5680109e 270262009-07-19 Pavel Roskin <proski@gnu.org>
27027
27028 * Makefile.in: Remove LIBLZO and enable_lzo.
27029 * conf/i386-pc.rmk: Remove lzo support.
27030 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
27031 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
27032 support.
27033 * kern/i386/pc/lzo1x.S: Remove.
27034 * kern/i386/pc/startup.S: Remove lzo support.
27035 * util/i386/pc/grub-mkimage.c: Likewise.
27036
ac70fa32 270372009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
27038
27039 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
27040 * fs/xfs.c (grub_xfs_dir): Likewise.
27041 * fs/afs.c (grub_afs_dir): Likewise.
27042 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
27043 (grub_iso9660_open): Likewise.
27044 * fs/jfs.c (grub_jfs_open): Likewise.
27045 * fs/ext2.c (grub_ext2_dir): Likewise.
27046 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
27047 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 27048
eab58da2 270492009-07-16 Pavel Roskin <proski@gnu.org>
27050
d2838156 27051 * configure.ac: Never add "-c" to CFLAGS.
27052
55c70904 27053 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
27054
43e6200c 27055 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
27056 grub_cv_cc_efiemu should be used.
27057
ce7a733d 27058 * configure.ac: Typo fixes.
27059
eab58da2 27060 * kern/mm.c (grub_zalloc): New function.
27061 (grub_debug_zalloc): Likewise.
27062 * include/grub/mm.h: Declare grub_zalloc() and
27063 grub_debug_zalloc().
27064 * util/misc.c (grub_zalloc): New function.
27065 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
27066 instead of grub_malloc(), remove unneeded initializations.
27067 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
27068 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
27069 * commands/parttool.c (grub_cmd_parttool): Likewise.
27070 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
27071 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
27072 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
27073 * disk/usbms.c (grub_usbms_finddevs): Likewise.
27074 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
27075 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
27076 (grub_cmd_efiemu_pnvram): Likewise.
27077 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
27078 * fs/iso9660.c (grub_iso9660_mount): Likewise.
27079 (grub_iso9660_iterate_dir): Likewise.
27080 * fs/jfs.c (grub_jfs_opendir): Likewise.
27081 * fs/ntfs.c (list_file): Likewise.
27082 (grub_ntfs_mount): Likewise.
27083 * kern/disk.c (grub_disk_open): Likewise.
27084 * kern/dl.c (grub_dl_load_core): Likewise.
27085 * kern/elf.c (grub_elf_file): Likewise.
27086 * kern/env.c (grub_env_context_open): Likewise.
27087 (grub_env_set): Likewise.
27088 (grub_env_set_data_slot): Likewise.
27089 * kern/file.c (grub_file_open): Likewise.
27090 * kern/fs.c (grub_fs_blocklist_open): Likewise.
27091 * loader/i386/multiboot.c (grub_module): Likewise.
27092 * loader/xnu.c (grub_xnu_create_key): Likewise.
27093 (grub_xnu_create_value): Likewise.
27094 * normal/main.c (grub_normal_add_menu_entry): Likewise.
27095 (read_config_file): Likewise.
27096 * normal/menu_entry.c (make_screen): Likewise.
27097 * partmap/sun.c (sun_partition_map_iterate): Likewise.
27098 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
27099 * script/sh/script.c (grub_script_parse): Likewise.
27100 * video/bitmap.c (grub_video_bitmap_create): Likewise.
27101 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
27102 * video/readers/png.c (grub_png_output_byte): Likewise.
27103 (grub_video_reader_png): Likewise.
27104
830afef7 271052009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 27106
27107 Enable all targets that can be built by default
27108
830afef7 27109 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 27110 grub-mkfont and grub-fstest if they can be built
27111
ee293aee 271122009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27113
27114 Fix hang and segmentation fault in grub-emu-usb
27115
27116 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
27117 * util/usb.c (grub_libusb_devices): likewise
27118 (grub_libusb_init): rename to ...
27119 (GRUB_MOD_INIT (libusb)):...this
27120 (grub_libusb_fini): rename to ..
27121 (GRUB_MOD_FINI (libusb)):...this
27122 * disk/usbms.c (grub_usbms_transfer): fix retry logic
27123 * include/grub/disk.h (grub_raid_init): removed, it's useless
27124 (grub_raid_fini): likewise
27125 (grub_lvm_init): likewise
27126 (grub_lvm_fini): likewise
27127 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
27128 by grub_init_all
27129
94414221 271302009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27131
27132 Fix libusb
27133
27134 * Makefile.in (LIBUSB): new macro
27135 * genmk.rb (Utility/print_tail): new method
27136 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
27137 (top level): call util.print_tail at the end.
27138
59ade63d 271392009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27140
27141 Make FreeBSD accept zpool.cache
27142
27143 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
27144 type is /boot/zfs/zpool.cache
27145
a58da8c7 271462009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27147
27148 Fix 64-bit efiemu
27149
27150 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
27151 correct wrong typedef
27152 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
27153
20591577 271542009-07-15 Pavel Roskin <proski@gnu.org>
27155
560ca572 27156 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
27157 * kern/disk.c (struct grub_disk_cache): Likewise.
27158
e8e8e4fd 27159 * commands/probe.c (options): Typo fix.
27160
fde24e10 27161 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
27162 Increase to 0x5a to accommodate FAT32. Adjust other offsets
27163 accordingly.
27164 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
27165
379c54c1 27166 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
27167 the end of "Error" to make the message more readable.
27168
7bd8f5bf 27169 * boot/i386/pc/boot.S (kernel_segment): Remove.
27170 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
27171 for destination.
27172
40b132c5 27173 * boot/i386/pc/boot.S (boot_version): Remove.
27174 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
27175 Remove.
27176
20591577 27177 * include/grub/i386/pc/boot.h: Sort all offsets.
27178 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
27179 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
27180 * boot/i386/pc/boot.S: Assert location of every offset listed in
27181 include/grub/i386/pc/boot.h.
27182
2df32b2c 271832009-07-13 Pavel Roskin <proski@gnu.org>
27184
44b5d879 27185 * include/grub/i386/coreboot/machine.h: Rename
27186 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
27187 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
27188 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
27189
17dc3751 27190 * kern/dl.c: Force native word size to suppress warnings when
27191 compiling grub-emu.
27192
2df32b2c 27193 * kern/device.c (grub_device_iterate): Change struct part_ent to
27194 hold the name, not a pointer to it. Use one grub_malloc() per
27195 partition, not two. Free partition_name if grub_malloc() fails.
27196 Set ents to NULL only before grub_partition_iterate() is called.
27197
75c59f59 271982009-07-11 Bean <bean123ch@gmail.com>
27199
27200 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
27201 childname.
27202
0ae1bf88 272032009-07-10 Bean <bean123ch@gmail.com>
272042009-07-10 Robert Millan <rmh.grub@aybabtu.com>
27205
27206 * kern/ieee1275/openfw.c (grub_children_iterate)
27207 (grub_devalias_iterate): Fix size evaluation for property or path
27208 strings, which was broken since r2132.
27209
8279cade 272102009-07-07 Pavel Roskin <proski@gnu.org>
27211
7d8a52d3 27212 * commands/search.c (search_file): Merge into ...
27213 (search_fs): ... this. Accept search type as argument.
27214 (grub_cmd_search): Pass search type to search_fs().
27215
25f9a05a 27216 * include/grub/util/console.h: New file.
27217 * util/console.c: Use it instead of grub/machine/console.h.
27218 * util/grub-emu.c: Likewise.
27219
8279cade 27220 * lib/arg.c (find_long_option): Remove.
27221 (find_long): Add `len' argument, make `s' const char *.
27222 (grub_arg_parse): Parse long options in place, not in a
27223 temporary buffer.
27224
4a11b60f 272252009-07-06 Pavel Roskin <proski@gnu.org>
27226
99f68041 27227 * commands/search.c (search_fs): Fix potential NULL pointer
27228 dereference.
27229
4a11b60f 27230 * commands/search.c (search_fs): Replace QUID macro with quid_fn
27231 function pointer.
27232
e110f4de 272332009-07-06 Daniel Mierswa <impulze@impulze.org>
27234
27235 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
27236 comparison.
27237
46eeb6a2 272382009-07-05 Pavel Roskin <proski@gnu.org>
27239
bab74958 27240 * include/grub/i386/linux.h (struct linux_kernel_params):
27241 Restore padding3, it's still needed.
27242
46eeb6a2 27243 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
27244 FreeBSD.
27245 * util/osdetect.lua: Likewise.
27246
b4a1dc79 272472009-07-05 Bean <bean123ch@gmail.com>
27248
27249 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
27250
27251 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
27252 (grub_lua_getenv): Likewise.
27253 (grub_lua_setenv): Likewise.
27254 (save_errno): New function.
27255 (push_result): Likewise.
27256 (grub_lua_enum_device): Likewise.
27257 (grub_lua_enum_file): Likewise.
27258 (grub_lua_file_open): Likewise.
27259 (grub_lua_file_close): Likewise.
27260 (grub_lua_file_seek): Likewise.
27261 (grub_lua_file_read): Likewise.
27262 (grub_lua_file_getline): Likewise.
27263 (grub_lua_file_getsize): Likewise.
27264 (grub_lua_file_getpos): Likewise.
27265 (grub_lua_file_eof): Likewise.
27266 (grub_lua_file_exist): Likewise.
27267 (grub_lua_add_menu): Likewise.
27268
27269 * script/lua/grub_lua.h (isupper): New inline function.
27270 (islower): Likewise.
27271 (ispunct): Likewise.
27272 (isxdigit): Likewise.
27273 (strcspn): Change to normal function.
27274 (strpbkr): New function declaration.
27275 (memchr): Likewise.
27276
27277 * script/lua/grub_main.c (scan_str): New function.
27278 (strcspn): Likewise.
27279 (strpbrk): Likewise.
27280 (memchr): Likewise.
27281
27282 * script/lua/linit.c (lualibs): Enable the string library.
27283
27284 * util/osdetect.lua: New file.
27285
2da92295 272862009-07-04 Robert Millan <rmh.grub@aybabtu.com>
27287
27288 * include/grub/i386/linux.h (struct linux_kernel_params): Add
27289 `capabilities' member.
27290
b2582ec9 272912009-07-02 Pavel Roskin <proski@gnu.org>
27292
27293 * genparttoollist.sh: Add missing newline at the end.
27294
32622956 272952009-07-01 Pavel Roskin <proski@gnu.org>
27296
87a7339e 27297 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
27298
d23af54e 27299 * util/hostdisk.c (open_device): Remove `const' from
27300 `sysctl_size', as sysctlbyname() can change it (in this case it
27301 doesn't actually happen).
27302
c94b18a9 27303 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
27304 using signed long int constants.
27305
c6cd3ef0 27306 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
27307 constant to avoid a warning on FreeBSD.
27308
0df63420 27309 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
27310 where it's needed.
27311
999577f1 27312 * Makefile.in: Install include/grub/machine symlink.
27313
6f41557f 27314 * Makefile.in: When installing symlinks, use "cp -fR", which
27315 works on FreeBSD and MacOSX.
27316 From Yves Blusseau <cl7m42e02@sneakemail.com>
27317
c8d22988 27318 * kern/dl.c (grub_dl_resolve_symbol): Make static.
27319 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
27320
1b96e952 27321 * util/misc.c: Move grub_reboot() and grub_halt() ...
27322 * util/grub-emu.c: ... here. Make main_env static.
27323 * include/grub/util/misc.h: Remove main_env.
27324
2ef0084d 27325 * kern/mm.c: Use correct format to print size_t.
27326
32622956 27327 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
27328 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
27329 * kern/powerpc/dl.c: Likewise.
27330 * kern/sparc64/dl.c: Likewise.
27331 * kern/x86_64/dl.c: Likewise.
27332
3f7f0cd0 273332009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27334
27335 Fix grub-emu build on sparc64-ieee1275.
27336
75421ca9 27337 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 27338 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
27339
211d06b5 273402009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27341
27342 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
27343 (grub_reboot, grub_halt): New functions.
27344
27345 * util/i386/pc/misc.c: Delete. Update all users.
27346 * util/sparc64/ieee1275/misc.c: Likewise.
27347 * util/powerpc/ieee1275/misc.c: Likewise.
27348
aaf53e3c 273492009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27350
27351 * conf/i386.rmk (setjmp_mod_SOURCES)
27352 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
27353 * conf/common.rmk (setjmp_mod_SOURCES)
27354 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
27355 to use $(target_cpu).
27356 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
27357 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
27358 * conf/powerpc-ieee1275.rmk: Likewise.
27359 * conf/sparc64-ieee1275.rmk: Likewise.
27360
27361 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
27362 $(target_cpu) for kern/$(target_cpu)/dl.c.
27363 * conf/i386-efi.rmk: Likewise.
27364 * conf/i386-ieee1275.rmk: Likewise.
27365 * conf/x86_64-efi.rmk: Likewise.
27366 * conf/i386-coreboot.rmk: Likewise.
27367 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
27368 $(target_cpu) for kern/$(target_cpu)/dl.c and for
27369 kern/$(target_cpu)/cache.S.
27370 * conf/sparc64-ieee1275.rmk: Likewise.
27371
a337130b 273722009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27373
27374 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
27375 type to `grub_uint8_t', and adjust `padding9' accordingly.
27376
c6fe4d53 273772009-06-29 Robert Millan <rmh.grub@aybabtu.com>
27378
b09db61d 27379 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
27380
c6fe4d53 27381 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
27382 assembly in final jump, using register constraints.
27383
b09db61d 27384 (grub_linux_boot): For text mode, initialize `have_vga' using
27385 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
27386
27387 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
27388 right before the final jump.
27389
27390 Set `video_mode' to 0x3.
27391
27392 Document initialization of `video_page', `video_mode' and
27393 `video_ega_bx'.
27394
28333ad0 273952009-06-29 Robert Millan <rmh.grub@aybabtu.com>
27396
27397 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
27398 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 27399 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 27400
02164e1b 274012009-06-29 Robert Millan <rmh.grub@aybabtu.com>
27402
27403 Fix build on Debian / sparc.
27404
27405 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
27406
18b6c557 274072009-06-28 Pavel Roskin <proski@gnu.org>
27408
85f2aab6 27409 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
27410 fix a warning.
27411
18b6c557 27412 * util/grub.d/10_linux.in: Match SUSE style initrd names.
27413
ad760f81 274142009-06-27 Robert Millan <rmh.grub@aybabtu.com>
27415
27416 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
27417 `err'.
27418
87a4623b 274192009-06-27 Robert Millan <rmh.grub@aybabtu.com>
27420
27421 Revert r2338.
27422
27423 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
27424 file can't be opened. grub_file_open() is already supposed to set
75421ca9 27425 grub_errno / grub_errmsg appropriately.
87a4623b 27426 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
27427
8231fb77 274282009-06-27 Pavel Roskin <proski@gnu.org>
274292009-06-27 Robert Millan <rmh.grub@aybabtu.com>
27430
27431 * include/grub/dl.h: Include grub/elf.h.
27432 (struct grub_dl): Add symtab field.
27433 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
27434 GRUB_MODULES_MACHINE_READONLY.
27435 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
27436 of the header for read-only modules.
27437 (grub_dl_unload): Free mod->symtab for read-only modules.
27438 * kern/i386/dl.c: Use mod->symtab.
27439 * kern/powerpc/dl.c: Likewise.
27440 * kern/sparc64/dl.c: Likewise.
27441 * kern/x86_64/dl.c: Likewise.
27442
27443 * conf/i386-qemu.rmk: New file.
27444 * kern/i386/qemu/startup.S: Likewise.
27445 * kern/i386/qemu/mmap.c: Likewise.
27446 * boot/i386/qemu/boot.S: Likewise.
27447 * include/grub/i386/qemu/time.h: Likewise.
27448 * include/grub/i386/qemu/serial.h: Likewise.
27449 * include/grub/i386/qemu/kernel.h: Likewise.
27450 * include/grub/i386/qemu/console.h: Likewise.
27451 * include/grub/i386/qemu/boot.h: Likewise.
27452 * include/grub/i386/qemu/init.h: Likewise.
27453 * include/grub/i386/qemu/machine.h: Likewise.
27454 * include/grub/i386/qemu/loader.h: Likewise.
27455 * include/grub/i386/qemu/memory.h: Likewise.
27456
27457 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
27458 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
27459 [qemu] (pkglib_IMAGES): Add `boot.img'.
27460 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
27461 [qemu] (boot_img_FORMAT): New variables.
27462 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
27463 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
27464 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
27465 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27466 [qemu] (kernel_img_FORMAT): New variables.
27467
27468 * configure.ac: Recognise `i386-qemu'.
27469
27470 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
27471 (for no compression).
27472 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
27473 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
27474 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
27475 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
27476 ifdefs).
27477
97fe384e 274782009-06-27 Pavel Roskin <proski@gnu.org>
27479
27480 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
27481 read.
27482 * efiemu/prepare32.c: Likewise.
27483 * efiemu/prepare64.c: Likewise.
27484
c402ab17 274852009-06-26 Pavel Roskin <proski@gnu.org>
27486
27487 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
27488 * include/grub/elf.h: Define symbols without "32" or "64" based
27489 on GRUB_TARGET_WORDSIZE.
27490 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
27491 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
27492 ELF definitions.
27493 * efiemu/loadcore64.c: Likewise.
27494 * loader/i386/bsd32.c: Likewise.
27495 * loader/i386/bsd64.c: Likewise.
27496 * kern/dl.c: Remove own ELF definitions.
27497 * util/i386/efi/grub-mkimage.c: Likewise.
27498
9bbdfd4d 274992009-06-23 Robert Millan <rmh.grub@aybabtu.com>
27500
27501 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
27502 segment 0x0 unconditionally, because the reference generated by
27503 GAS is an absolute address.
27504
a42ce6e9 275052009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27506
27507 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
27508 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
27509
c952cf92 275102009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27511
27512 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
27513 indexes. Check for -f explicitly.
cc3752ad 27514 (search_file): Improve error message.
27515 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 27516
132a0a59 275172009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27518
27519 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
27520 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
27521
387a140c 275222009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27523
27524 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
27525 * conf/i386-ieee1275.rmk: Likewise.
27526 * conf/i386-coreboot.rmk: Likewise.
27527
27528 * kern/i386/pc/startup.S (grub_stop): Remove function.
27529 * kern/i386/ieee1275/startup.S: Likewise.
27530 * kern/i386/coreboot/startup.S: Likewise.
27531 * kern/i386/misc.S (grub_stop): New function.
27532
41da9665 275332009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27534
27535 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
27536 * kern/i386/realmode.S (real_to_prot): ... to here.
27537
bf337234 275382009-06-22 Robert Millan <rmh.grub@aybabtu.com>
27539
27540 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
27541 with `kernel.img'.
27542 (kernel_elf_SOURCES): Rename to ...
27543 (kernel_img_SOURCES): ... this.
27544 (kernel_elf_HEADERS): Rename to ...
27545 (kernel_img_HEADERS): ... this. Update all users.
27546 (kernel_elf_ASFLAGS): Rename to ...
27547 (kernel_img_ASFLAGS): ... this.
27548 (kernel_elf_CFLAGS): Rename to ...
27549 (kernel_img_CFLAGS): ... this.
27550 (kernel_elf_LDFLAGS): Rename to ...
27551 (kernel_img_LDFLAGS): ... this.
27552 * conf/i386-coreboot.rmk: Likewise.
27553 * conf/powerpc-ieee1275.rmk: Likewise.
27554
27555 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
27556 with "kernel.img".
27557
f52196ff 275582009-06-21 Pavel Roskin <proski@gnu.org>
27559
c3cee413 27560 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
27561 to match nested functions.
27562 * loader/sparc64/ieee1275/linux.c: Likewise.
27563
f52196ff 27564 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
27565
58750afc 275662009-06-21 Robert Millan <rmh.grub@aybabtu.com>
27567
27568 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
27569 all i386 platforms.
27570
15355c7d 275712009-06-21 Robert Millan <rmh.grub@aybabtu.com>
27572
27573 Fix asm file handling on ELF, and remove workarounds.
27574
27575 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 27576 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 27577 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
27578 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
27579
3f3ec72b 275802009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
27581
27582 Load BSD ELF modules
27583
27584 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
27585 and loader/i386/bsd64.c
27586 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
27587 (FREEBSD_MODTYPE_ELF_MODULE): New definition
27588 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
27589 (grub_freebsd_load_elfmodule32): New declaration
27590 (grub_freebsd_load_elfmoduleobj64): Likewise
27591 (grub_freebsd_load_elf_meta32): Likewise
27592 (grub_freebsd_load_elf_meta64): Likewise
27593 (grub_freebsd_add_meta): Likewise
27594 (grub_freebsd_add_meta_module): Likewise
27595 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
27596 (grub_freebsd_add_meta_module): Likewise and move module-specific
27597 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
27598 (grub_cmd_freebsd): Add elf-kernel specific parts
27599 based on grub_freebsd_add_meta_module
27600 (grub_cmd_freebsd_module): Add type parsing moved from
27601 grub_freebsd_add_meta_module
27602 (grub_cmd_freebsd_module_elf): New function
27603 (cmd_freebsd_module_elf): New variable
27604 (GRUB_MOD_INIT): Register freebsd_module_elf
27605 * loader/i386/bsd32.c: New file
27606 * loader/i386/bsd64.c: Likewise
27607 * loader/i386/bsdXX.c: Likewise
27608 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
27609 (grub_elf64_load): Likewise
27610 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
27611 All users updated
27612 (grub_elf64_load_hook_t): Likewise
27613
0db15301 276142009-06-21 Colin Watson <cjwatson@ubuntu.com>
27615
27616 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
27617 variable.
27618 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
27619 don't write a menu entry for recovery mode.
27620
546796c1 276212009-06-20 Robert Millan <rmh.grub@aybabtu.com>
27622
27623 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
27624 after it's no longer needed.
27625
cd7310d5 276262009-06-20 Robert Millan <rmh.grub@aybabtu.com>
27627
27628 * include/grub/i386/loader.h (grub_linux_prot_size)
27629 (grub_linux_tmp_addr, grub_linux_real_addr)
27630 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
27631 GRUB_MACHINE_PCBIOS.
27632 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
27633 common grub_util_info() call to ...
27634 (generate_image): ... here.
27635 Fix use of uninitialized memory, comparison of signed with
27636 unsigned integers and memory leak.
27637 Remove bogus module address message.
27638
ab32d3b5 276392009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27640
27641 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
27642 grub_raid_register
27643 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
27644
024ef597 276452009-06-19 Pavel Roskin <proski@gnu.org>
27646
27647 * configure.ac: Remove stray AC_MSG_CHECKING.
27648
3ac72b51 276492009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
27650
27651 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 27652
e14cd814 276532009-06-18 Pavel Roskin <proski@gnu.org>
27654
27655 * conf/common.rmk: Add fs_file.mod.
27656 * disk/fs_file.c: New file.
27657 * include/grub/disk.h (enum grub_disk_dev_id): Add
27658 GRUB_DISK_DEVICE_FILE_ID.
27659
26586d98 276602009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
27661
27662 Fix build with Apple's toolchain. Part 2
27663
27664 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
27665 a fake start
27666
26de2bcd 276672009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
27668
27669 Fix build with Apple's toolchain. Part 1
27670
27671 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
27672 for long calls
27673 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 27674 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 27675 Apple's toolchain
27676
09b3490b 276772009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
27678
27679 Fix warnings
27680
27681 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
27682 (decomp_block): initialize ch
27683 use grub_memcpy instead of memcpy
27684
c22a006a 276852009-06-17 Pavel Roskin <proski@gnu.org>
27686
d3638678 27687 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
27688 version, use declarations needed to use vga_text as the startup
27689 console.
27690
c22a006a 27691 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
27692 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
27693 the kernel.
27694 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
27695 and grub_at_keyboard_fini(), it's done on module load and
27696 unload.
27697
05b129e0 276982009-06-17 Felix Zielcke <fzielcke@z-51.de>
27699
27700 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
27701 file can't be found.
27702 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
27703
cf24ed9e 277042009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
27705
27706 Fix newline handling
27707
27708 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 27709 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 27710 (grub_script_yylex): don't segfault on unterminated script
27711 newline terminates command and variable
27712
74aa8e4b 277132009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
27714
27715 avoid double grub_adjust_range call. Bug reported by David Simner
27716
27717 * kern/disk.c (grub_disk_write): change to raw disk access before
27718 calling disk_read
27719
1bd265f3 277202009-06-17 Colin Watson <cjwatson@ubuntu.com>
27721
27722 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
27723 spaces, for the benefit of help2man.
27724 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27725
a2d08c06 277262009-06-16 Pavel Roskin <proski@gnu.org>
27727
27728 * kern/i386/halt.c: Include grub/machine/init.h.
27729 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
27730
b97bcb19 277312009-06-16 Felix Zielcke <fzielcke@z-51.de>
27732
27733 * util/grub.d/30_os-prober.in: Use ${root} in the generated
27734 drivemap menuentry.
27735
0644f96c 277362009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
27737
27738 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
27739 `echo' command.
27740
3ef17a2e 277412009-06-16 Pavel Roskin <proski@gnu.org>
27742
27743 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
27744 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
27745 save %dx, we only need %dl and we never change it.
27746 * boot/i386/pc/cdboot.S: Don't set the root drive.
27747 * boot/i386/pc/pxeboot.S: Likewise.
27748 * include/grub/i386/pc/boot.h: Remove
27749 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
27750 GRUB_BOOT_MACHINE_DRIVE_CHECK.
27751 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
27752 * kern/i386/pc/init.c (make_install_device): Remove references
27753 to grub_root_drive.
27754 * kern/i386/pc/startup.S: Likewise.
27755 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
27756
693fe637 277572009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
27758
27759 xnu_uuid command
27760
27761 * commands/xnu_uuid.c: new file
27762 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
27763 (xnu_uuid_mod_SOURCES): new variable
27764 (xnu_uuid_mod_CFLAGS): likewise
27765 (xnu_uuid_mod_LDFLAGS): likewise
27766 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
27767 * conf/i386-ieee1275.rmk: likewise
27768 * conf/i386-pc.rmk: likewise
27769 * conf/powerpc-ieee1275.rmk: likewise
27770 * conf/sparc64-ieee1275.rmk: likewise
27771 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
27772
c9da87d0 277732009-06-16 Pavel Roskin <proski@gnu.org>
27774
27775 * configure.ac: Avoid '==' in test command, it's not portable.
27776
9c6f4596 277772009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
27778
27779 Probe command
27780
27781 * commands/probe.c: new file
27782 * conf/common.rmk (pkglib_MODULES): add probe.mod
27783 (probe_mod_SOURCES): new variable
27784 (probe_mod_CFLAGS): likewise
27785 (probe_mod_LDFLAGS): likewise
27786 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
27787 * conf/i386-ieee1275.rmk: likewise
27788 * conf/i386-pc.rmk: likewise
27789 * conf/powerpc-ieee1275.rmk: likewise
27790 * conf/sparc64-ieee1275.rmk: likewise
27791
70b7f9fd 277922009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
27793
27794 Fix handling of string like \"hello\" and "a
27795 b"
27796
27797 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
27798 (grub_script_yylex): fix parsing of quoting, escaping and newline
27799
71c79a6b 278002009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
27801
dd74360c 27802 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 27803 handling
dd74360c 27804
0644f96c 278052009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 27806
27807 * util/grub-mkconfig.in: Fix parsing of --output option.
27808
e40893c3 278092009-06-12 Pavel Roskin <proski@gnu.org>
27810
27811 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
27812 genmk.rb don't need to be generated or installed.
27813
3a1acfe2 278142009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27815
27816 * commands/i386/pc/drivemap_int13h.S: add more comments
27817
3a4575d4 278182009-06-11 Pavel Roskin <proski@gnu.org>
27819
0658e928 27820 * Makefile.in (uninstall): Uninstall manuals.
27821
ca0388f0 27822 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
27823 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
27824 and update-grub_lib in two places.
27825 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
27826
e3b27c39 27827 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
27828 a compiler warning.
27829
3a4575d4 27830 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
27831 `entry_lo' to fix variable shadowing.
27832
af1f4f55 278332009-06-11 Christian Franke <franke@computer.org>
27834
27835 * kern/misc.c (__enable_execute_stack): Add missing return type
27836 to prevent gcc warning.
27837
5225e649 278382009-06-11 Felix Zielcke <fzielcke@z-51.de>
27839
27840 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
27841
7d83bd47 278422009-06-11 Pavel Roskin <proski@gnu.org>
27843
c1cb63ba 27844 * Makefile.in: Don't rely on any scripts being executable.
27845 Always use $(SHELL) to run shell scripts.
27846
7d83bd47 27847 * configure.ac: Always define ___main if using -nostdlib. This
27848 fixes tests on Cygwin.
27849
948f48e7 278502009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
27851
27852 UDF fix
27853
7d83bd47 27854 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 27855 is in bytes and not in blocks
7d83bd47 27856
8ada9bc1 278572009-06-11 Pavel Roskin <proski@gnu.org>
27858
27859 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
27860 warning.
27861
25ad2323 278622009-06-11 Felix Zielcke <fzielcke@z-51.de>
27863
27864 * util/grub.d/30_os-prober.in: Fix a comment. Source
27865 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
27866 to set the root device. Place drivemap command in the generated
27867 chain entry.
27868
e65acb0c 278692009-06-11 Pavel Roskin <proski@gnu.org>
27870
27871 * configure.ac: Remove host_m32. Issues with 64-bit utilities
27872 have long been resolved.
27873
f285fe2d 278742009-06-11 Colin Watson <cjwatson@ubuntu.com>
27875
bd47b0b5 27876 * util/grub.d/10_linux.in: Capitalise "Linux".
27877
f285fe2d 27878 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
27879
a0c62e4e 278802009-06-11 Pavel Roskin <proski@gnu.org>
27881
b6783cb2 27882 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
27883 fix a gcc warning and ensure that the function won't ever exit.
27884
dde032e8 27885 * kern/i386/ieee1275/init.c: Add missing prototype for
27886 grub_stop_floppy().
27887
22cd079d 27888 * loader/ieee1275/multiboot2.c [__i386__]: Include
27889 grub/cpu/multiboot.h.
27890
a0c62e4e 27891 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
27892 casts to short - they are not portable and cause warnings. Fix
27893 use of uninitialized values in input_buf. Use ARRAY_SIZE.
27894
63963d17 278952009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
27896
27897 Drivemap fixes
27898
27899 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
27900 new function
27901 (grub_get_root_biosnumber_saved): new variable
27902 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
27903 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 27904 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 27905 %dx after the call if necessary
27906 * conf/common.rmk (pkglib_MODULES): remove boot.mod
27907 (boot_mod_SOURCES): remove
27908 (boot_mod_CFLAGS): remove
27909 (boot_mod_LDFLAGS): remove
27910 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
27911 (boot_mod_SOURCES): new variable
27912 (boot_mod_CFLAGS): likewise
27913 (boot_mod_LDFLAGS): likewise
27914 * conf/i386-efi.rmk: likewise
27915 * conf/i386-ieee1275.rmk: likewise
27916 * conf/i386-pc.rmk: likewise
27917 * conf/powerpc-ieee1275.rmk: likewise
27918 * conf/sparc64-ieee1275.rmk: likewise
27919 * conf/x86_64-efi.rmk: likewise
27920 * include/grub/i386/pc/biosnum.h: new file
27921 * lib/i386/pc/biosnum.c: likewise
27922 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
27923 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
27924 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 27925
33abf7ae 279262009-06-10 Pavel Roskin <proski@gnu.org>
27927
5ac35b35 27928 * io/gzio.c (test_header): Don't reuse one buffer for all data.
27929 Use separate variables. Read only the file size at the end, but
27930 not the checksum that we don't use.
27931
5c5215d5 27932 * kern/file.c (grub_file_read): Use void pointer for the buffer.
27933 Adjust all callers.
27934
27d5fef7 27935 * kern/ieee1275/openfw.c: Remove libc includes.
27936 * kern/ieee1275/cmain.c: Likewise.
27937 * include/grub/ieee1275/ieee1275.h: Likewise.
27938
33abf7ae 27939 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
27940 compiler warnings.
27941
19d50c2b 279422009-06-10 Felix Zielcke <fzielcke@z-51.de>
27943
27944 * Makefile.in: Remove all trailing whitespace.
27945 * conf/i386-pc.rmk: Likewise.
27946 * conf/powerpc-ieee1275.rmk: Likewise.
27947 * conf/sparc64-ieee1275.rmk: Likewise.
27948 * docs/grub.texi: Likewise.
27949 * docs/texinfo.tex: Likewise.
27950 * disk/fs_uuid.c: Likewise.
27951 * disk/lvm.c: Likewise.
27952 * disk/scsi.c: Likewise.
27953 * disk/ata.c: Likewise.
27954 * disk/ieee1275/ofdisk.c: Likewise.
27955 * disk/i386/pc/biosdisk.c: Likewise.
27956 * disk/host.c: Likewise.
27957 * disk/raid.c: Likewise.
27958 * disk/efi/efidisk.c: Likewise.
27959 * disk/usbms.c: Likewise.
27960 * disk/memdisk.c: Likewise.
27961 * disk/loopback.c: Likewise.
27962 * kern/powerpc/dl.c: Likewise.
27963 * kern/device.c: Likewise.
27964 * kern/dl.c: Likewise.
27965 * kern/sparc64/dl.c: Likewise.
27966 * kern/ieee1275/ieee1275.c: Likewise.
27967 * kern/term.c: Likewise.
27968 * kern/fs.c: Likewise.
27969 * kern/i386/dl.c: Likewise.
27970 * kern/i386/pc/startup.S: Likewise.
27971 * kern/i386/pc/init.c: Likewise.
27972 * kern/i386/pc/mmap.c: Likewise.
27973 * kern/i386/pc/lzo1x.S: Likewise.
27974 * kern/i386/ieee1275/init.c: Likewise.
27975 * kern/i386/realmode.S: Likewise.
27976 * kern/i386/tsc.c: Likewise.
27977 * kern/partition.c: Likewise.
27978 * kern/corecmd.c: Likewise.
27979 * kern/file.c: Likewise.
27980 * kern/efi/efi.c: Likewise.
27981 * kern/efi/init.c: Likewise.
27982 * kern/efi/mm.c: Likewise.
27983 * kern/main.c: Likewise.
27984 * kern/err.c: Likewise.
27985 * kern/env.c: Likewise.
27986 * kern/disk.c: Likewise.
27987 * kern/generic/millisleep.c: Likewise.
27988 * kern/generic/rtc_get_time_ms.c: Likewise.
27989 * kern/misc.c: Likewise.
27990 * kern/parser.c: Likewise.
27991 * genmk.rb: Likewise.
27992 * configure.ac: Likewise.
27993 * boot/i386/pc/diskboot.S: Likewise.
27994 * boot/i386/pc/pxeboot.S: Likewise.
27995 * boot/i386/pc/boot.S: Likewise.
27996 * boot/i386/pc/lnxboot.S: Likewise.
27997 * boot/i386/pc/cdboot.S: Likewise.
27998 * parttool/pcpart.c: Likewise.
27999 * video/readers/tga.c: Likewise.
28000 * video/video.c: Likewise.
28001 * video/bitmap.c: Likewise.
28002 * lib/envblk.c: Likewise.
28003 * lib/i386/setjmp.S: Likewise.
28004 * fs/xfs.c: Likewise.
28005 * fs/afs.c: Likewise.
28006 * fs/fat.c: Likewise.
28007 * fs/ntfs.c: Likewise.
28008 * fs/udf.c: Likewise.
28009 * fs/affs.c: Likewise.
28010 * fs/iso9660.c: Likewise.
28011 * fs/hfs.c: Likewise.
28012 * fs/fshelp.c: Likewise.
28013 * fs/ext2.c: Likewise.
28014 * fs/jfs.c: Likewise.
28015 * fs/reiserfs.c: Likewise.
28016 * fs/hfsplus.c: Likewise.
28017 * fs/minix.c: Likewise.
28018 * fs/cpio.c: Likewise.
28019 * fs/sfs.c: Likewise.
28020 * fs/ufs.c: Likewise.
28021 * efiemu/prepare.c: Likewise.
28022 * efiemu/loadcore_common.c: Likewise.
28023 * efiemu/runtime/efiemu.sh: Likewise.
28024 * efiemu/runtime/efiemu.S: Likewise.
28025 * efiemu/runtime/efiemu.c: Likewise.
28026 * efiemu/pnvram.c: Likewise.
28027 * efiemu/main.c: Likewise.
28028 * efiemu/i386/pc/cfgtables.c: Likewise.
28029 * efiemu/i386/loadcore64.c: Likewise.
28030 * efiemu/i386/loadcore32.c: Likewise.
28031 * efiemu/loadcore.c: Likewise.
28032 * efiemu/symbols.c: Likewise.
28033 * efiemu/mm.c: Likewise.
28034 * include/grub/autoefi.h: Likewise.
28035 * include/grub/datetime.h: Likewise.
28036 * include/grub/term.h: Likewise.
28037 * include/grub/hfs.h: Likewise.
28038 * include/grub/lvm.h: Likewise.
28039 * include/grub/i386/tsc.h: Likewise.
28040 * include/grub/i386/linux.h: Likewise.
28041 * include/grub/i386/xnu.h: Likewise.
28042 * include/grub/i386/efiemu.h: Likewise.
28043 * include/grub/i386/pc/biosdisk.h: Likewise.
28044 * include/grub/i386/pc/memory.h: Likewise.
28045 * include/grub/i386/pc/vbe.h: Likewise.
28046 * include/grub/parttool.h: Likewise.
28047 * include/grub/video.h: Likewise.
28048 * include/grub/memory.h: Likewise.
28049 * include/grub/fs.h: Likewise.
28050 * include/grub/partition.h: Likewise.
28051 * include/grub/xnu.h: Likewise.
28052 * include/grub/efi/api.h: Likewise.
28053 * include/grub/efi/pe32.h: Likewise.
28054 * include/grub/efi/memory.h: Likewise.
28055 * include/grub/multiboot.h: Likewise.
28056 * include/grub/usbdesc.h: Likewise.
28057 * include/grub/multiboot2.h: Likewise.
28058 * include/grub/acpi.h: Likewise.
28059 * include/grub/efiemu/efiemu.h: Likewise.
28060 * include/grub/disk.h: Likewise.
28061 * include/grub/ieee1275/ieee1275.h: Likewise.
28062 * include/grub/net.h: Likewise.
28063 * include/grub/machoload.h: Likewise.
28064 * include/grub/macho.h: Likewise.
28065 * include/multiboot.h: Likewise.
28066 * genmoddep.awk: Likewise.
28067 * normal/main.c: Likewise.
28068 * normal/menu_entry.c: Likewise.
28069 * normal/menu_viewer.c: Likewise.
28070 * normal/completion.c: Likewise.
28071 * normal/cmdline.c: Likewise.
28072 * normal/misc.c: Likewise.
28073 * normal/datetime.c: Likewise.
28074 * bus/usb/usbtrans.c: Likewise.
28075 * bus/usb/ohci.c: Likewise.
28076 * bus/usb/uhci.c: Likewise.
28077 * bus/usb/usb.c: Likewise.
28078 * mmap/efi/mmap.c: Likewise.
28079 * mmap/i386/pc/mmap_helper.S: Likewise.
28080 * mmap/i386/pc/mmap.c: Likewise.
28081 * mmap/i386/mmap.c: Likewise.
28082 * mmap/i386/uppermem.c: Likewise.
28083 * mmap/mmap.c: Likewise.
28084 * commands/acpi.c: Likewise.
28085 * commands/echo.c: Likewise.
28086 * commands/blocklist.c: Likewise.
28087 * commands/loadenv.c: Likewise.
28088 * commands/usbtest.c: Likewise.
28089 * commands/boot.c: Likewise.
28090 * commands/parttool.c: Likewise.
28091 * commands/search.c: Likewise.
28092 * commands/cat.c: Likewise.
28093 * commands/i386/pc/play.c: Likewise.
28094 * commands/i386/pc/drivemap.c: Likewise.
28095 * commands/i386/pc/vbeinfo.c: Likewise.
28096 * commands/i386/pc/acpi.c: Likewise.
28097 * commands/i386/pc/vbetest.c: Likewise.
28098 * commands/ls.c: Likewise.
28099 * commands/cmp.c: Likewise.
28100 * commands/test.c: Likewise.
28101 * commands/efi/acpi.c: Likewise.
28102 * commands/gptsync.c: Likewise.
28103 * commands/help.c: Likewise.
28104 * partmap/amiga.c: Likewise.
28105 * partmap/apple.c: Likewise.
28106 * partmap/acorn.c: Likewise.
28107 * partmap/pc.c: Likewise.
28108 * partmap/sun.c: Likewise.
28109 * partmap/gpt.c: Likewise.
28110 * script/sh/lexer.c: Likewise.
28111 * script/sh/function.c: Likewise.
28112 * font/font.c: Likewise.
28113 * font/font_cmd.c: Likewise.
28114 * loader/powerpc/ieee1275/linux.c: Likewise.
28115 * loader/efi/chainloader.c: Likewise.
28116 * loader/multiboot_loader.c: Likewise.
28117 * loader/macho.c: Likewise.
28118 * loader/i386/multiboot.c: Likewise.
28119 * loader/i386/linux.c: Likewise.
28120 * loader/i386/pc/linux.c: Likewise.
28121 * loader/i386/pc/multiboot2.c: Likewise.
28122 * loader/i386/pc/chainloader.c: Likewise.
28123 * loader/i386/pc/xnu.c: Likewise.
28124 * loader/i386/bsd_trampoline.S: Likewise.
28125 * loader/i386/efi/linux.c: Likewise.
28126 * loader/i386/multiboot_elfxx.c: Likewise.
28127 * loader/i386/bsd_helper.S: Likewise.
28128 * loader/i386/bsd.c: Likewise.
28129 * loader/i386/linux_trampoline.S: Likewise.
28130 * loader/i386/xnu_helper.S: Likewise.
28131 * loader/i386/xnu.c: Likewise.
28132 * loader/i386/bsd_pagetable.c: Likewise.
28133 * loader/i386/multiboot_helper.S: Likewise.
28134 * loader/xnu.c: Likewise.
28135 * loader/xnu_resume.c: Likewise.
28136 * io/gzio.c: Likewise.
28137 * term/efi/console.c: Likewise.
28138 * term/terminfo.c: Likewise.
28139 * term/ieee1275/ofconsole.c: Likewise.
28140 * term/i386/pc/serial.c: Likewise.
28141 * term/i386/pc/vesafb.c: Likewise.
28142 * term/i386/pc/vga.c: Likewise.
28143 * term/usb_keyboard.c: Likewise.
28144 * term/gfxterm.c: Likewise.
28145 * aclocal.m4: Likewise.
28146 * util/lvm.c: Likewise.
28147 * util/grub.d/30_os-prober.in: Likewise.
28148 * util/grub.d/10_hurd.in: Likewise.
28149 * util/console.c: Likewise.
28150 * util/grub-macho2img.c: Likewise.
28151 * util/grub-probe.c: Likewise.
28152 * util/hostfs.c: Likewise.
28153 * util/i386/pc/grub-mkimage.c: Likewise.
28154 * util/i386/pc/grub-setup.c: Likewise.
28155 * util/i386/efi/grub-mkimage.c: Likewise.
28156 * util/grub-mkconfig.in: Likewise.
28157 * util/raid.c: Likewise.
28158 * util/resolve.c: Likewise.
28159 * util/grub-mkdevicemap.c: Likewise.
28160 * util/grub-emu.c: Likewise.
28161 * util/getroot.c: Likewise.
28162 * util/hostdisk.c: Likewise.
28163 * util/usb.c: Likewise.
28164 * util/grub-editenv.c: Likewise.
28165 * util/misc.c: Likewise.
28166
d2d49665 281672009-06-10 Felix Zielcke <fzielcke@z-51.de>
28168
28169 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
28170 `genparttoollist.sh'.
28171 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
28172 Add `*.sh' to the list find searches for and change `mdate.sh'
28173 to `mdate-sh'.
28174
fe052e37 281752009-06-10 Pavel Roskin <proski@gnu.org>
28176
2763ac18 28177 * include/grub/multiboot2.h: Provide compatibility defines for
28178 multiboot2.h.
28179 * include/multiboot2.h: Include stdint.h only if needed, using
28180 angle brackets.
28181 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
28182 grub/multiboot2.h.
28183 * loader/ieee1275/multiboot2.c: Likewise.
28184 * loader/multiboot2.c: Likewise.
28185 * loader/multiboot_loader.c: Likewise.
28186
437e6adc 28187 * configure.ac: Use -nostdlib when probing for the target. It
28188 should not be required to have libc for the target.
28189
06a6836c 28190 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
28191 they fail without libc headers for the target.
28192 * include/grub/powerpc/libgcc.h: Use weak attribute for all
28193 exports.
28194 * include/grub/sparc64/libgcc.h: Likewise. Don't use
28195 preprocessor conditionals.
28196
fe052e37 28197 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
28198 build system doesn't need to be aware of the tar.c internals.
28199
afd22553 282002009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 28201
afd22553 28202 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 28203
6b787c4f 282042009-06-09 Robert Millan <rmh.grub@aybabtu.com>
28205
28206 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
28207 disk limit to 26 for IDE, Virtio, Xen and SCSI.
28208
282092009-06-09 Felix Zielcke <fzielcke@z-51.de>
28210
28211 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 28212 aren't available if ata.mod gets used.
6b787c4f 28213
473d1e45 282142009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 28215
473d1e45 28216 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 28217 initialising controller.
473d1e45 28218 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 28219
255a27d4 282202009-06-08 Felix Zielcke <fzielcke@z-51.de>
28221
28222 * util/i386/pc/grub-install.in: Add a parameter --disk-module
28223 to choose between ata and biosdisk module on i386-pc.
28224
473d1e45 282252009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 28226
d55842d8 28227 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
28228 Subclass and Programming Interface fields in terms of the 3 byte
28229 Class Code register.
28230 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
28231
fa5db0b1 28232 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
28233 interface is OHCI. Add grub_dprintf for symmetry with
28234 bus/usb/uhci.c.
28235 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
28236 interface is UHCI. Add interf variable for programming
28237 interface. Print interface with class/subclass.
28238
c0947beb 28239 * bus/usb/ohci.c: Set interf with correct field.
28240
69da8877 28241 * bus/usb/uhci.c: Remove unneeded doubled lines.
28242 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
28243 Remove whitespace inside comment.
28244
9e172e30 282452009-06-08 Robert Millan <rmh.grub@aybabtu.com>
28246
28247 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
28248 as fallback an equivalent option without depth.
28249
de65ee2b 282502009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
28251
28252 Not fail if unable to retrieve C/H/S on LBA disks
28253
473d1e45 28254 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 28255 if unable to retrieve C/H/S on LBA disks
28256
b57ea2c9 282572009-06-08 Pavel Roskin <proski@gnu.org>
28258
28259 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
28260 about aliasing.
28261
af361263 282622009-06-08 Felix Zielcke <fzielcke@z-51.de>
28263
28264 * Makefile.in (uninstall): Remove all $lib_DATA files.
28265
4c9ec6b3 282662009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
28267
28268 Bugfix: install on partitionless device
28269
28270 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
28271 is a whole disk
28272
e76fc924 282732009-06-08 Felix Zielcke <fzielcke@z-51.de>
28274
28275 * Makefile.in (uninstall): Remove all $include_DATA files.
28276
ba5a0d05 282772009-06-08 Felix Zielcke <fzielcke@z-51.de>
28278
28279 * commands/true.c: New file. Implement the true and false commands.
28280 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
28281 (true_mod_SOURCES): New variable.
28282 (true_mod_CFLAGS): Likewise.
28283 (true_mod_LDFLAGS): Likewise.
28284
c8048e32 282852009-06-05 Colin D Bennett <colin@gibibit.com>
28286
28287 Optimized font character lookup using binary search instead of linear
28288 search. Fonts now are required to have the character index ordered by
28289 code point.
28290
28291 * font/font.c (load_font_index): Verify that fonts have ordered
28292 character indices.
28293 (find_glyph): Use binary search instead of linear search to find a
28294 character in a font.
28295
408305be 282962009-06-05 Michael Scherer <misc@mandriva.org>
28297
28298 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
28299 uses case sensitive btree.
28300 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
28301 only for case insensitive filesystems.
28302
8ee1e0d9 283032009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
28304
28305 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
28306 * conf/common.rmk (search_mod_CFLAGS): likewise
28307
a9966eb1 283082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28309
473d1e45 28310 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 28311 compensate a compiler bug
28312
9e7100fb 283132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28314
473d1e45 28315 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 28316 instead of '\b'
473d1e45 28317
ede21d71 283182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28319
28320 Definitions for creating asm symbols with Apple's CC
28321
28322 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
28323 [APPLE_CC] (VARIABLE): likewise
28324
9dbf7653 283252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28326
28327 Disable lnxboot.img when compiled
28328 with Apple's CC
28329
28330 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
28331 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
28332 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
28333 [! APPLE_CC] (CODE_LENG): skip
28334 [! APPLE_CC] (setup_sects): likewise
28335 [! APPLE_CC]: skip filling
473d1e45 28336
e93cdc3d 283372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28338
28339 Address in trampolines based on 32-bit registers when compiled
28340 with Apple's CC
28341
473d1e45 28342 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 28343 for addresses
28344 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
28345
6c688477 283462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28347
28348 Avoid aliases when compiling with Apple's CC for PCBIOS machine
28349
28350 * kern/misc.c [APPLE_CC] (memcpy): new function
28351 [APPLE_CC] (memmove): likewise
28352 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 28353 (memcpy): define alias conditionally on !APPLE_CC
6c688477 28354 (memset): likewise
28355 (abort): likewise
28356 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
28357 APPLE_CC are defined
28358 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
28359 (grub_assert_fail): make prototype conditional
28360
e37ffc5c 283612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28362
28363 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
28364
473d1e45 28365 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
28366 grub-macho2img
e37ffc5c 28367 (CLEANFILES): add grub-macho2img
28368 (grub_macho2img_SOURCES): new variable
28369 * kern/i386/pc/startup.S (bss_start): new variable
28370 (bss_end): likewise
28371 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
28372 * util/grub-macho2img.c: new file
28373
cf00df31 283742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28375
28376 Use objconv when compiling with Apple's CC
28377
28378 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
28379 (efiemu64.o): likewise
28380 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
28381 when compiling with Apple's CC
28382 (efiemu64_s.o): likewise
28383 * configure.ac: check for objconv when compiling with Apple's CC
28384 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 28385
d119a20c 283862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28387
28388 Define segment as well as section when compiling with
28389 Apple's CC
28390
28391 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
28392 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
28393 (efiemu_convert_pointer): likewise
28394 (efiemu_set_virtual_address_map): likewise
28395 (efiemu_convert_pointer): likewise
28396 (efiemu_getcrc32): likewise
28397 (init_crc32_table): likewise
28398 (reflect): likewise
28399 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
28400 (GRUB_MOD_DEP): likewise
473d1e45 28401
c8600122 284022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28403
28404 Allow a compilation without -mcmodel=large
28405
28406 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
28407 when compiled without -mcmodel=large
473d1e45 28408 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 28409 without -mcmodel=large
473d1e45 28410 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 28411 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 28412
e8df1d4e 284132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28414
28415 Remove nested functions in efiemu core
28416
28417 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 28418
cc6c3ac1 284192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28420
28421 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
28422
28423 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
28424 temporary storage
473d1e45 28425 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
28426 using Apple's CC
cc6c3ac1 28427 (grub_cpu_is_tsc_supported): likewise
28428 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 28429
3e325901 284302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28431
28432 Absolute addressing through constant with Apple's cc
28433
28434 * kern/i386/pc/startup.S: Define necessary constants
28435 and address through it when using ABS with Apple's CC
28436 * boot/i386/pc/diskboot.S: likewise
28437 * boot/i386/pc/boot.S: likewise
28438 * boot/i386/pc/lnxboot.S: likewise
28439 * boot/i386/pc/cdboot.S: likewise
28440 * mmap/i386/pc/mmap_helper.S: likewise
28441 * commands/i386/pc/drivemap_int13h.S: likewise
28442
2b167a72 284432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28444
28445 Check if compiler is apple cc
28446
28447 * Makefile.in (ASFLAGS): new variable
28448 (TARGET_ASFLAGS): likewise
28449 (TARGET_MODULE_FORMAT): likewise
28450 (TARGET_APPLE_CC): likewise
28451 (OBJCONV): likewise
28452 (TARGET_IMG_CFLAGS): likewise
28453 (TARGET_CPPFLAGS): add includedir
28454 * configure.ac: call grub_apple_cc and grub_apple_target_cc
28455 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
28456 Check for linker script only if compiler isn't Apple's CC
28457 (TARGET_MODULE_FORMAT): set
28458 (TARGET_APPLE_CC): likewise
28459 (TARGET_ASFLAGS): likewise
28460 (ASFLAGS): likewise
28461 Check for objcopy only if compiler isn't Apple's CC
28462 Check for BSS symbol only if compiler isn't Apple's CC
28463 * genmk.rb: adapt nm options if we use Apple's utils
28464 * aclocal.m4 (grub_apple_cc): new test
28465 (grub_apple_target_cc): likewise
473d1e45 28466
fb14123e 284672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28468
28469 Simplify sed expressions and improve awk
28470
28471 * Makefile.in (install-local): simplify sed expression
28472 * gencmdlist.sh: likewise
28473 * genmoddep.awk: avoid adding module as a dependency of itself
28474
5b889789 284752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28476
28477 Add missing start symbols
28478
28479 * boot/i386/pc/boot.S: add start
fb14123e 28480 * boot/i386/pc/pxeboot.S: likewise
473d1e45 28481
fd2bf2e3 284822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28483
28484 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 28485
28486 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 28487 (relocate_addresses): consider both r_addend and value at offset
28488 (make_mods_section): zerofill modinfo and header
28489 (convert_elf): write prefix here
473d1e45 28490
5389763d 284912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28492
28493 Use .asciz instead of .string
28494
28495 * i386/pc/diskboot.S: use .asciz instead of .string
28496 * i386/pc/boot.S: likewise
28497 * include/grub/dl.h (GRUB_MOD_DEP): likewise
28498 (GRUB_MOD_NAME): likewise
473d1e45 28499
3eb5ed4e 285002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28501
28502 gfxpayload support
28503
28504 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
28505 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
28506 (grub_video_setup): remove
28507 (grub_video_set_mode): new prototype
28508 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
28509 (vid_mode): remove
28510 (linux_vesafb_res): compile only on PCBIOS
28511 (grub_linux_boot): support gfxpayload
28512 * loader/i386/pc/xnu.c (video_hook): new function
28513 (grub_xnu_set_video): support gfxpayload
28514 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
28515 (DEFAULT_VIDEO_HEIGHT): likewise
28516 (DEFAULT_VIDEO_FLAGS): likewise
28517 (DEFAULT_VIDEO_MODE): new definition
28518 (video_hook): new function
28519 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 28520 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 28521 loading xnu
28522 * video/video.c (grub_video_setup): removed
473d1e45 28523 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 28524 grub_video_setup
28525
4b0e1143 285262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28527
28528 Avoid calling biosdisk in drivemap
28529
28530 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
28531 (revparse_biosdisk): likewise
28532 (list_mappings): derive name from id directly
28533 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 28534
fda6cb98 285352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28536
28537 Script fixes
28538
28539 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
28540 (grub_lexer_param): add tokenonhold
28541 (grub_script_create_cmdline): remove cmdline. All callers updated
28542 (grub_script_function_create): make functionname
28543 grub_script_arg. All callers updated
28544 (grub_script_execute_argument_to_string): new prototype
28545 * kern/parser.c (state_transitions): reorder
28546 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 28547 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 28548 make global
28549 (grub_script_execute_cmdline): use new format
28550 * script/sh/function.c (grub_script_function_create): make functionname
28551 grub_script_arg. All callers updated
473d1e45 28552 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 28553 (grub_script_yylex): remove
28554 (grub_script_yylex2): renamed to ...
28555 (grub_script_yylex): ...renamed
28556 parse the expressions like a${b}c
28557 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
28558 (GRUB_PARSER_TOKEN_VAR): remove
28559 (GRUB_PARSER_TOKEN_NAME): likewise
28560 ("if"): declare as typeless
28561 ("while"): likewise
28562 ("function"): likewise
28563 ("else"): likewise
28564 ("then"): likewise
28565 ("fi"): likewise
28566 (text): remove
28567 (argument): likewise
28568 (script): accept empty scripts and make exit on error
28569 (arguments): use GRUB_PARSER_TOKEN_ARG
28570 (function): likewise
28571 (command): move error handling to script
28572 (menuentry): move grub_script_lexer_ref before
473d1e45 28573 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 28574 argument. All callers updated
28575
f4448a07 285762009-06-04 Robert Millan <rmh.grub@aybabtu.com>
28577
28578 Prevent GRUB from probing floppies during boot.
28579
28580 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
28581 * commands/search.c (options): Add --no-floppy.
28582 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
28583 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
28584 --no-floppy when searching for UUIDs.
28585
2bf5885a 285862009-06-04 Robert Millan <rmh.grub@aybabtu.com>
28587
28588 Simplify the code duplication in commands/search.c.
28589
28590 * commands/search.c (search_label, search_fs_uuid): Merge into ...
28591 (search_fs): ... this. Update all users.
28592
f6fd460a 285932009-06-03 Felix Zielcke <fzielcke@z-51.de>
28594
28595 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
28596
cbb3c83e 285972009-05-28 Pavel Roskin <proski@gnu.org>
28598
57788cfd 28599 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
28600 Remove the original symlink explicitly.
28601
cbb3c83e 28602 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
28603 just one slash. That's how grub_fshelp_find_file() does it.
28604
cd0d5e30 286052009-05-26 Pavel Roskin <proski@gnu.org>
28606
f0f8bbe2 28607 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
28608 to `str'.
28609
cd0d5e30 28610 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
28611 possibly unused.
28612
8c2cab51 286132009-05-25 Christian Franke <franke@computer.org>
28614
28615 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
28616 register.
28617 (grub_atapi_identify): Add wait after drive select.
28618 (grub_ata_identify): Do more strict status register check before
28619 calling grub_atapi_identify (). Suppress error message if status
28620 register is 0x00 after command failure. Add status register
28621 check after PIO read to avoid bogus identify due to stuck DRQ.
28622 Thanks to Pavel Roskin for testing.
28623 (grub_device_initialize): Remove unsafe status register check.
28624 Thanks to 'phcoder' for problem report and patch.
28625 Prevent sign extension in debug message.
28626
230c0ad6 286272009-05-23 Colin D Bennett <colin@gibibit.com>
28628
28629 Cleaned up `include/grub/normal.h'. Grouped prototypes by
28630 definition file, and functions defined in `normal/menu.c' have had
28631 their prototypes moved to `include/grub/menu.h' for consistency.
28632
28633 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
28634 from normal.h.
28635 (grub_menu_get_entry): Likewise.
28636 (grub_menu_get_timeout): Likewise.
28637 (grub_menu_set_timeout): Likewise.
28638 (grub_menu_execute_entry): Likewise.
28639 (grub_menu_execute_with_fallback): Likewise.
28640 (grub_menu_entry_run): Likewise.
28641
28642 * include/grub/normal.h: Re-ordered and grouped function
28643 prototypes by file that the function is defined in.
28644 (grub_menu_execute_callback): Removed; moved to menu.h.
28645 (grub_menu_get_entry): Likewise.
28646 (grub_menu_get_timeout): Likewise.
28647 (grub_menu_set_timeout): Likewise.
28648 (grub_menu_execute_entry): Likewise.
28649 (grub_menu_execute_with_fallback): Likewise.
28650 (grub_menu_entry_run): Likewise.
28651 (grub_menu_addentry): Renamed from this ...
28652 (grub_normal_add_menu_entry): ... to this.
28653
28654 * normal/main.c (grub_menu_addentry): Renamed from this ...
28655 (grub_normal_add_menu_entry): ... to this.
28656
28657 * script/sh/execute.c (grub_script_execute_menuentry): Update
28658 reference to renamed grub_menu_addentry function.
28659
861f03a5 286602009-05-23 Felix Zielcke <fzielcke@z-51.de>
28661
28662 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
28663
96b1619a 286642009-05-22 Pavel Roskin <proski@gnu.org>
28665
bf6a5fb2 28666 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
28667 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
28668 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
28669 compiling for the i386 targets, but not for the utilities.
28670
96b1619a 28671 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
28672 to grub_uint8_t.
28673 (grub_root_drive): Likewise.
28674 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
28675 remove alignment.
28676 (grub_root_drive): Change size to byte.
28677 (grub_start_addr): Remove.
28678 (grub_end_addr): Likewise.
28679 (grub_apm_bios_info): Likewise.
28680
b729776b 286812009-05-21 Felix Zielcke <fzielcke@z-51.de>
28682
28683 * normal/i386: Remove.
28684 * normal/powerpc: Likewise.
28685 * normal/sparc64: Likewise.
28686 * normal/x86_64: Likewise.
28687
0a15ce80 286882009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
28689
28690 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 28691 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 28692 * loader/i386/xnu_helper.S: Likewise
d6da58e6 28693
33db9015 286942009-05-18 Colin D Bennett <colin@gibibit.com>
28695
d6da58e6 28696 Display error messages when parsing a Lua statement fails.
28697 Previously, executing a syntactically invalid statement like
28698 ")foo" or "bar;" would silently fail.
33db9015 28699
28700 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 28701 (grub_lua_parse_line): Improved reporting of Lua parser and
28702 execution errors.
33db9015 28703
46422c89 287042009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28705
28706 Remove -Werror which causes build to fail on some systems
28707
28708 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
28709 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
28710 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 28711
22f53a96 287122009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28713
28714 trampoline for linux on 64-bit platform
28715
18f547ad 28716 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
28717 loader/i386/efi/linux_trampoline.S
28718 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 28719 declaration
d6da58e6 28720 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
28721 here
22f53a96 28722 * loader/i386/linux_trampoline.S: moved here
d6da58e6 28723 * loader/i386/efi/linux.c (allocate_pages): reserve space for
28724 trampoline
22f53a96 28725 (jumpvector): removed
28726 (grub_linux_trampoline_start): new declaration
28727 (grub_linux_trampoline_end): likewise
28728 (grub_linux_boot): use trampoline when on 64-bit platform
28729 * loader/i386/linux.c: likewise
28730
cb5a0f40 287312009-05-16 Pavel Roskin <proski@gnu.org>
28732
28733 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
28734 const to avoid a warning.
28735 (grub_lua_setenv): Likewise.
28736 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
28737 lmsg to fix a warning.
28738
334f2c28 287392009-05-16 Felix Zielcke <fzielcke@z-51.de>
28740
28741 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 28742 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
28743 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
28744 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
28745 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
28746 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
28747 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
28748 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 28749
59e5d3ec 287502009-05-16 Felix Zielcke <fzielcke@z-51.de>
28751
28752 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
28753
9d87a1ba 287542009-05-16 Bean <bean123ch@gmail.com>
28755
28756 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
28757 (lua_mod_SOURCES): New variable.
28758 (lua_mod_CFLAGS): Likewise.
28759 (lua_mod_LDFLAGS): Likewise.
28760
28761 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
28762 (setjmp_mod_SOURCES): New variable.
28763 (setjmp_mod_CFLAGS): Likewise.
28764 (setjmp_LDFLAGS): Likewise.
28765
28766 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
28767 (setjmp_mod_SOURCES): New variable.
28768 (setjmp_mod_CFLAGS): Likewise.
28769 (setjmp_LDFLAGS): Likewise.
28770
28771 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
28772 (setjmp_mod_SOURCES): New variable.
28773 (setjmp_mod_CFLAGS): Likewise.
28774 (setjmp_LDFLAGS): Likewise.
28775
28776 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
28777 (setjmp_mod_SOURCES): New variable.
28778 (setjmp_mod_CFLAGS): Likewise.
28779 (setjmp_LDFLAGS): Likewise.
28780
28781 * normal/i386/setjmp.S: Moved from here ...
28782 * lib/i386/setjmp.S: ... Moved here
28783 * normal/x86_64/setjmp.S: Moved from here ...
28784 * lib/x86_64/setjmp.S: ... Moved here
28785 * normal/powerpc/setjmp.S: Moved from here ...
28786 * lib/powerpc/setjmp.S: ... Moved here
28787 * normal/sparc64/setjmp.S: Moved from here ...
28788 * lib/sparc64/setjmp.S: ... Moved here
28789
28790 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
28791 returns_twice in mingw.
28792
28793 * script/lua/grub_lib.c: New file.
28794 * script/lua/grub_lib.h: Likewise.
28795 * script/lua/grub_lua.h: Likewise.
28796 * script/lua/grub_main.c: Likewise.
28797 * script/lua/lapi.c: Likewise.
28798 * script/lua/lapi.h: Likewise.
28799 * script/lua/lauxlib.c: Likewise.
28800 * script/lua/lauxlib.h: Likewise.
28801 * script/lua/lbaselib.c: Likewise.
28802 * script/lua/lcode.c: Likewise.
28803 * script/lua/lcode.h: Likewise.
28804 * script/lua/ldblib.c: Likewise.
28805 * script/lua/ldebug.c: Likewise.
28806 * script/lua/ldebug.h: Likewise.
28807 * script/lua/ldo.c: Likewise.
28808 * script/lua/ldo.h: Likewise.
28809 * script/lua/ldump.c: Likewise.
28810 * script/lua/lfunc.c: Likewise.
28811 * script/lua/lfunc.h: Likewise.
28812 * script/lua/lgc.c: Likewise.
28813 * script/lua/lgc.h: Likewise.
28814 * script/lua/linit.c: Likewise.
28815 * script/lua/liolib.c: Likewise.
28816 * script/lua/llex.c: Likewise.
28817 * script/lua/llex.h: Likewise.
28818 * script/lua/llimits.h: Likewise.
28819 * script/lua/lmathlib.c: Likewise.
28820 * script/lua/lmem.c: Likewise.
28821 * script/lua/lmem.h: Likewise.
28822 * script/lua/loadlib.c: Likewise.
28823 * script/lua/lobject.c: Likewise.
28824 * script/lua/lobject.h: Likewise.
28825 * script/lua/lopcodes.c: Likewise.
28826 * script/lua/lopcodes.h: Likewise.
28827 * script/lua/loslib.c: Likewise.
28828 * script/lua/lparser.c: Likewise.
28829 * script/lua/lparser.h: Likewise.
28830 * script/lua/lstate.c: Likewise.
28831 * script/lua/lstate.h: Likewise.
28832 * script/lua/lstring.c: Likewise.
28833 * script/lua/lstring.h: Likewise.
28834 * script/lua/lstrlib.c: Likewise.
28835 * script/lua/ltable.c: Likewise.
28836 * script/lua/ltable.h: Likewise.
28837 * script/lua/ltablib.c: Likewise.
28838 * script/lua/ltm.c: Likewise.
28839 * script/lua/ltm.h: Likewise.
28840 * script/lua/lua.h: Likewise.
28841 * script/lua/luaconf.h: Likewise.
28842 * script/lua/lualib.h: Likewise.
28843 * script/lua/lundump.c: Likewise.
28844 * script/lua/lundump.h: Likewise.
28845 * script/lua/lvm.c: Likewise.
28846 * script/lua/lvm.h: Likewise.
28847 * script/lua/lzio.c: Likewise.
28848 * script/lua/lzio.h: Likewise.
28849
5e898c9d 288502009-05-16 Bean <bean123ch@gmail.com>
28851
28852 * include/grub/kernel.h (grub_module_header_types): Add type
28853 OBJ_TYPE_CONFIG.
28854
28855 * kern/main.c (grub_load_config): New function.
28856 (grub_main): Call grub_load_config to read boot config.
28857
28858 * grub-mkimage (generate_image): New parameter config_path.
28859 (options): New option --config.
28860 (main): Parse --config option, and pass it to generate_image.
28861
cf353a47 288622009-05-14 Christian Franke <franke@computer.org>
28863
28864 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
28865 This fixes build on Cygwin.
28866
3834887f 288672009-05-14 Pavel Roskin <proski@gnu.org>
28868
28869 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
28870 jump. This saves two bytes, so the typical case of 2 swapped
28871 drives would fit 32 bytes.
28872
8090fc01 288732009-05-13 Pavel Roskin <proski@gnu.org>
28874
ac963883 28875 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
28876 grub_uint32_t to avoid a warning.
28877
8090fc01 28878 * loader/i386/linux.c (allocate_pages): When assigning
28879 real_mode_mem, cast through grub_size_t to fix a warning. The
28880 code already makes sure that the value would fit a pointer.
28881 (grub_linux_setup_video): Cast render_target->data to
28882 grub_size_t to fix a warning.
28883
18f547ad 288842009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 28885
28886 * commands/i386/pc/drivemap.c: New file - implement drivemap
28887 command.
28888 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
28889 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
28890
6f6a8b28 288912009-05-13 Pavel Roskin <proski@gnu.org>
28892
28893 * util/i386/pc/grub-setup.c (setup): Remove unused variable
28894 embedding_area_exists.
28895
15fbf4c4 288962009-05-13 Robert Millan <rmh.grub@aybabtu.com>
28897
28898 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
28899 it easier to understand / work with.
59978c8a 28900 Improve warning messages for cases where there's no embedding area,
28901 or when it is too small (or core.img too large).
15fbf4c4 28902
238e871f 289032009-05-13 Pavel Roskin <proski@gnu.org>
28904
0ab3a9a4 28905 * loader/i386/pc/multiboot2.c: Add necessary includes for
28906 grub_multiboot2_real_boot().
28907
a2c8c5f8 28908 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
28909 PX record is always little-endian. We only need the lower 2
28910 bytes of the mode.
28911
faec96af 28912 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
28913 facilitate code reuse.
28914 (grub_cpio_mount): Use "struct head", not a char buffer. This
28915 fixes a warning reported by gcc 4.4.
28916
238e871f 28917 * kernel/disk.c (grub_disk_read): Use void pointer for the
28918 buffer.
28919 (grub_disk_write): Use const void pointer for the buffer.
28920 Adjust all callers. Remove unnecessary casts.
28921
901d2f0c 289222009-05-10 Robert Millan <rmh.grub@aybabtu.com>
28923
28924 * util/i386/pc/grub-install.in: Update copyright year.
28925
18f547ad 289262009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 28927
28928 gptsync
28929
28930 * commands/gptsync.c: new file
28931 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
28932 (gptsync_mod_SOURCES): new variable
28933 (gptsync_mod_CFLAGS): likewise
28934 (gptsync_mod_LDFLAGS): likewise
18f547ad 28935 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 28936 new definition
28937 (GRUB_PC_PARTITION_TYPE_HFS): likewise
28938 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
28939 * conf/i386-ieee1275.rmk: likewise
28940 * conf/i386-pc.rmk: likewise
28941 * conf/powerpc-ieee1275.rmk: likewise
28942
b4ba690a 289432009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
28944
28945 Fixed grub-emu
28946
28947 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
28948 (grub_dl_ref): likewise
28949
317e1a44 289502009-05-08 Robert Millan <rmh.grub@aybabtu.com>
28951
28952 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
28953 split in two functions (one for msdos and one for gpt).
28954
041b8094 289552009-05-08 Pavel Roskin <proski@gnu.org>
28956
752473c2 28957 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
28958 not modified.
28959
041b8094 28960 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
28961 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
28962 Initialize them with -1. Add sanity check for bad1. Eliminate
28963 nerr variable.
28964
172800ce 289652009-05-08 David S. Miller <davem@davemloft.net>
28966
28967 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
28968
29aa5e81 289692009-05-06 Robert Millan <rmh.grub@aybabtu.com>
28970
28971 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 28972 existence.
29aa5e81 28973
96613b62 289742009-05-05 Felix Zielcke <fzielcke@z-51.de>
28975
28976 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 28977 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 28978
eef73c8a 289792009-05-05 David S. Miller <davem@davemloft.net>
28980
28981 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
28982
119494b5 289832009-05-05 Pavel Roskin <proski@gnu.org>
28984
28985 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
28986 of grub_dl_ref() and grub_dl_unref().
28987 * commands/parttool.c: Remove preprocessor conditionals around
28988 grub_dl_ref() and grub_dl_unref().
28989 * fs/affs.c: Likewise.
28990 * fs/afs.c: Likewise.
28991 * fs/cpio.c: Likewise.
28992 * fs/ext2.c: Likewise.
28993 * fs/fat.c: Likewise.
28994 * fs/hfs.c: Likewise.
28995 * fs/hfsplus.c: Likewise.
28996 * fs/iso9660.c: Likewise.
28997 * fs/jfs.c: Likewise.
28998 * fs/minix.c: Likewise.
28999 * fs/ntfs.c: Likewise.
29000 * fs/reiserfs.c: Likewise.
29001 * fs/sfs.c: Likewise.
29002 * fs/udf.c: Likewise.
29003 * fs/ufs.c: Likewise.
29004 * fs/xfs.c: Likewise.
29005 * include/grub/dl.h: Likewise.
29006 * loader/xnu.c: Likewise.
29007
de5fd76e 290082009-05-04 Pavel Roskin <proski@gnu.org>
29009
29010 * commands/acpi.c: Remove unused variable my_mod.
29011 * partmap/amiga.c: Likewise.
29012 * partmap/apple.c: Likewise.
29013 * partmap/gpt.c: Likewise.
29014 * partmap/pc.c: Likewise.
29015 * partmap/sun.c: Likewise.
29016 * term/gfxterm.c: Likewise.
29017 * term/i386/pc/vesafb.c: Likewise.
29018 * term/i386/pc/vga.c: Likewise.
29019
983598ad 290202009-05-04 David S. Miller <davem@davemloft.net>
29021
29022 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
29023 pointer args to grub_ieee1275_get_property().
29024
8aadec43 29025 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
29026
9554b15e 29027 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
29028 devices, and do not traverse down under controller nodes.
29029
67e23c90 29030 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
29031 (grub_ofdisk_open): Use it to un-escape "," characters.
29032 * kern/disk.c (find_part_sep): New.
29033 (grub_disk_open): Use it to find the first non-escaped ','
29034 character in the disk name.
29035 * util/ieee1275/devicemap.c (escape_of_path): New.
29036 (grub_util_emit_devicemap_entry): Use it.
29037 * util/sparc64/ieee1275/grub-install.in: Update script to
29038 strip partition specifiers properly by not triggering on
29039 '\' escaped ',' characters.
29040
74bfdd2f 290412009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29042
29043 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
29044 to 0x300.
29045 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
29046 resolutions.
29047 (linux_vesafb_modes): Add a lot of additional modes to the list (based
29048 on documentation from Wikipedia).
29049
4241d2b1 290502009-05-04 Pavel Roskin <proski@gnu.org>
29051
29052 * disk/ata.c: Spelling fixes.
29053 * disk/raid.c: Likewise.
29054 * disk/usbms.c: Likewise.
29055 * disk/dmraid_nvidia.c: Likewise.
29056 * kern/ieee1275/openfw.c: Likewise.
29057 * kern/ieee1275/init.c: Likewise.
29058 * kern/ieee1275/cmain.c: Likewise.
29059 * boot/i386/pc/cdboot.S: Likewise.
29060 * video/readers/png.c: Likewise.
29061 * video/i386/pc/vbe.c: Likewise.
29062 * fs/udf.c: Likewise.
29063 * fs/hfs.c: Likewise.
29064 * fs/reiserfs.c: Likewise.
29065 * efiemu/runtime/efiemu.c: Likewise.
29066 * efiemu/main.c: Likewise.
29067 * efiemu/mm.c: Likewise.
29068 * include/grub/elf.h: Likewise.
29069 * include/grub/xnu.h: Likewise.
29070 * include/grub/usbdesc.h: Likewise.
29071 * include/grub/usb.h: Likewise.
29072 * include/grub/script_sh.h: Likewise.
29073 * include/grub/lib/LzmaEnc.h: Likewise.
29074 * include/grub/efiemu/efiemu.h: Likewise.
29075 * include/grub/command.h: Likewise.
29076 * normal/menu.c: Likewise.
29077 * normal/main.c: Likewise.
29078 * normal/datetime.c: Likewise.
29079 * bus/usb/uhci.c: Likewise.
29080 * mmap/i386/uppermem.c: Likewise.
29081 * mmap/mmap.c: Likewise.
29082 * commands/acpi.c: Likewise.
29083 * commands/test.c: Likewise.
29084 * partmap/apple.c: Likewise.
29085 * font/font.c: Likewise.
29086 * loader/sparc64/ieee1275/linux.c: Likewise.
29087 * loader/macho.c: Likewise.
29088 * loader/i386/bsd_trampoline.S: Likewise.
29089 * loader/i386/bsd.c: Likewise.
29090 * loader/xnu.c: Likewise.
29091 * term/i386/pc/vesafb.c: Likewise.
29092 * term/usb_keyboard.c: Likewise.
29093 * util/resolve.c: Likewise.
29094 * util/getroot.c: Likewise.
29095
0cfc0083 290962009-05-04 Felix Zielcke <fzielcke@z-51.de>
29097
29098 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
29099
7c1d00cd 291002009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29101
29102 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
29103 build error.
29104
b01f0548 291052009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29106
29107 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
29108 parameter only available on BIOS.
29109
ecc3eb22 291102009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29111
29112 Removed wrong semicolon in declaration
29113
29114 * grub/misc.h (grub_dprintf): remove semicolon
29115
112972a9 291162009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29117
29118 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
29119 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
29120 is done by grub_cmd_linux() now).
29121 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
29122 restore video to text mode.
29123 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
29124 indicates lack of "vga=" parameter. "vga=0" is mapped to
29125 `GRUB_LINUX_VID_MODE_NORMAL'.
29126
afd5c115 291272009-05-04 Felix Zielcke <fzielcke@z-51.de>
29128
29129 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
29130 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
29131 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 29132 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 29133 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
29134 `grub_script.tab.c'.
29135
29136 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29137 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29138 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29139 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29140 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29141
faa517ce 29142 * Makefile.in: Remove duplicated 2008 in Copyright line.
29143
ae0c0bdc 291442009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29145
473d1e45 29146 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 29147 unconditionally.
29148 * include/grub/util/misc.h (grub_util_warn): New declaration.
29149
29150 * util/i386/pc/grub-install.in: Understand --force and pass it down
29151 to grub-setup.
29152
29153 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
29154 down to setup().
29155 (setup): Improve error messages and add warnings when requested to
29156 install in odd layouts. Refuse to install using blocklists unless
29157 --force was set.
29158
18f547ad 291592009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 29160
29161 * disk/raid.c (grub_raid_scan_device): Improve debug message.
29162
6d260daa 291632009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29164
29165 Updated copyright year
29166
29167 * fs/hfsplus.c: updated copyright year
18f547ad 29168
69f853f8 291692009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29170
29171 HFS+ UUID
29172
18f547ad 29173 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 29174 in the space previously used by unused3
29175 (grub_hfsplus_uuid): new function
29176 (grub_hfsplus_fs): added uuid field
29177
4c402e73 291782009-05-03 Pavel Roskin <proski@gnu.org>
29179
29180 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
29181 suppress warnings. It's no longer needed.
29182 * disk/host.c: Likewise.
29183 * disk/ata_pthru.c: Likewise.
29184 * disk/loopback.c: Likewise.
29185 * hook/datehook.c: Likewise.
29186 * parttool/pcpart.c: Likewise.
29187 * fs/i386/pc/pxe.c: Likewise.
29188 * fs/ntfscomp.c: Likewise.
29189 * efiemu/main.c: Likewise.
29190 * mmap/mmap.c: Likewise.
29191 * commands/crc.c: Likewise.
29192 * commands/hexdump.c: Likewise.
29193 * commands/hdparm.c: Likewise.
29194 * commands/acpi.c: Likewise.
29195 * commands/echo.c: Likewise.
29196 * commands/minicmd.c: Likewise.
29197 * commands/blocklist.c: Likewise.
29198 * commands/memrw.c: Likewise.
29199 * commands/loadenv.c: Likewise.
29200 * commands/usbtest.c: Likewise.
29201 * commands/lsmmap.c: Likewise.
29202 * commands/boot.c: Likewise.
29203 * commands/parttool.c: Likewise.
29204 * commands/configfile.c: Likewise.
29205 * commands/search.c: Likewise.
29206 * commands/ieee1275/suspend.c: Likewise.
29207 * commands/cat.c: Likewise.
29208 * commands/i386/pc/pxecmd.c: Likewise.
29209 * commands/i386/pc/play.c: Likewise.
29210 * commands/i386/pc/halt.c: Likewise.
29211 * commands/i386/pc/vbeinfo.c: Likewise.
29212 * commands/i386/pc/vbetest.c: Likewise.
29213 * commands/lspci.c: Likewise.
29214 * commands/date.c: Likewise.
29215 * commands/handler.c: Likewise.
29216 * commands/ls.c: Likewise.
29217 * commands/test.c: Likewise.
29218 * commands/cmp.c: Likewise.
29219 * commands/efi/loadbios.c: Likewise.
29220 * commands/efi/fixvideo.c: Likewise.
29221 * commands/halt.c: Likewise.
29222 * commands/help.c: Likewise.
29223 * commands/reboot.c: Likewise.
29224 * hello/hello.c: Likewise.
29225 * script/sh/main.c: Likewise.
29226 * loader/xnu.c: Likewise.
29227 * term/terminfo.c: Likewise.
29228 * term/i386/pc/serial.c: Likewise.
29229 * term/usb_keyboard.c: Likewise.
29230
515b5079 292312009-05-03 David S. Miller <davem@davemloft.net>
29232
29233 * normal/menu.c: Include grub/parser.h
29234
dfc31a22 292352009-05-03 Pavel Roskin <proski@gnu.org>
29236
2fee74f1 29237 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
29238 not char*.
29239 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
29240 Suggested by Javier Martín <lordhabbit@gmail.com>
29241
dfc31a22 29242 * util/i386/pc/grub-mkrescue.in: Allow for the case when
29243 efiemu??.o doesn't exist.
29244 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
29245 copying.
29246
18f547ad 292472009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 29248
29249 FreeBSD 64-bit support
29250
18f547ad 29251 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 29252 and loader/i386/bsd_trampoline.S
29253 (bsd_mod_ASFLAGS): new variable
29254 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
29255 (FREEBSD_MODTYPE_KERNEL64): likewise
29256 (grub_bsd64_trampoline_start): likewise
29257 (grub_bsd64_trampoline_end): likewise
29258 (grub_bsd64_trampoline_selfjump): likewise
29259 (grub_bsd64_trampoline_gdt): likewise
29260 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
29261 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
29262 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
29263 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 29264 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 29265 of "attrib" member
29266 * loader/i386/bsd_pagetable.c: new file
29267 * loader/i386/bsd_trampoline.S: likewise
29268 * loader/i386/bsd.c (ALIGN_QWORD): new macro
29269 (ALIGN_VAR): likewise
29270 (entry_hi): new variable
29271 (kern_end_mdofs): likewise
29272 (is_64bit): likewise
29273 (grub_freebsd_add_meta): use ALIGN_VAR
29274 (grub_e820_mmap): new declaration
29275 (grub_freebsd_add_mmap): new function
29276 (grub_freebsd_add_meta_module): support 64 bit kernels
29277 (grub_freebsd_list_modules): use ALIGN_VAR
29278 (gdt_descriptor): new declaration
29279 (grub_freebsd_boot): support 64 bit kernels
29280 (grub_bsd_elf64_hook): new function
29281 (grub_bsd_load_elf): support elf64
29282
038c5720 292832009-05-03 Bean <bean123ch@gmail.com>
29284
29285 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
29286 after we get the result of if statement.
29287
fc45fb58 292882009-05-03 Bean <bean123ch@gmail.com>
29289
29290 * Makefile.in (enable_efiemu): New variable.
29291
29292 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
29293 set.
29294 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
29295 path.
29296 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
29297 path, add -mno-red-zone option.
29298 (efiemu64_s.o): Likewise.
29299 (efiemu64.o): Use macro $^ for source file.
29300
29301 * configure.ac (--enable-efiemu): New option.
29302
bbee0f2b 293032009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
29304
29305 xnu support
29306
29307 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
29308 (pkglib_MODULES): add xnu.mod
29309 (xnu_mod_SOURCES): new variable
29310 (xnu_mod_CFLAGS): likewise
29311 (xnu_mod_LDFLAGS): likewise
29312 (xnu_mod_ASFLAGS): likewise
29313 * conf/i386-pc.rmk: likewise
29314 * conf/x86_64-efi.rmk: likewise
7dd4a573 29315 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 29316 new declaration
29317 * include/grub/i386/macho.h: new file
29318 * include/grub/i386/xnu.h: likewise
29319 * include/grub/macho.h: likewise
29320 * include/grub/machoload.h: likewise
29321 * include/grub/x86_64/macho.h: likewise
29322 * include/grub/x86_64/xnu.h: likewise
29323 * include/grub/xnu.h: likewise
29324 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
29325 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
29326 * loader/i386/efi/xnu.c: new file
29327 * loader/i386/pc/xnu.c: likewise
29328 * loader/i386/xnu.c: likewise
29329 * loader/i386/xnu_helper.S: likewise
29330 * loader/macho.c: likewise
29331 * loader/xnu.c: likewise
29332 * loader/xnu_resume.c: likewise
29333 * util/grub-dumpdevtree: likewise
29334 * include/grub/i386/pit.h: include grub/err.h
29335 (grub_pit_wait): export
29336 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 29337
5caf964d 293382009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
29339
29340 Efiemu
7dd4a573 29341
5caf964d 29342 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 29343 _linux_efi, linux_efi.
29344 new files in grub-emu
5caf964d 29345 new targets efiemu32.o and efiemu64.o
29346 * loader/linux_normal_efiemu.c: likewise
29347 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 29348 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 29349 files to copy
29350 * include/grub/autoefi.h: new file
7dd4a573 29351 * include/grub/i386/efiemu.h: likewise
5caf964d 29352 * include/grub/i386/pc/efiemu.h: likewise
29353 * include/grub/efi/api.h: add LL suffix when necessary
29354 new definitions relating to tables
29355 * include/grub/efiemu/efiemu.h: new file
29356 * include/grub/efiemu/runtime.h: likewise
29357 * efiemu/prepare.c: likewise
29358 * efiemu/loadcore_common.c: likewise
29359 * efiemu/loadcore64.c: likewise
29360 * efiemu/runtime/efiemu.sh: likewise
29361 * efiemu/runtime/efiemu.S: likewise
29362 * efiemu/runtime/efiemu.c: likewise
29363 * efiemu/runtime/config.h: likewise
29364 * efiemu/prepare32.c: likewise
29365 * efiemu/main.c: likewise
29366 * efiemu/modules/pnvram.c: likewise
29367 * efiemu/modules/i386: likewise
29368 * efiemu/modules/i386/pc: likewise
29369 * efiemu/modules/acpi.c: likewise
29370 * efiemu/i386/pc/cfgtables.c: likewise
29371 * efiemu/i386/loadcore64.c: likewise
29372 * efiemu/i386/loadcore32.c: likewise
29373 * efiemu/prepare64.c: likewise
29374 * efiemu/loadcore.c: likewise
29375 * efiemu/symbols.c: likewise
29376 * efiemu/mm.c: likewise
29377 * efiemu/loadcore32.c: likewise
7dd4a573 29378
293792009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 29380
29381 ACPI spoofing
29382
29383 * commands/acpi.c: new file
29384 * commands/i386/pc/acpi.c: likewise
29385 * commands/efi/acpi.c: likewise
29386 * include/grub/acpi.h: likewise
29387 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
29388 (acpi_mod_SOURCES): new variable
29389 (acpi_mod_CFLAGS): likewise
29390 (acpi_mod_LDFLAGS): likewise
29391 * conf/i386-efi.rmk: likewise
29392 * conf/x86_64-efi.rmk: likewise
29393
7dd4a573 293942009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 29395
29396 Missing part from mmap patch
29397
29398 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
29399 (grub_mmap_unregister)
29400 (grub_mmap_free_and_unregister): use grub_mmap_register
29401
7dd4a573 294022009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 29403
29404 Mmap services
29405
29406 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
29407 * loader/i386/linux.c (find_mmap_size): likewise
29408 (allocate_pages): likewise
29409 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
29410 (grub_fill_multiboot_mmap): likewise
29411 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
29412 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
29413 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
29414 (OPENBSD_MMAP_RESERVED): likewise
29415 * include/grub/i386/pc/memory.h: include grub/memory.h
29416 (grub_lower_mem): removed
29417 (grub_upper_mem): likewise
29418 (GRUB_MACHINE_MEMORY_ACPI): new definition
29419 (GRUB_MACHINE_MEMORY_NVS): likewise
29420 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
29421 (GRUB_MACHINE_MEMORY_HOLE): likewise
29422 (grub_machine_mmap_register): likewise
29423 (grub_machine_mmap_unregister): likewise
29424 (grub_machine_get_upper): likewise
29425 (grub_machine_get_lower): likewise
29426 (grub_machine_get_post64): likewise
29427 * include/grub/i386/efi/memory.h: new file
29428 * include/grub/x86_64/efi/memory.h: likewise
29429 * include/grub/efi/memory.h: likewise
29430 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
29431 (mmap_mod_SOURCES): new variable
29432 (mmap_mod_LDFLAGS): likewise
29433 (mmap_mod_ASFLAGS): likewise
29434 * conf/i386-coreboot.rmk: likewise
29435 * conf/i386-ieee1275.rmk: likewise
29436 * conf/i386-efi.rmk: likewise
29437 * conf/x86_64-efi.rmk: likewise
29438 * include/grub/types.h (UINT_TO_PTR): new macro
29439 (PTR_TO_UINT32): likewise
29440 (PTR_TO_UINT64): likewise
29441 * include/grub/memory.h: new file
29442 * mmap/i386/pc/mmap.c: likewise
29443 * mmap/i386/pc/mmap_helper.S: likewise
29444 * mmap/i386/uppermem.c: likewise
29445 * mmap/mmap.c: likewise
29446 * mmap/efi/mmap.c: likewise
7dd4a573 29447 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 29448 grub_upper_mem
29449 * kern/i386/pc/init.c (grub_lower_mem): removed variable
29450 (grub_upper_mem): likewise
29451 (grub_machine_init): don't use grub_upper_mem,
29452 make grub_lower_mem local
29453 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
29454 grub_mmap_iterate and grub_mmap_get_upper
29455 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
29456
d558e6b5 294572009-05-02 Bean <bean123ch@gmail.com>
29458
29459 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
29460 script/sh/parser.y.
29461 (pkglib_MODULES): Add normal.mod and sh.mod.
29462 (normal_SOURCES): New variable.
29463 (normal_mod_CFLAGS): Likewise.
29464 (normal_mod_LDFLAGS): Likewise.
29465 (sh_mod_SOURCES): Likewise.
29466 (sh_mod_CFLAGS): Likewise.
29467 (sh_mod_LDFLAGS): Likewise.
29468
29469 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
29470 script/sh/lexer.c_DEPENDENCIES.
29471 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
29472 kern/rescue_reader.c and kern/rescue_parser.c.
29473 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
29474 (grub_emu_SOURCES): Change source files.
29475 (pkglib_MODULES): Remove normal.mod.
29476 (normal_SOURCES): Removed.
29477 (normal_mod_CFLAGS): Likewise.
29478 (normal_mod_LDFLAGS): Likewise.
29479 * conf/i386-coreboot.rmk: Likewise.
29480 * conf/i386-efi.rmk: Likewise.
29481 * conf/i386-ieee1276.rmk: Likewise.
29482 * conf/powerpc-ieee1275.rmk: Likewise.
29483 * conf/sparc64-ieee1275.rmk: Likewise.
29484 * conf/x86_64-efi.rmk: Likewise.
29485
29486 * include/grub/command.h (grub_command_execute): New inline function.
29487
29488 * include/grub/menu.h (grub_menu_entry): Removed commands field.
29489
29490 * include/grub/normal.h: Remove <grub/setjmp.h>.
29491 (grub_fs_module_list): Moved to normal/autofs.c.
29492 (grub_exit_env): Removed.
29493 (grub_command_execute): Likewise.
29494 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
29495 parameter script.
29496 (read_command_list): New function declaration.
29497 (read_fs_list): Likewise.
29498
29499 * include/parser.h: Include <grub/reader.h>.
29500 (grub_parser_split_cmdline): Change type of getline parameter.
29501 (grub_parser): New structure.
29502 (grub_parser_class): New variable.
29503 (grub_parser_execute): New function declaration.
29504 (grub_register_rescue_parser): Likewise.
29505 (grub_parser_register): New inline function.
29506 (grub_parser_unregister): Likewise.
29507 (grub_parser_get_current): Likewise.
29508 (grub_parser_set_current): Likewise.
29509
29510 * include/grub/reader.h: New file.
29511 * kern/reader.c: Likewise.
29512 * kern/rescue_parser.c: Likewise.
29513 * kern/rescue_reader.c: Likewise.
29514 * normal/autofs.c: Likewise.
29515 * normal/dyncmd.c: Likewise.
29516
29517 * include/grub/rescue.h: Removed.
29518 * normal/command.h: Likewise.
29519
29520 * include/grub/script.h: Moved to ...
29521 * include/grub/script_sh.h: ... Moved here.
29522 * normal/execute.c: Moved to ...
29523 * script/sh/execute.c: ... Moved here.
29524 * normal/function.c: Moved to ...
29525 * script/sh/function.c: ... Moved here.
29526 * normal/lexer.c: Moved to ...
29527 * script/sh/lexer.c: ... Moved here.
29528 * normal/parser.y: Moved to ...
29529 * script/sh/parser.y: ... Moved here.
29530 * normal/script.c: Moved to ...
29531 * script/sh/script.c: ... Moved here.
29532
29533 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
29534 <grub/reader.h>.
29535 (grub_exit_env): Removed.
29536 (fs_module_list): Moved to normal/autofs.c.
29537 (grub_file_getline): Don't handle comment here.
29538 (free_menu): Skip removed field entry->commands.
29539 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
29540 script parameter.
29541 (read_config_file): Removed nested parameter, change getline function.
29542 (grub_enter_normal_mode): Removed.
29543 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
29544 (read_command_list): Likewise.
29545 (autoload_fs_module): Moved to normal/autofs.c.
29546 (read_fs_list): Likewise.
29547 (reader_nested): New variable.
29548 (grub_normal_execute): Run parser.sh to switch to sh parser.
29549 (grub_cmd_rescue): Removed.
29550 (cmd_normal): Removed.
29551 (grub_cmd_normal): Unregister itself at the beginning. Don't register
29552 rescue command.
29553 (grub_cmdline_run): New function.
29554 (grub_normal_reader_init): Likewise.
29555 (grub_normal_read_line): Likewise.
29556 (grub_env_write_pager): Likewise.
29557 (cmdline): New variable.
29558 (grub_normal_reader): Likewise.
29559 (GRUB_MOD_INIT): Register normal reader and set as current, register
29560 pager hook, register normal command with grub_register_command_prio,
29561 so that it won't show up in command.lst.
29562 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
29563 grub_fs_autoload_hook.
29564
29565 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
29566 (grub_menu_execute_entry): Replace grub_script_execute with
29567 grub_parser_execute, change parameter to grub_command_execute.
29568
29569 * normal/menu_text.c: Remove <grub/script.h>.
29570
29571 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
29572 and <grub/parser.h>.
29573 (run): Change editor_getline to use new parser interface. Change
29574 parameter to grub_command_execute.
29575
29576 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
29577 <grub/reader.h> and <grub/parser.h>.
29578 (grub_load_normal_mode): Execute normal command.
29579 (grub_main): Call grub_register_core_commands,
29580 grub_register_rescue_parser and grub_register_rescue_reader, use
29581 grub_reader_loop to enter input loop.
29582
7dd4a573 29583 * kern/parser.c (grub_parser_split_cmdline): Change type of
29584 getline parameter.
d558e6b5 29585 (grub_parser_class): New variable.
29586 (grub_parser_execute): New function.
29587
29588 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
29589 * loader/multiboot2.c: Likewise.
29590 * loader/sparc64/ieee1275/linux.c: Likewise.
29591
29592 * util/grub-emu.c (read_command_list): New dummy function.
29593
18db813d 295942009-05-02 Robert Millan <rmh.grub@aybabtu.com>
29595
29596 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
29597 count to 16 for CCISS and IDA.
29598
6c67de15 295992009-05-02 Robert Millan <rmh.grub@aybabtu.com>
29600
29601 * normal/menu_text.c (grub_wait_after_message): Print a newline
29602 after waiting for user input.
29603
29604 * loader/i386/linux.c: Include `<grub/normal.h>'.
29605 (grub_cmd_linux): Improve the error message about `ask' mode, by
29606 waiting for user input so it's not missed (we can do this, since
29607 user requested interaction).
29608
d9dc87b0 296092009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
29610
29611 Added missing lst to grub-mkrescue
29612
29613 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
29614 and ${input_dir}/parttool.lst
29615
ac8a2baa 296162009-04-30 David S. Miller <davem@davemloft.net>
29617
ad22a610 29618 * util/hostdisk.c (device_is_wholedisk): New function.
29619 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
29620 zero only if device_is_wholedisk() returns true.
29621
6966215d 29622 * util/hostdisk.c (convert_system_partition_to_system_disk):
29623 Handle virtual disk devices named /dev/vdiskX as found on sparc
29624 and powerpc.
29625
ac8a2baa 29626 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
29627 lettered partition specifier is found, convert to numbered.
29628
979b4fb4 296292009-04-29 David S. Miller <davem@davemloft.net>
29630
e2bf39b2 29631 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
29632 * include/grub/sparc64/ieee1275/memory.h: Likewise.
29633
3c64e104 29634 * normal/command.c: Add missing newline at end of file.
29635
979b4fb4 29636 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
29637 warnings.
29638 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
29639 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
29640 grub_ofdisk_read): Likewise, and deal similarly with the fact that
29641 ihandles have a 32-bit type but need to be stored in a "void *".
29642
136d9f82 296432009-04-28 Pavel Roskin <proski@gnu.org>
29644
9459c306 29645 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
29646 not disk. Adjust all dependencies.
2e08a26a 29647 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 29648 grub_disk_close().
29649
136d9f82 29650 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
29651 parent's partition, don't copy it by reference, as it gets freed
29652 on close.
29653
7dd4a573 296542009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 29655
29656 Preboot hooks support
29657
29658 * commands/boot.c (struct grub_preboot_t): new declaration
29659 (preboots_head): new variable
29660 (preboots_tail): likewise
29661 (grub_loader_register_preboot_hook): new function
29662 (grub_loader_unregister_preboot_hook): likewise
29663 (grub_loader_set): launch preboot hooks
29664 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
29665 (grub_loader_register_preboot_hook): new declaration
29666 (grub_loader_unregister_preboot_hook): likewise
29667
5af922b5 296682009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
29669
29670 Warning fix
29671
7dd4a573 29672 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 29673 calling grub_dprintf
29674
a5562c30 296752009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
29676
29677 Bug and warning fixes
29678
7dd4a573 29679 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 29680 declaration
29681 * commands/test.c (test_parse): fixed bug with file tests and corrected
29682 declaration of find_file
29683
4006f85c 296842009-04-26 Pavel Roskin <proski@gnu.org>
29685
29686 * Makefile.in: Don't install empty manual pages if help2man is
29687 missing. Use help2man option for output, not shell redirection.
29688
5c77c3de 296892009-04-26 David S. Miller <davem@davemloft.net>
29690
29691 * util/grub-mkdevicemap.c (make_device_map): Add missing
29692 NESTED_FUNC_ATTR to process_device().
29693
033b10a8 296942009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
29695
29696 Test command
29697
29698 * commands/test.c: rewritten to use bash-like test
29699
e4343593 297002009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
29701
29702 Parttool autoloading and improvements
29703
7dd4a573 29704 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 29705 (parttool.lst): new target
29706 * genmk.rb: generate parttool-*
29707 (CLEANFILES): add #{parttool}
29708 (PARTTOOLFILES): new variable
29709 * genparttoollist.sh: new file
7dd4a573 29710 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 29711 (grub_pcpart_type): likewise
29712 * commands/parttool.c (helpmsg): new variable
29713 (grub_cmd_parttool): output help if not enough arguments are supplied
29714 autoload modules
29715 (GRUB_MOD_INIT(parttool)): use helpmsg
29716
0d312500 297172009-04-24 David S. Miller <davem@davemloft.net>
29718
7dd4a573 29719 Avoiding opening same device multiple times in device iterator.
0d312500 29720
29721 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 29722 and use it to build a list of partitions in iterate_disk() and
0d312500 29723 iterate_partition().
29724
ac20caff 29725 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
29726 on disk->data.
29727
0dcf7495 29728 * disk/ieee1275/nand.c (grub_nand_iterate): Return
29729 grub_devalias_iterate() result instead of unconditional 0.
29730 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
29731 Also, capture hook return value, either directly or via
29732 grub_children_iterate(), and propagate to caller.
29733 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
29734 grub_children_iterate): Return value is now 'int' instead of
29735 'grub_err_t'.
29736 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
29737 like a proper iterator, stopping when hooks return non-zero.
29738 (grub_devalias_iterate): Likewise.
29739
c8c08833 297402009-04-23 David S. Miller <davem@davemloft.net>
29741
29742 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
29743
f01005a8 297442009-04-22 David S. Miller <davem@davemloft.net>
29745
29746 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
29747 is larger than address_cells, use that value for address_cells too.
29748
4e8269da 29749 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
29750 IEEE1275_MAX_PATH_LEN): Define.
29751 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
29752 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
29753 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
29754 'devtype'. Explicitly NULL terminate devalias expansion.
29755
a1447506 29756 * util/sparc64/ieee1275/misc.c: New file.
29757 * util/sparc64/ieee1275/grub-setup.c: New file.
29758 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
29759 * util/sparc64/ieee1275/grub-mkimage.c: New file.
29760 * util/sparc64/ieee1275/grub-install.in: New file.
29761 * util/ieee1275/ofpath.c: New file.
29762 * util/ieee1275/devicemap.c: New file.
29763 * util/devicemap.c: New file.
29764 * util/deviceiter.c: New file.
29765 * kern/sparc64/ieee1275/init.c: New file.
29766 * include/grub/util/ofpath.h: New file.
29767 * include/grub/util/deviceiter.h: New file.
29768 * util/grub-mkdevicemap.c: Include deviceiter.h.
29769 Implement using grub_util_emit_devicemap_entry and
29770 grub_util_iterate_devices.
29771 * conf/i386-corebook.rmk: Build util/deviceiter.c and
29772 util/devicemap.c into grub-mkdevicemap
29773 * conf/i386-efi.rmk: Likewise.
29774 * conf/i386-ieee1275.rmk: Likewise.
29775 * conf/i386-pc.rmk: Likewise.
29776 * conf/powerpc-ieee1275.rmk: Likewise.
29777 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
29778 images and installation utilities. Build kernel as image
29779 instead of as elf binary. Use common rules as much as possible.
29780
7dd4a573 297812009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 29782
29783 Correct GPT definition
29784
7dd4a573 29785 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 29786 of "attrib" member
29787
c6c5219f 297882009-04-19 Felix Zielcke <fzielcke@z-51.de>
29789
29790 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
29791
0552ff9f 297922009-04-19 David S. Miller <davem@davemloft.net>
29793
29794 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
29795 (grub_rescue_cmd_linux): Rename to...
29796 (grub_cmd_linux): and fix prototype.
29797 (grub_rescue_cmd_initrd): Rename to...
29798 (grub_cmd_initrd): and fix prototype.
29799 (cmd_linux, cmd_initrd): New.
29800 (GRUB_MOD_INIT(linux)): Use grub_register_command().
29801 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
29802
d1a282fc 298032009-04-17 Pavel Roskin <proski@gnu.org>
29804
07c5039f 29805 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
29806 format.
29807 (grub_ohci_transfer): Likewise.
29808
b012002d 29809 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
29810
1bc09c35 29811 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
29812 return without a value. Fix inconsistent indentation.
29813
e0ff9126 29814 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
29815 match struct grub_fs.
29816
d1a282fc 29817 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
29818 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
29819 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29820 * commands/lspci.c (grub_lspci_iter): Likewise.
29821
a96df3f2 298222009-04-16 Bean <bean123ch@gmail.com>
29823
29824 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
29825 value.
29826
41bb0fe9 298272009-04-15 Pavel Roskin <proski@gnu.org>
29828
29829 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
29830 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
29831 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
29832 definitions.
29833
596c6970 298342009-04-15 Felix Zielcke <fzielcke@z-51.de>
29835
29836 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 29837 that no multiple data or metadata areas are supported and `Unknown
596c6970 29838 metadata header'.
29839
7dd4a573 298402009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 29841
29842 Move loader out of the kernel
29843
29844 * kern/loader.c: moved to ...
29845 * commands/boot.c: ... moved here
29846 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
29847 * commands/boot.c (grub_cmd_boot): moved here. All users updated
29848 * include/grub/kernel.h (grub_machine_fini): export
29849 * include/grub/loader.h (grub_loader_is_loaded): update declaration
29850 (grub_loader_set): likewise
29851 (grub_loader_unset): likewise
29852 (grub_loader_boot): likewise
29853 * conf/common.rmk: new module boot.mod
29854 (pkglib_MODULES): add boot.mod
29855 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
29856 (grub_emu_SOURCES): likewise
29857 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
29858 (grub_emu_SOURCES): likewise
29859 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
29860 (grub_emu_SOURCES): likewise
29861 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
29862 (grub_emu_SOURCES): likewise
29863 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
29864 (grub_emu_SOURCES): likewise
7dd4a573 29865 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
29866 (grub_emu_SOURCES): likewise
0d5d5653 29867 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 29868 (grub_emu_SOURCES): likewise
0d5d5653 29869
7dd4a573 298702009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 29871
29872 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 29873
5999d619 29874 * kern/misc.c (grub_itoa): Removed function
29875 (grub_ltoa): likewise
29876 (grub_vsprintf): use grub_lltoa
29877
7dd4a573 298782009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 29879
29880 Restore grub-emu
29881
29882 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
29883 * conf/i386-coreboot.rmk: likewise
29884 * conf/i386-ieee1275.rmk: likewise
29885 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 29886
20318222 298872009-04-15 Felix Zielcke <fzielcke@z-51.de>
29888
29889 * INSTALL: Add that `./autogen.sh' needs to be run before
29890 `./configure.'.
29891
d05f0df3 298922009-04-14 Bean <bean123ch@gmail.com>
29893
29894 * Makefile.in (pkglib_DATA): Add handler.lst.
29895 (handler.lst): New rule.
29896
29897 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
29898 * conf/i386-coreboot.rmk: Likewise.
29899 * conf/i386-ieee1275.rmk: Likewise.
29900 * conf/i386-efi.rmk: Likewise.
29901 * conf/x86_64-efi.rmk: Likewise.
29902 * conf/powerpc-ieee1275.rmk: Likewise.
29903 * conf/sparc64-ieee1275.rmk: Likewise.
29904
29905 * genhandlerlist.sh: New file.
29906
29907 * genmk.rb: Add rules to generate handler.lst.
29908
29909 * include/grub/normal.h (grub_file_getline): New function definition.
29910 (read_handler_list): Likewise.
29911 (free_handler_list): Likewise.
29912
29913 * include/grub/term.h (grub_term_register_input): Add name parameter
29914 for auto generation of handler.lst.
29915 (grub_term_register_output): Likewise.
29916
29917 * normal/handler.c: New file.
29918
29919 * normal/main.c (get_line): Renamed to grub_file_getline.
29920 (read_config_file): Use the newly renamed grub_file_getline.
29921 (read_command_list): Likewise.
29922 (read_fs_list): Likewise.
29923 (grub_normal_execute): Call read_handler_list to parse handler.lst.
29924 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
29925
29926 * term/efi/console.c (grub_console_init): Add name parameter for auto
29927 generation of handler.lst.
29928 * term/gfxterm.c: Likewise.
29929 * term/i386/pc/at_keyboard.c: Likewise.
29930 * term/i386/pc/console.c: Likewise.
29931 * term/i386/pc/serial.c: Likewise.
29932 * term/i386/pc/vesafb.c: Likewise.
29933 * term/i386/pc/vga.c: Likewise.
29934 * term/i386/pc/vga_text.c: Likewise.
29935 * term/ieee1275/ofconsole.c: Likewise.
29936 * term/usb_keyboard.c: Likewise.
29937
33c846be 299382009-04-14 Bean <bean123ch@gmail.com>
29939
29940 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
29941 properly with null character.
29942
4484e01e 299432009-04-14 Felix Zielcke <fzielcke@z-51.de>
29944
29945 * configure: Remove.
29946 * config.h.in: Likewise.
f93d668e 29947 * stamp-h.in: Likewise.
4484e01e 29948 * DISTLIST: Likewise.
29949 * conf/common.mk: Likewise.
29950 * conf/i386-coreboot.mk: Likewise.
29951 * conf/i386-efi.mk: Likewise.
29952 * conf/i386-ieee1275.mk: Likewise.
29953 * conf/i386.mk: Likewise.
29954 * conf/i386-pc.mk: Likewise.
29955 * conf/powerpc-ieee1275.mk: Likewise.
29956 * conf/sparc64-ieee1275.mk: Likewise.
29957 * conf/x86_64-efi.mk: Likewise.
29958
29959 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
29960 develop on GRUB.
29961
7dd4a573 299622009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 29963 David S. Miller <davem@davemloft.net>
29964
29965 * util/hostdisk.c (make_device_name): Fix buffer length
29966 calculations.
29967
e25b5a8c 299682009-04-14 Felix Zielcke <fzielcke@z-51.de>
29969
29970 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
29971 <sys/param.h> and <sys/sysctl.h>.
29972 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
29973 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
29974 opening the device and reset them afterwards.
29975
1f1f580c 299762009-04-13 Pavel Roskin <proski@gnu.org>
29977
29978 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
29979 Reported by John Stanley <jpsinthemix@verizon.net>
29980
7ebc2d6b 299812009-04-13 Robert Millan <rmh@aybabtu.com>
29982
29983 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 29984 that name for menuentries when appropriate.
7ebc2d6b 29985
d8ba3667 299862009-04-13 Felix Zielcke <fzielcke@z-51.de>
29987
29988 * util/grub.d/10_freebsd.in: Add a missing `fi'.
29989
cba416eb 299902009-04-13 Robert Millan <rmh@aybabtu.com>
29991
29992 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
29993 to Linux, simply abort telling the user it's no longer supported.
29994
a547a745 299952009-04-13 Felix Zielcke <fzielcke@z-51.de>
29996
29997 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 29998 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 29999 `freebsd_loadenv' only when devices.hints exist.
30000
232a769c 300012009-04-13 Pavel Roskin <proski@gnu.org>
30002
30003 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
30004
c3012039 300052009-04-13 Felix Zielcke <fzielcke@z-51.de>
30006
30007 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
30008 partition number.
30009 (grub_drive): Likewise.
30010
234022fe 300112009-04-13 David S. Miller <davem@davemloft.net>
30012
30013 * kern/sparc64/ieee1275/ieee1275.c: New file.
30014 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
30015 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
30016 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
30017 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
30018 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
30019 grub_ieee1275_alloc_physmem): Declare new exported functions.
30020
d8e1836c 30021 * include/grub/sparc64/ieee1275/loader.h: New file.
30022 * include/grub/sparc64/ieee1275/memory.h: Likewise.
30023 * include/grub/sparc64/kernel.h: Likewise.
30024 * loader/sparc64/ieee1275/linux.c: Likewise.
30025
96bd81ec 30026 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
30027 (grub_fstest_SOURCES): Likewise.
30028
6a4737e5 30029 * util/hostdisk.c (make_device_name): Do not make any assumptions
30030 about the length of drive names.
30031
1d7a72fd 30032 * kern/dl.c (grub_dl_load_file): Close file immediately when
30033 we are done using it.
30034
56bc2471 300352009-04-12 David S. Miller <davem@davemloft.net>
30036
30037 * kern/misc.c (grub_ltoa): Fix cast when handling negative
30038 values. Noticed by Pavel Roskin.
30039
df38d0bb 30040 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
30041 target compiler.
7dd4a573 30042
e382e93a 30043 * genmk.rb: Add more flexible image type specification, also
30044 pass --strip-unneeded to objcopy.
30045 * conf/i386-pc.rmk: Use *_FORMAT.
30046 * conf/i386-pc.mk: Rebuilt.
30047
f5dbbca9 30048 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
30049 (OFDISK_HASH_SZ): Define.
30050 (ofdisk_hash): New hash table.
30051 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
30052 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
30053 instead of device phandle which is not unique.
30054
91c88b12 30055 * kern/sparc64/ieee1275/init.c: Delete, replace with...
30056 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
30057 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
30058 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
30059 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
30060 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
30061 GRUB_KERNEL_MACHINE_DATA_END): Define.
30062 (grub_kernel_image_size, grub_total_module_size): Declare.
30063
5b5d4aa5 300642009-04-12 Pavel Roskin <proski@gnu.org>
30065
7dd4a573 30066 * configure.ac: Change the logic when we check for target tools.
30067 Do it when the target is specified and it's different from the
30068 specified value of the host.
5b5d4aa5 30069
c91e1793 300702009-04-11 Felix Zielcke <fzielcke@z-51.de>
30071
30072 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
30073 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
30074 GNU/kFreeBSD. Check if a device is a character device. Use
30075 DIOCGMEDIASIZE to get the size.
30076 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
30077 support for GNU/kFreeBSD.
30078 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
30079 is a character device instead of a block device. Add support for
30080 FreeBSD device names.
30081
30082 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
30083 is a character device instead of a block device.
30084
30085 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
30086 is a character device instead of a block device.
30087
b1ac8644 300882009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
30089
30090 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
30091 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
30092 FreeBSD. Check if a device is a character device. Use
30093 DIOCGMEDIASIZE to get the size.
30094 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
30095 support for FreeBSD.
30096 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
30097 is a character device instead of a block device. Add support for
30098 FreeBSD device names.
30099
30100 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
30101 a character device instead of a block device.
30102 (grub_util_check_char_device): New function.
30103
30104 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
30105 a character device instead of a block device.
30106
30107 * include/grub/util/getroot.h (grub_util_check_char_device): New
30108 prototype.
30109
a3f7515a 301102009-04-11 David S. Miller <davem@davemloft.net>
30111
30112 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
30113 static libgcc.
30114 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
30115 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
30116 function, if present.
30117 (__bswapdi2): Likewise.
30118
0d44993d 30119 * include/grub/sparc64/ieee1275/boot.h: New file.
30120 * boot/sparc64/ieee1275/boot.S: Likewise.
30121 * boot/sparc64/ieee1275/diskboot.S: Likewise.
30122
ed3d2bc2 30123 * kern/misc.c (grub_ltoa): New function.
30124 (grub_vsprintf): Use it to format 'long' integers.
30125
d3bfb59c 301262009-04-10 David S. Miller <davem@davemloft.net>
30127
30128 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
30129 slots are of type grub_ieee1275_cell_t.
30130 (grub_nand_read): Likewise.
30131 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
30132 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
30133 macros are used to compare values in arg/ret block of the call.
30134 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
30135 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
30136 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
30137 grub_ieee1275_instance_to_path, grub_ieee1275_write,
30138 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
30139 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
30140 grub_ieee1275_close, grub_ieee1275_set_property,
30141 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
30142 grub_ieee1275_cell_t.
30143 * kern/ieee1275/openfw.c (grub_map): Likewise.
30144 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
30145 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
30146
450e2238 30147 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
30148 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
30149 (grub_devalias_iterate): Likewise.
30150
7dd4a573 301512009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 30152
30153 UFS improvements
30154
30155 * fs/ufs.c (INODE_NBLOCKS): new definition
30156 (struct grub_ufs_dirent): added fields for non-BSD dirents
30157 (grub_ufs_get_file_block): fixed double indirect handling
30158 (grub_ufs_lookup_symlink): use more robust way to determine whether
30159 symlink is inline
30160 (grub_ufs_find_file): support for non-BSD dirents
30161 (grub_ufs_dir): support for non-BSD dirents
30162
e7e6862a 301632009-04-10 Bean <bean123ch@gnail.com>
30164
30165 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
30166 attribute, otherwise the size would be wrong for i386 platform.
30167
30168 * include/grub/pci.h (grub_pci_read_word): New inline function.
30169 (grub_pci_read_byte): Likewise.
30170 (grub_pci_write): Likewise.
30171 (grub_pci_write_word): Likewise.
30172 (grub_pci_write_byte): Likewise.
30173
30174 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
30175
30176 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
30177 (find_framebuf): Scan pci to locate the frame buffer address.
30178
30179 * commands/efi/fixvideo.c: New file.
30180
30181 * commands/efi/loadbios.c: Likewise.
30182
30183 * commands/memrw.c: Likewise.
30184
30185 * util/grub-dumpbios.in: Likewise.
30186
30187 * conf/common.rmk (grub-dumpbios): New utility.
30188 (pkglib_MODULES): New module memrw.mod.
30189 (memrw_mod_SOURCE): New macro.
30190 (memrw_mod_CFLAGS): Likewise.
30191 (memrw_mod_LDFLAGS): Likewise.
30192
7dd4a573 30193 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 30194 fixvideo.mod.
30195 (loadbios_mod_SOURCE): New macro.
30196 (loadbios_mod_CFLAGS): Likewise.
30197 (loadbios_mod_LDFLAGS): Likewise.
30198 (fixvideo_mod_SOURCE): Likewise.
30199 (fixvideo_mod_CFLAGS): Likewise.
30200 (fixvideo_mod_LDFLAGS): Likewise.
30201
7dd4a573 30202 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 30203 fixvideo.mod.
30204 (loadbios_mod_SOURCE): New macro.
30205 (loadbios_mod_CFLAGS): Likewise.
30206 (loadbios_mod_LDFLAGS): Likewise.
30207 (fixvideo_mod_SOURCE): Likewise.
30208 (fixvideo_mod_CFLAGS): Likewise.
30209 (fixvideo_mod_LDFLAGS): Likewise.
30210
af63ada2 302112009-04-08 Felix Zielcke <fzielcke@z-51.de>
30212
30213 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
30214
c2cdde70 302152009-04-07 David S. Miller <davem@davemloft.net>
30216
30217 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
30218 support for R_SPARC_OLO10 relocations. Fix compile warning for
30219 R_SPARC_WDISP30 case.
ea3f72cf 30220 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 30221
761319cf 302222009-04-06 Pavel Roskin <proski@gnu.org>
30223
1007d1f5 30224 * include/grub/misc.h (ARRAY_SIZE): New macro.
30225 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
30226 New macro.
30227 * loader/i386/linux.c (allocate_pages): Use free_pages().
30228 (grub_linux_unload): Don't use free_pages().
30229 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
30230 wrong index. Treat all other modes as text modes.
30231 (grub_cmd_linux): Initialize vid_mode unconditionally to
30232 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
30233
761319cf 30234 * commands/help.c (print_command_help): Use cmd->prio, not
30235 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
30236
ea761d40 302372009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 30238
ea761d40 30239 Parttool
30240
30241 * parttool/pcpart.c: new file
30242 * commands/parttool.c: likewise
30243 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
30244 (parttool_mod_SOURCES): new variable
30245 (parttool_mod_CFLAGS): likewise
30246 (parttool_mod_LDFLAGS): likewise
30247 (pcpart_mod_SOURCES): likewise
30248 (pcpart_mod_CFLAGS): likewise
30249 (pcpart_mod_LDFLAGS): likewise
7dd4a573 30250 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 30251 and parttool/pcpart.c
30252 * conf/i386-efi.rmk: likewise
30253 * conf/i386-ieee1275.rmk: likewise
30254 * conf/i386-pc.rmk: likewise
30255 * conf/powerpc-ieee1275.rmk: likewise
30256 * conf/sparc64-ieee1275.rmk: likewise
30257 * conf/x86_64-ieee1275.rmk: likewise
30258
05aaebfb 302592009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
30260
30261 Support for mtime and further expandability of dir command
30262
30263 * include/grub/lib/datetime.h: moved to ...
7dd4a573 30264 * include/grub/datetime.h: ... moved here and added
05aaebfb 30265 declaration of grub_unixtime2datetime. All users updated
7dd4a573 30266 * include/grub/fs.h: new syntax for dir and mtime functions in
30267 struct grub_fs
05aaebfb 30268 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
30269 and GRUB_FSHELP_FLAGS_MASK
30270 * commands/ls.c (grub_ls_list_files): Write mtime in long format
30271 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
30272 (grub_ext2_mtime): new function
30273 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
30274 (grub_hfsplus_mtime): new function
30275 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
30276 (GRUB_UFS_ATTR_FILE): likewise
30277 (GRUB_UFS_ATTR_LNK): likewise
30278 (struct grub_ufs_sblock): new fields mtime
30279 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
30280 all users updated
30281 (grub_ufs_dir): mtime support
30282 (grub_ufs_mtime): new function
30283 * fs/affs.c (grub_affs_dir): use new dir syntax
30284 * fs/afs.c (grub_afs_dir): likewise
30285 * fs/cpio.c (grub_cpio_dir): likewise
30286 * fs/fat.c (grub_fat_find_dir): likewise
30287 * fs/hfs.c (grub_hfs_dir): likewise
30288 * fs/iso9660.c (grub_iso9660_dir): likewise
30289 * fs/jfs.c (grub_jfs_dir): likewise
30290 * fs/minix.c (grub_minix_dir): likewise
30291 * fs/ntfs.c (grub_ntfs_dir): likewise
30292 * fs/reiserfs.c (grub_reiserfs_dir): likewise
30293 * fs/sfs.c (grub_sfs_dir): likewise
30294 * fs/xfs.c (grub_xfs_dir): likewise
30295 * util/hostfs.c (grub_hostfs_dir): likewise
30296 * lib/datetime.c: moved to ...
30297 * normal/datetime.c: ... moved here
30298 (grub_unixtime2datetime): new function
30299 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 30300 * normal/completion.c (iterate_dir): use new dir syntax
30301 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 30302 last modification time of a volume
7dd4a573 30303 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 30304 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 30305 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 30306 (normal_mod_SOURCES): likewise
30307 (datetime_mod_SOURCES): Removed lib/datetime.c
30308 * conf/i386-efi.rmk: likewise
7dd4a573 30309 * conf/i386-ieee1275.rmk: likewise
05aaebfb 30310 * conf/i386-pc.rmk: likewise
30311 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 30312 * conf/sparc64-ieee1275.rmk: likewise
30313 * conf/x86_64-efi.rmk: likewise
05aaebfb 30314
8a7e1a14 303152009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
30316
30317 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 30318
30319 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 30320 on grub_fat_find_dir
30321 (grub_fat_find_dir): use grub_fat_iterate_dir
30322 (grub_fat_label): likewise
30323
04186a9c 303242009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
30325
7dd4a573 30326 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 30327 and command.h
30328 remove extraneous kernel_elf_HEADERS
30329
da4c0bb6 303302009-04-04 Bean <bean123ch@gnail.com>
30331
30332 * include/grub/util/misc.h: Add dummy function fsync for mingw.
30333
30334 * util/misc.c: Likewise.
30335
54ad9555 303362009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
30337
30338 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
30339 instead of grub_printf.
30340
7a6bf9f2 303412009-04-03 Robert Millan <rmh@aybabtu.com>
30342
30343 * loader/i386/linux.c (grub_linux_setup_video): Fill
30344 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
30345 values from `mode info' structure instead of hardcoded
30346 values.
30347
3fcc2083 303482009-04-01 Pavel Roskin <proski@gnu.org>
30349
30350 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
30351 unused now.
30352 * genmk.rb: Likewise.
30353 * configure.ac: Likewise.
30354
5ec9740b 303552009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
30356
30357 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
30358 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
30359
5270cec8 303602009-04-01 David S. Miller <davem@davemloft.net>
30361
30362 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 30363 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 30364 (grub_setjmp): Mark with 'returns_twice' attribute.
30365 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
30366 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
30367 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
30368
9c3dd854 303692009-04-01 Robert Millan <rmh@aybabtu.com>
30370
30371 Reapply fix from 2008-07-28 which was accidentally reverted; also
30372 perform the same fix to a similar check in same function.
30373
30374 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
30375 with the same number are found, just use issue a warning with
30376 grub_dprintf(), as this error has been reported to be non-fatal.
30377
0d818b7e 303782009-03-31 Pavel Roskin <proski@gnu.org>
30379
30380 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
30381 for cross-compilation.
30382
95646d92 303832009-03-30 Robert Millan <rmh@aybabtu.com>
30384
30385 Fix i386-ieee1275 build.
30386
30387 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
30388 Remove declaration.
30389
6a003ed1 303902009-03-30 Pavel Roskin <proski@gnu.org>
30391
30392 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
30393 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
30394 zero-terminated, rely only on the strlen value. Fix comparison
30395 of strings differing in length.
30396
92f33540 303972009-03-30 Robert Millan <rmh@aybabtu.com>
30398
30399 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
30400 checking for abi version. Improve error messages on BIOS to notify
30401 user about `linux16' command.
30402
a8c48fd5 304032009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
30404
f968172e 30405 Leak fixes
a8c48fd5 30406
f968172e 30407 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
30408 in case of collision
30409 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 30410
9c323f09 304112009-03-29 Robert Millan <rmh@aybabtu.com>
30412
30413 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
30414 set `vid_mode' accordingly.
30415 (grub_linux_boot): Process `vid_mode' and set video mode.
30416
ae68f423 304172009-03-29 Robert Millan <rmh@aybabtu.com>
30418
30419 * util/grub.d/10_linux.in (linux_entry): New function.
30420 Factorize generation of Linux boot entries.
30421
5709cfc4 304222009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
30423
30424 Make the format of Environment Block plain text. The boot loader
30425 part is not tested well yet.
7dd4a573 30426
5709cfc4 30427 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
30428 (buffer): Removed.
30429 (envblk): Likewise.
30430 (usage): Remove "info" and "clear". Add "unset". Update the
30431 description of "set", as this does not delete variables any
30432 longer.
30433 (create_envblk_file): Complete rewrite.
30434 (open_envblk_file): Likewise.
30435 (cmd_info): Removed.
30436 (cmd_list): Likewise.
30437 (cmd_set): Likewise.
30438 (cmd_clear): Likewise.
30439 (list_variables): New function.
30440 (write_envblk): Likewise.
30441 (set_variables): Likewise.
30442 (unset_variables): Likewise.
30443 (main): Complete rewrite.
30444
30445 * commands/loadenv.c (buffer): Removed.
30446 (envblk): Likewise.
30447 (open_envblk_file): New function.
30448 (read_envblk_file): Complete rewrite.
30449 (grub_cmd_load_env): Likewise.
30450 (grub_cmd_list_env): Likewise.
30451 (struct blocklist): New struct.
30452 (free_blocklists): New function.
30453 (check_blocklists): Likewise.
30454 (write_blocklists): Likewise.
30455 (grub_cmd_save_env): Complete rewrite.
30456
30457 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
30458 a plain text signature.
30459 (GRUB_ENVBLK_MAXLEN): Removed.
30460 (struct grub_envblk): Complete rewrite.
30461 (grub_envblk_find): Removed.
30462 (grub_envblk_insert): Likewise.
30463 (grub_envblk_open): New prototype.
30464 (grub_envblk_set): Likewise.
30465 (grub_envblk_delete): Put const to VALUE.
30466 (grub_envblk_iterate): Put const to NAME and VALUE.
30467 (grub_envblk_close): New prototype.
30468 (grub_envblk_buffer): New inline function.
30469 (grub_envblk_size): Likewise.
30470
30471 * lib/envblk.c: Include grub/mm.h.
30472 (grub_env_find): Removed.
30473 (grub_envblk_open): New function.
30474 (grub_envblk_close): Likewise.
30475 (escaped_value_len): Likewise.
30476 (find_next_line): Likewise.
30477 (grub_envblk_insert): Removed.
30478 (grub_envblk_set): New function.
30479 (grub_envblk_delete): Complete rewrite.
30480 (grub_envblk_iterate): Likewise.
30481
a9368fd3 304822009-03-28 Robert Millan <rmh@aybabtu.com>
30483
30484 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
30485 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
30486 variables. Use 16-bit loader.
30487 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
30488 loader.
30489 * kern/i386/loader.S (grub_linux_boot): Rename to ...
30490 (grub_linux16_boot): ... this. Update all users.
30491 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
30492 (grub_linux_boot): ... this. Update all users.
30493
30494 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
30495 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
30496 commands to `linux16' and `initrd16'.
30497 (GRUB_MOD_FINI(linux)): Rename to ...
30498 (GRUB_MOD_FINI(linux16)): ... this.
30499
e4dd5a7e 305002009-03-24 Pavel Roskin <proski@gnu.org>
30501
30502 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
30503 not just for compilation.
30504
c04d6e05 305052009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
30506
30507 Move multiboot helper out of kernel
30508
30509 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
30510 `loader/i386/multiboot_helper.S'.
30511 * conf/i386-coreboot.rmk: Likewise
30512 * conf/i386-ieee1275.rmk: Likewise
30513
30514 * kern/i386/loader.S: Move multiboot helpers from here...
30515 * loader/i386/multiboot_helper.S: ...moved here
30516 * include/grub/i386/loader.h: Move declarations of multiboot
30517 helpers from here...
30518 * include/grub/i386/multiboot.h: ...moved here
30519 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
30520
42a5b3fc 305212009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
30522
30523 * kern/env.c (grub_env_context_open): Added an argument to specify
30524 whether a new context inherits exported variables from current
30525 one. This is useful when making a sandbox to interpret a config
30526 file.
30527 All callers updated.
30528
30529 * include/grub/env.h (grub_env_context_open): Updated the prototype.
30530
b28bbc4e 305312009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
30532
30533 * kern/env.c (grub_env_context_close): Fix memory leaks.
30534
f04f02e4 305352009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
30536
30537 * normal/main.c (grub_normal_execute): Added an argument
30538 BATCH to specify if an interactive interface should be provided
30539 after reading a config file.
30540 All callers updated.
30541 (read_command_list): Prevent being executed twice.
30542 (read_fs_list): Likewise.
30543
42a5b3fc 30544 * include/grub/normal.h (grub_normal_execute): Updated the
30545 prototype.
f04f02e4 30546
41473ac2 305472009-03-22 Pavel Roskin <proski@gno.org>
30548
fbc00b0c 30549 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
30550 _start.
30551 * kern/i386/pc/startup.S: Likewise.
30552 * kern/i386/efi/startup.S: Likewise.
30553 * kern/i386/ieee1275/startup.S: Likewise.
30554 * kern/i386/coreboot/startup.S: Likewise.
30555 * kern/x86_64/efi/startup.S: Likewise.
30556
41473ac2 30557 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
30558 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
30559 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
30560
2274cc8f 305612009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
30562
30563 Bugfixes in multiboot for bugs uncovered by solaris kernel.
30564
30565 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
30566 limit detection.
30567 Use vaddr of correct segment for entry_point.
30568
b1b797cb 305692009-03-21 Bean <bean123ch@gmail.com>
30570
30571 * commands/blocklist.c: Add include file <grub/command.h>, remove
30572 <grub/normal.h> and <grub/arg.h>.
30573 (grub_cmd_blocklist): Use the new command interface.
30574 (GRUB_MOD_INIT): Likewise.
30575 (GRUB_MOD_FINI): Likewise.
30576 * commands/boot.c: Likewise.
30577 * commands/cat.c: Likewise.
30578 * commands/cmp.c: Likewise.
30579 * commands/configfile.c: Likewise.
30580 * commands/crc.c: Likewise.
30581 * commands/echo.c: Likewise.
30582 * commands/halt.c: Likewise.
30583 * commands/handler.c: Likewise.
30584 * commands/hdparm.c: Likewise.
30585 * commands/help.c: Likewise.
30586 * commands/hexdump.c: Likewise.
30587 * commands/loadenv.c: Likewise.
30588 * commands/ls.c: Likewise.
30589 * commands/lsmmap.c: Likewise.
30590 * commands/lspci.c: Likewise.
30591 * commands/loadenv.c: Likewise.
30592 * commands/read.c: Likewise.
30593 * commands/reboot.c: Likewise.
30594 * commands/search.c: Likewise.
30595 * commands/sleep.c: Likewise.
30596 * commands/test.c: Likewise.
30597 * commands/usbtest.c: Likewise.
30598 * commands/videotest.c: Likewise.
30599 * commands/i386/cpuid.c: Likewise.
30600 * commands/i386/pc/halt.c: Likewise.
30601 * commands/i386/pc/play.c: Likewise.
30602 * commands/i386/pc/pxecmd.c: Likewise.
30603 * commands/i386/pc/vbeinfo.c: Likewise.
30604 * commands/i386/pc/vbetest.c: Likewise.
30605 * commands/ieee1275/suspend.c: Likewise.
30606 * disk/loopback.c: Likewise.
30607 * font/font_cmd.c: Likewise.
30608 * hello/hello.c: Likewise.
30609 * loader/efi/appleloader.c: Likewise.
30610 * loader/efi/chainloader.c: Likewise.
30611 * loader/i386/bsd.c: Likewise.
30612 * loader/i386/efi/linux.c: Likewise.
30613 * loader/i386/ieee1275/linux.c: Likewise.
30614 * loader/i386/linux.c: Likewise.
30615 * loader/i386/pc/chainloader.c: Likewise.
30616 * loader/i386/pc/linux.c: Likewise.
30617 * loader/powerpc/ieee1275/linux.c: Likewise.
30618 * loader/multiboot_loader.c: Likewise.
30619 * term/gfxterm.c: Likewise.
30620 * term/i386/pc/serial.c: Likewise.
30621 * term/terminfo.c: Likewise.
30622
30623 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
30624 * term/i386/pc/vga.c: Likewise.
30625 * video/readers/jpeg.c: Likewise.
30626 * video/readers/png.c: Likewise.
30627 * video/readers/tga.c: Likewise.
30628
30629 * util/grub-fstest (cmd_loopback): Removed.
30630 (cmd_blocklist): Likewise.
30631 (cmd_ls): Likewise.
30632 (grub_register_command): Likewise.
30633 (grub_unregister_command): Likewise.
30634 (execute_command): Use grub_command_find to locate command and execute
30635 it.
30636
30637 * include/grub/efi/chainloader.h: Removed.
30638 * loader/efi/chainloader_normal.c: Likewise.
30639 * loader/i386/bsd_normal.c: Likewise.
30640 * loader/i386/pc/chainloader_normal.c: Likewise.
30641 * loader/i386/pc/multiboot_normal.c: Likewise.
30642 * loader/linux_normal.c: Likewise.
30643 * loader/multiboot_loader_normal.c: Likewise.
30644 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
30645
30646 * gencmdlist.sh: Scan new registration command grub_register_extcmd
30647 and grub_register_command_p1.
30648
30649 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
30650 kern/command.c, lib/arg.c and commands/extcmd.c.
30651 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
30652 (minicmd_mod_SOURCES): New variable.
30653 (minicmd_mod_CFLAGS): Likewise.
30654 (minicmd_mod_LDFLAGS): Likewise.
30655 (extcmd_mod_SOURCES): Likewise.
30656 (extcmd_mod_CFLAGS): Likewise.
30657 (extcmd_mod_LDFLAGS): Likewise.
30658 (boot_mod_SOURCES): Removed.
30659 (boot_mod_CFLAGS): Likewise.
30660 (boot_mod_LDFLAGS): Likewise.
30661
30662 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
30663 kern/corecmd.c.
30664 (kernel_img_HEADERS): Add command.h.
30665 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
30666 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
30667 and lib/arg.c.
30668 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
30669 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
30670 remove the corresponding normal mode command.
30671 (normal_mod_SOURCES): Remove normal/arg.c.
30672 * conf/i386-coreboot.rmk: Likewise.
30673 * conf/i386-efi.rmk: Likewise.
30674 * conf/i386-ieee1275.rmk: Likewise.
30675 * conf/powerpc-ieee1275.rmk: Likewise.
30676 * conf/x86_64-efi.rmk: Likewise.
30677
30678 * include/grub/arg.h: Move from here ...
30679 * include/grub/lib/arg.h: ... to here.
30680
30681 * normal/arg.c: Move from here ...
30682 * lib/arg.c: ... to here.
30683
30684 * commands/extcmd.c: New file.
30685 * commands/minicmd.c: Likewise.
30686 * include/grub/command.h: Likewise.
30687 * include/grub/extcmd.h: Likewise.
30688 * kern/command.c: Likewise.
30689 * kern/corecmd.c: Likewise.
30690
30691 * kern/list.c (grub_list_iterate): Return int instead of void.
30692 (grub_list_insert): New function.
30693 (grub_prio_list_insert): Likewise.
30694
30695 * kern/rescue.c (grub_rescue_command): Removed.
30696 (grub_rescue_command_list): Likewise.
30697 (grub_rescue_register_command): Likewise.
30698 (grub_rescue_unregister_command): Likewise.
30699 (grub_rescue_cmd_boot): Move to minicmd.c
30700 (grub_rescue_cmd_help): Likewise.
30701 (grub_rescue_cmd_info): Likewise.
30702 (grub_rescue_cmd_boot): Likewise.
30703 (grub_rescue_cmd_testload): Likewise.
30704 (grub_rescue_cmd_dump): Likewise.
30705 (grub_rescue_cmd_rmmod): Likewise.
30706 (grub_rescue_cmd_lsmod): Likewise.
30707 (grub_rescue_cmd_exit): Likewise.
30708 (grub_rescue_print_devices): Moved to corecmd.c.
30709 (grub_rescue_print_files): Likewise.
30710 (grub_rescue_cmd_ls): Likewise.
30711 (grub_rescue_cmd_insmod): Likewise.
30712 (grub_rescue_cmd_set): Likewise.
30713 (grub_rescue_cmd_unset): Likewise.
7d074e3c 30714 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 30715 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 30716 commands, remove grub_rescue_register_command calls.
b1b797cb 30717
7d074e3c 30718 * normal/command.c (grub_register_command): Removed.
b1b797cb 30719 (grub_unregister_command): Likewise.
30720 (grub_command_find): Likewise.
30721 (grub_iterate_commands): Likewise.
30722 (rescue_command): Likewise.
30723 (export_command): Moved to corecmd.c.
30724 (set_command): Removed.
30725 (unset_command): Likewise.
30726 (insmod_command): Likewise.
30727 (rmmod_command): Likewise.
30728 (lsmod_command): Likewise.
30729 (grub_command_init): Likewise.
30730
30731 * normal/completion.c (iterate_command): Use cmd->prio to check for
30732 active command.
30733 (complete_arguments): Use grub_extcmd_t structure to find options.
30734 (grub_normal_do_completion): Change function grub_iterate_commands to
30735 grub_command_iterate.
30736
30737 * normal/execute.c (grub_script_execute_cmd): No need to parse
30738 argument here.
30739
30740 * normal/main.c (grub_dyncmd_dispatcher): New function.
30741 (read_command_list): Register unload commands as dyncmd.
30742 (grub_cmd_normal): Use new command interface, register rescue,
30743 unregister normal at entry, register normal, unregister rescue at exit.
30744
30745 * include/grub/list.h (grub_list_test_t): New type.
30746 (grub_list_iterate): Return int instead of void.
30747 (grub_list_insert): New function.
30748 (GRUB_AS_NAMED_LIST_P): New macro.
30749 (GRUB_AS_PRIO_LIST): Likewise.
30750 (GRUB_AS_PRIO_LIST_P): Likewise.
30751 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
30752 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
30753 (grub_prio_list): New structure.
30754 (grub_prio_list_insert): New function.
30755 (grub_prio_list_remove): New inline function.
30756
30757 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
30758 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
30759 (GRUB_COMMAND_FLAG_MENU): Likewise.
30760 (GRUB_COMMAND_FLAG_BOTH): Likewise.
30761 (GRUB_COMMAND_FLAG_TITLE): Likewise.
30762 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
30763 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
30764 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
30765 (grub_command): Likewise.
30766 (grub_register_command): Likewise.
30767 (grub_command_find): Likewise.
30768 (grub_iterate_commands): Likewise.
30769 (grub_command_init): Likewise.
30770 (grub_arg_parse): Likewise.
30771 (grub_arg_show_help): Likewise.
30772
30773 * include/grub/rescue.h (grub_rescue_register_command): Removed.
30774 (grub_rescue_unregister_command): Likewise.
30775
30776 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
30777 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
30778 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
30779
30780 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
30781 grub_rescue_cmd_initrd.
30782 * include/grub/i386/loader.h: Likewise.
30783 * include/grub/x86_64/loader.h: Likewise.
30784
30785 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
30786
1f4147aa 307872009-03-21 Bean <bean123ch@gmail.com>
30788
30789 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
30790 instead of stat in mingw environment.
30791
30792 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
30793
30794 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
30795
30796 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
30797 AC_CONFIG_LINKS.
30798
2156d5ba 307992009-03-21 Bean <bean123ch@gmail.com>
30800
30801 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
30802 out of range error.
30803
177b82ca 308042009-03-18 Michel Dänzer <michel@daenzer.net>
30805
30806 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
30807 checking inode flags for EXT4_EXTENTS_FLAG.
30808
14aad807 308092009-03-18 Robert Millan <rmh@aybabtu.com>
30810
30811 * loader/i386/linux.c: Include `<grub/video.h>' and
30812 `<grub/i386/pc/vbe.h>'..
30813 (grub_linux_setup_video): New function. Loosely based on the EFI one.
30814 (grub_linux32_boot): Attempt to configure video settings with
30815 grub_linux_setup_video().
30816 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
30817 to avoid grub_console_fini() which would step out of graphical mode
30818 unconditionally.
30819
8cf83a27 308202009-03-14 Robert Millan <rmh@aybabtu.com>
30821
30822 Fix build on powerpc.
30823 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
30824
40164e75 308252009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
30826
30827 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
30828 background image command.
30829
c58bc32a 308302009-03-12 Colin D Bennett <colin@gibibit.com>
30831
30832 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
30833 (grub_gfxterm_putchar): Extract pairs of identical calls to
30834 draw_cursor out of conditional blocks.
30835
5415144a 308362009-03-11 Pavel Roskin <proski@gnu.org>
30837
30838 * fs/hfs.c (grub_hfs_strncasecmp): New function.
30839 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
30840
6394042e 308412009-03-11 Robert Millan <rmh@aybabtu.com>
30842
30843 * loader/i386/multiboot_elfxx.c
30844 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
30845
b7b50e5f 308462009-03-11 Felix Zielcke <fzielcke@z-51.de>
30847
30848 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
30849 `kern/handler.c'.
30850
1ca7fc96 308512009-03-11 Robert Millan <rmh@aybabtu.com>
30852
30853 * loader/i386/multiboot.c (code_size): New variable.
30854 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 30855 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 30856 4-byte alignment to MBI and others by increasing
7d074e3c 30857 `boot_loader_name_length' appropriately.
1ca7fc96 30858
30859 * loader/i386/multiboot_elfxx.c
30860 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
30861
a83ea1d2 308622009-03-09 Felix Zielcke <fzielcke@z-51.de>
30863
30864 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
30865 `fs/ext2.c'.
30866
aa9f3bff 308672009-03-08 Robert Millan <rmh@aybabtu.com>
30868
30869 Make loader/i386/linux.c usable on i386-pc again.
30870
30871 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
30872 memory to heap.
30873 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
30874 `#error' stanza.
30875
d8b3b60e 308762009-03-07 Bean <bean123ch@gmail.com>
30877
30878 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
30879 allocation.
30880
b362c9e9 308812009-03-06 Robert Millan <rmh@aybabtu.com>
30882
30883 Fix display issue on terminals with screen size other than 80x25
30884 (e.g. gfxterm with resolution higher than 640x480).
30885
30886 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 30887 position relative to the center of the terminal instead of relying
b362c9e9 30888 on a hardcoded offset.
30889
9304eef1 308902009-03-04 Robert Millan <rmh@aybabtu.com>
30891
30892 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
30893 installed.
30894
30895 * Makefile.in (host_kernel): New variable.
30896 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
30897 scripts instead of just the windows one.
30898 * configure.ac: Initialize and AC_SUBST `host_kernel'.
30899
eabc95fb 309002009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 30901
30902 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
30903 `kern/handler.c'.
30904 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30905 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30906 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30907 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30908 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30909 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30910
ceb1223c 309112009-03-04 Felix Zielcke <fzielcke@z-51.de>
30912
30913 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
30914 or if there's no space for the disk label and print the partition number on a
30915 invalid magic.
30916
4910684a 309172009-03-04 Felix Zielcke <fzielcke@z-51.de>
30918
30919 * util/misc.c: Include <time.h>.
30920 (grub_millisleep): New function.
30921
7e9ca17a 309222009-03-04 Bean <bean123ch@gmail.com>
30923
30924 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
30925 another option -mno-red-zone.
30926
30927 * commands/handler.c: Change module description.
30928
30929 * kern/handler.c: Add missing space at the end of description line.
30930
30931 * kern/list.c: Likewise.
30932
f501677c 309332009-03-03 Robert Millan <rmh@aybabtu.com>
30934
30935 Move more components to the relocation area, and fix mbi pointer
30936 handling to use the destination rather than the origin (thanks to
30937 Vladimir Serbinenko for spotting).
30938
30939 * loader/i386/multiboot.c (mbi_dest): New variable.
30940 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
30941 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
30942 relocation area.
30943
9902d047 309442009-03-01 Bean <bean123ch@gmail.com>
30945
50fb7002 30946 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 30947 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
30948 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
30949 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
30950
30951 * loader/i386/efi/linux.c (acpi_guid): New variable.
30952 (acpi_guid): Likewise.
30953 (EBDA_SEG_ADDR): New constant.
30954 (LOW_MEM_ADDR): Likewise.
30955 (FAKE_EBDA_SEG): Likewise.
30956 (fake_bios_data): New function.
30957 (grub_linux_boot): Call fake_bios_data.
30958
71b9f361 309592009-03-01 Bean <bean123ch@gmail.com>
30960
30961 * commands/terminal.c: Removed.
30962
30963 * commands/handler.c: New file.
30964
30965 * include/grub/list.h: Likewise.
30966
30967 * include/grub/handler.h: Likewise.
30968
30969 * kern/list.c: Likewise.
30970
30971 * kern/handler.c: Likewise.
30972
30973 * kern/term.h: Include header file <grub/handler.h>.
30974 (grub_term_input): Move next field to the beginning.
30975 (grub_term_output): Likewise.
30976 (grub_term_input_class): New variable.
30977 (grub_term_output_class): Likewise.
30978 (grub_term_register_input): Changed to inline function.
30979 (grub_term_register_output): Likewise.
30980 (grub_term_unregister_input): Likewise.
30981 (grub_term_unregister_output): Likewise.
30982 (grub_term_set_current_input): Likewise.
30983 (grub_term_set_current_output): Likewise.
30984 (grub_term_get_current_input): Likewise.
30985 (grub_term_get_current_output): Likewise.
30986 (grub_term_iterate_input): Removed.
30987 (grub_term_iterate_output): Likewise.
30988
30989 * kern/term.c (grub_term_list_input): Removed.
30990 (grub_term_list_output): Likewise.
30991 (grub_term_input_class): New variable.
30992 (grub_term_output_class): Likewise.
50fb7002 30993 (grub_cur_term_input): Change variable as macro.
71b9f361 30994 (grub_cur_term_output): Likewise.
30995 (grub_term_register_input): Removed.
30996 (grub_term_register_output): Likewise.
30997 (grub_term_unregister_input): Likewise.
30998 (grub_term_unregister_output): Likewise.
30999 (grub_term_set_current_input): Likewise.
31000 (grub_term_set_current_output): Likewise.
31001 (grub_term_iterate_input): Likewise.
31002 (grub_term_iterate_output): Likewise.
31003 (grub_term_get_current_input): Likewise.
31004 (grub_term_get_current_output): Likewise.
31005
31006 * util/grub-editenv.c: Include header file <grub/handler.h>.
31007 (grub_term_get_current_input): Removed.
31008 (grub_term_get_current_output): Likewise.
31009 (grub_term_input_class): New variable.
50fb7002 31010 (grub_term_output_class): Likewise.
71b9f361 31011
31012 * util/grub-fstest.c (grub_term_get_current_input): Removed.
31013 (grub_term_get_current_output): Likewise.
31014 (grub_term_input_class): New variable.
50fb7002 31015 (grub_term_output_class): Likewise.
71b9f361 31016
31017 * util/grub-probe.c (grub_term_get_current_input): Removed.
31018 (grub_term_get_current_output): Likewise.
31019 (grub_term_input_class): New variable.
50fb7002 31020 (grub_term_output_class): Likewise.
71b9f361 31021
31022 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
31023 (grub_term_get_current_output): Likewise.
31024 (grub_term_input_class): New variable.
50fb7002 31025 (grub_term_output_class): Likewise.
71b9f361 31026
31027 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
31028 (terminal_mod_SOURCES): Likewise.
31029 (terminal_mod_CFLAGS): Likewise.
31030 (terminal_mod_LDFLAGS): Likewise.
31031
31032 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
31033 handler.c.
31034 (kernel_img_SOURCES): Add list.c and handler.c.
31035 (kernel_img_HEADERS): Add list.h and handler.h.
31036
31037 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
31038 handler.c.
31039 (kernel_mod_SOURCES): Add list.c and handler.c.
31040 (kernel_mod_HEADERS): Add list.h and handler.h.
31041
31042 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
31043 handler.c.
31044 (kernel_elf_SOURCES): Add list.c and handler.c.
31045 (kernel_elf_HEADERS): Add list.h and handler.h.
31046
31047 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
31048 handler.c.
31049 (kernel_elf_SOURCES): Add list.c and handler.c.
31050 (kernel_elf_HEADERS): Add list.h and handler.h.
31051
31052 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
31053 handler.c.
31054 (kernel_mod_SOURCES): Add list.c and handler.c.
31055 (kernel_mod_HEADERS): Add list.h and handler.h.
31056
31057 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
31058 handler.c.
31059 (kernel_elf_SOURCES): Add list.c and handler.c.
31060 (kernel_elf_HEADERS): Add list.h and handler.h.
31061
8a31787f 310622009-02-27 Robert Millan <rmh@aybabtu.com>
31063
31064 Factorize elf32 / elf64 code in Multiboot loader. This will
31065 prevent it from getting out of sync again.
31066
31067 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
31068 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
31069 grub_multiboot_load_elf64): Move from here ...
31070 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
31071 grub_multiboot_load_elf): ... to here (new file).
31072
51cd3dfc 310732009-02-27 Robert Millan <rmh@aybabtu.com>
31074
31075 * util/grub.d/10_linux.in: Rename "single-user mode" to
31076 "recovery mode".
31077
6e8c9c3a 310782009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
31079
31080 Don't leak in SCSI code.
31081 * disk/scsi.c (grub_scsi_close): free `scsi'.
31082
4b6bf4f9 310832009-02-27 Robert Millan <rmh@aybabtu.com>
31084
31085 * loader/i386/pc/multiboot.c: Move from here ...
31086 * loader/i386/multiboot.c: ... to here. Update all users.
31087
b9413424 310882009-02-27 Robert Millan <rmh@aybabtu.com>
31089
31090 Patch from Alexandre Bique <bique.alexandre@gmail.com>
31091 * util/i386/pc/grub-setup.c (setup): Fix directory path.
31092
50fb7002 310932009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 31094
31095 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
31096 b-tree.
31097
8cc50345 310982009-02-27 Robert Millan <rmh@aybabtu.com>
31099
31100 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
31101 `0x' qualifier as 0 when base is specified as parameter).
31102
6e09b8b7 311032009-02-24 Bean <bean123ch@gmail.com>
31104
31105 * configure.ac: Check for -mcmodel=large in x86_64 target.
31106
31107 * include/grub/efi/api.h (efi_call_10): New macro.
31108 (efi_wrap_10): New function.
31109
31110 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
31111 (GRUB_PE32_REL_BASED_HIGH): Likewise.
31112 (GRUB_PE32_REL_BASED_LOW): Likewise.
31113 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
31114 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
31115 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
31116 (GRUB_PE32_REL_BASED_SECTION): Likewise.
31117 (GRUB_PE32_REL_BASED_REL): Likewise.
31118 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
31119 (GRUB_PE32_REL_BASED_DIR64): Likewise.
31120 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
31121
31122 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
31123 issue.
31124
31125 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
31126 (efi_wrap_10): New function.
31127
31128 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
31129
31130 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
31131 MB/MBP model (NV chipset).
31132 (devdata_devs): Add devpath_5 to the list.
31133
31134 * load/i386/efi/linux.c (video_base): Remove variable.
31135 (RGB_MASK): New macro.
31136 (RGB_MAGIC): Likewise.
31137 (LINE_MIN): Likewise.
31138 (LINE_MAX): Likewise.
31139 (FBTEST_STEP): Likewise.
31140 (FBTEST_COUNT): Likewise.
31141 (fb_list): New variable.
31142 (grub_find_video_card): Remove function.
31143 (find_framebuf): New function.
31144 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
31145 line length.
31146
31147 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
31148 problem for x86_64.
31149
74b21bee 311502009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
31151
31152 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
31153
31154 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
31155 coding tool name.
31156
a455f472 311572009-02-22 Robert Millan <rmh@aybabtu.com>
31158
31159 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
31160 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
31161 in our relocation, instead of using it directly from heap. Also
31162 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
31163
6374daf3 311642009-02-21 Robert Millan <rmh@aybabtu.com>
31165
31166 Implement USB keyboard support (based on patch by Marco Gerards)
31167
31168 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
31169 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
31170 (usb_keyboard_mod_LDFLAGS): New variables.
31171
31172 * term/usb_keyboard.c: New file.
31173
8fa4ea70 311742009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
31175
31176 Corrected wrong declaration
31177
31178 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
31179
353976ac 311802009-02-14 Christian Franke <franke@computer.org>
31181
31182 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
31183 (grub_lspci_iter): Print class code and programming interface byte.
31184
6aa1169b 311852009-02-14 Christian Franke <franke@computer.org>
31186
31187 * gendistlist.sh: Ignore `.svn' directories.
31188
265372ca 311892009-02-14 Felix Zielcke <fzielcke@z-51.de>
31190
31191 * fs/fat.c: Add 2009 to Copyright line.
31192
9ff516f3 311932009-02-14 Christian Franke <franke@computer.org>
31194
31195 * commands/hdparm.c: New file. Provides `hdparm' command
31196 which sends ATA commands via grub_disk_ata_pass_through ().
31197
31198 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
31199
31200 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
31201 and <grub/cpu/io.h> to include/grub/ata.h.
31202 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
31203 (GRUB_CDROM_SECTOR_SIZE): Remove.
31204 (GRUB_ATA_*): Move to include/grub/ata.h.
31205 (GRUB_ATAPI_*): Likewise.
31206 (enum grub_ata_commands): Likewise.
31207 (enum grub_ata_timeout_milliseconds): Likewise.
31208 (struct grub_ata_device): Likewise.
31209 (grub_ata_regset): Likewise.
31210 (grub_ata_regget): Likewise.
31211 (grub_ata_regset2): Likewise.
31212 (grub_ata_regget2): Likewise.
31213 (grub_ata_check_ready): Likewise.
31214 (grub_ata_wait_not_busy): Remove static, exported in
31215 include/grub/ata.h.
31216 (grub_ata_wait_drq): Likewise.
31217 (grub_ata_pio_read): Likewise.
31218
31219 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
31220 function for hdparm.mod.
31221
31222 * include/grub/ata.h: New file, contains declarations from
31223 disk/ata.c.
31224 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
31225
31226 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
31227 (grub_disk_ata_pass_through): New exported variable.
31228
31229 * kern/disk.c (grub_disk_ata_pass_through): New variable.
31230
772e23da 312312009-02-13 Colin D Bennett <colin@gibibit.com>
31232
31233 Support multiple fallback entries, and provide an API to support
31234 executing default+fallback menu entries. Renamed the `terminal' menu
31235 viewer to `text'.
31236
31237 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
31238 variable declaration.
31239 (grub_menu_execute_callback): New structure declaration.
31240 (grub_menu_execute_callback_t): New typedef.
31241 (grub_menu_execute_with_fallback): New function declaration.
31242 (grub_menu_get_entry): Likewise.
31243 (grub_menu_get_timeout): Likewise.
31244 (grub_menu_set_timeout): Likewise.
31245
31246 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
31247
31248 * normal/menu.c (grub_wait_after_message): Moved to
31249 `normal/menu_text.c'.
31250 (draw_border): Likewise.
31251 (print_message): Likewise.
31252 (print_entry): Likewise.
31253 (print_entries): Likewise.
31254 (grub_menu_init_page): Likewise.
31255 (get_entry_number): Likewise.
31256 (print_timeout): Likewise.
31257 (run_menu): Likewise.
31258 (grub_menu_execute_entry): Likewise.
31259 (show_text_menu): Likewise.
31260 (get_and_remove_first_entry_number): New function.
31261 (grub_menu_execute_with_fallback): Likewise.
31262 (get_entry): Renamed to ...
31263 (grub_menu_get_entry): .. this and made it global.
31264 (get_timeout): Renamed to ...
31265 (grub_menu_get_timeout): ... this and made it global.
31266 (set_timeout): Renamed to ...
31267 (grub_menu_set_timeout): ... this and made it global.
31268 (grub_normal_terminal_menu_viewer): Renamed to ...
31269 (grub_normal_text_menu_viewer): ... this.
31270
31271 * normal/menu_text.c: New file. Extracted text-menu-specific code
31272 from normal/menu.c.
31273
31274 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
31275 (normal_mod_SOURCES): Likewise.
31276
31277 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31278 (normal_mod_SOURCES): Likewise.
31279
31280 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31281 (normal_mod_SOURCES): Likewise.
31282
31283 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
31284 (normal_mod_SOURCES): Likewise.
31285
31286 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31287 (normal_mod_SOURCES): Likewise.
31288
31289 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31290 (normal_mod_SOURCES): Likewise.
31291
31292 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31293 (normal_mod_SOURCES): Likewise.
31294
16ac430e 312952009-02-11 Robert Millan <rmh@aybabtu.com>
31296
31297 * util/grub.d/00_header.in: Update old reference to `font' command.
31298
06ff20fc 312992009-02-10 Felix Zielcke <fzielcke@z-51.de>
31300
31301 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
31302
31303 Based on patch from Javier Martín.
31304
96da9407 313052009-02-09 Felix Zielcke <fzielcke@z-51.de>
31306
31307 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 31308 to avoid false positives with FAT.
96da9407 31309 (grub_fstest_SOURCES): Likewise.
31310 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31311 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31312 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31313 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31314 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31315 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31316
6dca6fe4 313172009-02-09 Felix Zielcke <fzielcke@z-51.de>
31318
06ff20fc 31319 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 31320 bpb.version_specific.fat12_or_fat16.fstype and
31321 bpb.version_specific.fat32.fstype.
31322
2550c62f 313232009-02-08 Robert Millan <rmh@aybabtu.com>
31324
be110b30 31325 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 31326
56978920 313272009-02-08 Robert Millan <rmh@aybabtu.com>
31328
31329 * Makefile.in (host_os, host_cpu): New variables.
31330 (target_os): Remove. Update all users.
31331
d64399b5 313322009-02-08 Marco Gerards <marco@gnu.org>
31333
31334 * Makefile.in (enable_grub_emu_usb): New variable.
31335 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
31336 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
31337 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
31338 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
31339 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
31340 `usbtest.mod' and `usbms.mod'.
31341 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
31342 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
31343 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
31344 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
31345 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
31346 variables.
31347
31348 * disk/usbms.c: New file.
31349
31350 * include/grub/usb.h: Likewise.
31351
31352 * include/grub/usbtrans.h: Likewise.
31353
31354 * include/grub/usbdesc.h: Likewise.
31355
31356 * bus/usb/usbtrans.c: Likewise.
31357
31358 * bus/usb/ohci.c: Likewise.
31359
31360 * bus/usb/uhci.c: Likewise.
31361
31362 * bus/usb/usbhub.c: Likewise.
31363
31364 * bus/usb/usb.c: Likewise.
31365
31366 * commands/usbtest.c: Likewise.
31367
31368 * util/usb.c: Likewise.
50fb7002 31369
d64399b5 31370 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
31371
31372 * configure.ac: Test for libusb presence.
50fb7002 31373
d64399b5 31374 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
31375
2b40d6bb 313762009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
31377
31378 * kern/mm.c: Add more comments.
31379
73a4ce81 313802009-02-08 Robert Millan <rmh@aybabtu.com>
31381
31382 Patch from Javier Martín.
31383 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
31384 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
31385
f821ce59 313862009-02-08 Robert Millan <rmh@aybabtu.com>
31387
31388 * fs/cpio.c: Split tar functionality to ...
31389 * fs/tar.c: ... here (new file). Update all users.
31390
aebfc4b0 313912009-02-07 Robert Millan <rmh@aybabtu.com>
31392
31393 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
31394 backward-incompatible features.
31395
31396 Based on patch from Javier Martín, with some adjustments.
31397
50fb7002 313982009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 31399
31400 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
31401
0bb5115e 314022009-02-07 Robert Millan <rmh@aybabtu.com>
31403
31404 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
31405 position of `disk/lvm.c' to ensure grub_init_all() always picks it
31406 after the RAID stuff.
31407
38a0f8e7 314082009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
31409
50fb7002 31410 Fixes problem when running vbetest command as reported by
38a0f8e7 31411 Vladimir Serbinenko <phcoder@gmail.com>.
31412
31413 * (grub_vbe_set_video_mode): Fixed problem with text modes.
31414
3143cc1c 314152009-02-04 Felix Zielcke <fzielcke@z-51.de>
31416
31417 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
31418 /dev/md/NpN style mdraid devices.
31419
9cba6fce 314202009-02-03 Felix Zielcke <fzielcke@z-51.de>
31421
31422 * util/unifont2pff.rb: Remove.
31423
e507a2c1 314242009-02-03 Felix Zielcke <fzielcke@z-51.de>
31425
31426 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
31427 `#'.
31428
d2c2b4cd 314292009-02-03 Felix Zielcke <fzielcke@z-51.de>
31430
31431 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
31432 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31433 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31434 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31435 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31436 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31437 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31438
b4315fb0 314392009-02-02 Christian Franke <franke@computer.org>
31440
31441 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
31442
de3aa260 314432009-02-01 Felix Zielcke <fzielcke@z-51.de>
31444
7c3ff286 31445 * INSTALL: Note that we now require at least autoconf 2.59 and
31446 that LZO is optional.
de3aa260 31447
825a182b 314482009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
31449
31450 Base on patch on bug #24154 created by Tomas Tintera
31451 <trosos@seznam.cz>.
31452
31453 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
31454
a69ef770 314552009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
31456
7c3ff286 31457 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 31458 <bero@arklinux.org>.
31459
31460 * normal/parser.y (script_init): Add missing semicolon.
31461
6fa42fa6 314622009-01-31 Colin D Bennett <colin@gibibit.com>
31463
7c3ff286 31464 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 31465 (free_menu_entry_classes): Added.
31466 (grub_normal_menu_addentry): Added class property handling.
31467 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
31468 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
31469
31470 * normal/menu_viewer.c: New file.
31471
31472 * normal/menu.c (run_menu_entry): Renamed to ...
31473 (grub_menu_execute_entry): ... this and made it as global.
31474 (grub_menu_run): Renamed to ...
31475 (show_text_menu): ... this and made it local.
31476 (show_text_menu): Adapt to new function names.
31477 (grub_normal_terminal_menu_viewer): New global variable.
31478
31479 * include/grub/menu.h: New file.
31480
31481 * include/grub/menu_viewer.h: New file.
31482
31483 * include/grub/normal.h: Added include to grub/menu.h.
31484 (grub_menu_entry): Moved to include/grub/menu.h.
31485 (grub_menu_entry_t): Likewise.
31486 (grub_menu): Likewise.
31487 (grub_menu_t): Likewise.
31488 (grub_normal_terminal_menu_viewer): Added.
31489 (grub_menu_execute_entry): Likewise.
31490 (grub_menu_run): Removed.
31491
31492 * DISTLIST: Added include/grub/menu.h.
31493 Added include/grub/menu_viewer.h.
31494 Added normal/menu_viewer.c.
31495
314962009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
31497
31498 * normal/execute.c (grub_script_execute_menuentry): Changed to use
31499 arglist for menutitle arguments.
31500
31501 * normal/main.c (grub_normal_menu_addentry): Likewise.
31502
31503 * normal/parser.y (menuentry): Likewise.
31504
31505 * normal/script.c (grub_script_create_cmdmenu): Likewise.
31506
31507 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
31508 (grub_script_create_cmdmenu): Likewise.
31509
31510 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
31511
31512 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
31513 changes.
31514
31515 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
31516
31517 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
31518
31519 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
31520
31521 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
31522
31523 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
31524
31525 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
31526
56192c23 315272009-01-30 Christian Franke <franke@computer.org>
31528
31529 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
31530 in option help text.
31531
d72521b3 315322009-01-27 Pavel Roskin <proski@gnu.org>
31533
31534 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
31535
994b5e84 315362009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
31537
31538 * commands/lsmmap.c: Add include to grub/machine/memory.h.
31539
31540 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
31541
31542 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
31543 unregister function.
31544
6a7eab2c 315452009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
31546
31547 * disk/scsi.c (grub_scsi_read): Fix sign problem.
31548
31549 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
31550
31551 * util/grub-mkfont.c (usage): Fix typo.
31552
31553 * util/elf/grub-mkimage.c (load_modules): Fix warning.
31554
1806b56e 315552009-01-26 Daniel Mierswa <impulze@impulze.org>
31556
3fb18f09 31557 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
31558
336e1fb9 31559 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
31560
1806b56e 31561 * kern/misc.c (grub_strcasecmp): New function.
31562 (grub_strcasecmp): Use grub_size_t instead of int for length.
31563 Fix return value.
31564 * include/grub/misc.h: Update function prototypes.
31565
580b2a0f 315662009-01-26 Robert Millan <rmh@aybabtu.com>
31567
31568 * configure.ac: Fix cross-compilation check.
ef257b36 31569
d31c24f1 315702009-01-22 Christian Franke <franke@computer.org>
31571
31572 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
31573 (precision) digit string. Allow `.format2' without `format1' (width).
31574 Limit input chars for `%s' output to `format2' if specified. This is
31575 compatible with standard printf ().
31576
3138b44c 315772009-01-22 Christian Franke <franke@computer.org>
31578
31579 * disk/ata.c (grub_ata_wait_status): Replace by ...
31580 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
31581 other status bits may be invalid while BSY is asserted.
31582 (grub_ata_check_ready): New function.
31583 (grub_ata_cmd): Removed.
31584 (grub_ata_wait_drq): New function.
31585 (grub_ata_strncpy): Remove inline.
31586 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
31587 and error check now done by grub_ata_wait_drq ().
31588 (grub_ata_pio_write): Likewise.
31589 (grub_atapi_identify): Set DEV before check for !BSY. Use
31590 grub_ata_wait_drq () to wait for data.
31591 (grub_ata_device_initialize): Add status register check to
31592 detect missing SATA slave devices. Add debug messages.
31593 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
31594 (grub_atapi_packet): Set DEV before check for !BSY. Replace
31595 transfer loop by grub_ata_pio_write ().
31596 (grub_ata_identify): Set DEV before check for !BSY. Use
31597 grub_ata_wait_drq () to wait for data.
ef257b36 31598 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 31599 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
31600 read/write in one loop. Fix invalid command on write. Fix incomplete
31601 command on (size % batch) == 0. Add missing error check after write of
31602 last block. Add debug messages.
31603 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
31604
59a64ef6 316052009-01-19 Christian Franke <franke@computer.org>
31606
31607 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
31608 (GRUB_ATAPI_IREASON_*): Likewise.
31609 (grub_ata_pio_write): Fix timeout error return.
31610 (grub_atapi_identify): Add grub_ata_wait () after cmd.
31611 (grub_atapi_wait_drq): New function.
31612 (grub_atapi_packet): New parameter `size'.
31613 Use grub_atapi_wait_drq () and direct write instead of
31614 grub_ata_pio_write ().
31615 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
31616 reads the number of bytes requested by the device for each DRQ
31617 assertion.
31618 (grub_atapi_write): Remove old implementation, return not
31619 implemented instead.
31620
1cfe20b3 316212009-01-19 Christian Franke <franke@computer.org>
31622
31623 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
31624 of 512 to calculate data size.
31625 (grub_scsi_read12): Likewise.
31626 (grub_scsi_write10): Likewise.
31627 (grub_scsi_write12): Likewise.
31628 (grub_scsi_read): Adjust size according to blocksize.
31629 Add checks for invalid blocksize and unaligned transfer.
31630
bee5fe5d 316312009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
31632
31633 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
31634
ef257b36 31635 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 31636 width glyphs.
31637
3e643f8c 316382009-01-19 Robert Millan <rmh@aybabtu.com>
31639
31640 * config.guess: Update to latest version from config git.
31641 * config.sub: Likewise.
31642
4fa80998 316432009-01-17 Felix Zielcke <fzielcke@z-51.de>
31644
31645 * Makefile.in: Change font compilation to use new grub-mkfont instead
31646 of java version.
31647
31648 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
31649 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
31650 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
31651 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
31652 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
31653 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
31654 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
31655 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
31656 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
31657
7086085b 316582009-01-16 Christian Franke <franke@computer.org>
31659
31660 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
31661 (enum grub_ata_timeout_milliseconds): New enum.
31662 (grub_ata_wait_status): Add parameter milliseconds.
31663 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
31664 recovery from timed-out commands.
31665 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
31666 return grub_errno instead of REG_ERROR.
31667 (grub_ata_pio_write): Add parameter milliseconds.
31668 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
31669 Pass milliseconds to grub_ata_wait_status () and
31670 grub_ata_pio_read ().
31671 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
31672 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
31673 grub_ata_wait_status (). Fix IDENTIFY timeout check.
31674 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
31675 It is not suitable for device detection, because DEV bit is ignored,
31676 the command may run too long, and not all devices set the signature
31677 properly.
31678 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
31679 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
31680 Fix device selection, DEV bit must be set first to address the registers
31681 of the correct device.
31682 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
31683 grub_ata_pio_read/write ().
31684 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
31685 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
31686
4a412913 316872009-01-13 Carles Pina i Estany <carles@pina.cat>
31688
31689 * util/grub-editenv.c (main): Use fseeko(), not fseek().
31690
7795c55e 316912009-01-13 Bean <bean123ch@gmail.com>
d913988c 31692
31693 * util/grub-mkfont.c (write_font): forget to remove some debug code.
31694
7795c55e 316952009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 31696
31697 * Makefile.in: (enable_grub_mkfont): New variable.
31698 (freetype_cflags): Likewise.
31699 (freetype_libs): Likewise.
31700
31701 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
31702 (grub_mkfont_SOURCES): New variable.
31703 (grub_mkfont_CFLAGS): Likewise.
31704 (grub_mkfont_LDFLAGS): Likewise.
31705
31706 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
31707 library if `--enable-grub-mkfont' is requested.
31708 (enable_grub_mkfont): New variable.
31709 (freetype_cflags): Likewise.
31710 (freetype_libs): Likewise.
31711
31712 * util/grub-mkfont.c: New file.
31713
093af1fe 317142009-01-12 Christian Franke <franke@computer.org>
31715
31716 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
31717 mode check. Fix setting of compat_use[].
31718
f36cc108 317192009-01-10 Robert Millan <rmh@aybabtu.com>
31720
31721 Update a few copyright years which we forgot to do in 2008 (only for
31722 files whose changes made in 2008 were copyright-significant)
31723
31724 * Makefile.in: Add 2008 to Copyright line.
31725 * disk/ieee1275/ofdisk.c: Likewise.
31726 * disk/efi/efidisk.c: Likewise.
31727 * kern/dl.c: Likewise.
31728 * kern/sparc64/ieee1275/init.c: Likewise.
31729 * kern/mm.c: Likewise.
31730 * kern/efi/mm.c: Likewise.
31731 * boot/i386/pc/boot.S: Likewise.
31732 * genfslist.sh: Likewise.
31733 * fs/iso9660.c: Likewise.
31734 * fs/hfs.c: Likewise.
31735 * fs/jfs.c: Likewise.
31736 * fs/minix.c: Likewise.
31737 * fs/ufs.c: Likewise.
31738 * gensymlist.sh.in: Likewise.
31739 * genkernsyms.sh.in: Likewise.
31740 * include/grub/misc.h: Likewise.
31741 * include/grub/types.h: Likewise.
31742 * include/grub/symbol.h: Likewise.
31743 * include/grub/elf.h: Likewise.
31744 * include/grub/kernel.h: Likewise.
31745 * include/grub/disk.h: Likewise.
31746 * include/grub/dl.h: Likewise.
31747 * include/grub/i386/linux.h: Likewise.
31748 * include/grub/i386/pc/biosdisk.h: Likewise.
31749 * include/grub/efi/api.h: Likewise.
31750 * include/grub/efi/pe32.h: Likewise.
31751 * include/grub/util/misc.h: Likewise.
31752 * normal/execute.c: Likewise.
31753 * normal/arg.c: Likewise.
31754 * normal/completion.c: Likewise.
31755 * normal/lexer.c: Likewise.
31756 * normal/parser.y: Likewise.
31757 * normal/misc.c: Likewise.
31758 * commands/i386/pc/vbeinfo.c: Likewise.
31759 * commands/hexdump.c: Likewise.
31760 * commands/terminal.c: Likewise.
31761 * commands/ls.c: Likewise.
31762 * commands/help.c: Likewise.
31763 * partmap/pc.c: Likewise.
31764 * loader/efi/chainloader.c: Likewise.
31765 * loader/multiboot_loader.c: Likewise.
31766 * loader/i386/pc/multiboot2.c: Likewise.
31767 * term/efi/console.c: Likewise.
31768 * term/i386/pc/serial.c: Likewise.
31769 * util/lvm.c: Likewise.
31770 * util/console.c: Likewise.
31771 * util/i386/efi/grub-mkimage.c: Likewise.
31772 * util/raid.c: Likewise.
31773
7f02114b 317742009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
31775
31776 * commands/videotest.c: Removed include to grub/machine/memory.h.
31777
31778 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
31779 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
31780 (video_mod_SOURCES): Removed.
31781 (video_mod_CFLAGS): Likewise.
31782 (video_mod_LDFLAGS): Likewise.
31783 (gfxterm_mod_SOURCES): Likewise.
31784 (gfxterm_mod_CFLAGS): Likewise.
31785 (gfxterm_mod_LDFLAGS): Likewise.
31786 (videotest_mod_SOURCES): Likewise.
31787 (videotest_mod_CFLAGS): Likewise.
31788 (videotest_mod_LDFLAGS): Likewise.
31789 (bitmap_mod_SOURCES): Likewise.
31790 (bitmap_mod_CFLAGS): Likewise.
31791 (bitmap_mod_LDFLAGS): Likewise.
31792 (tga_mod_SOURCES): Likewise.
31793 (tga_mod_CFLAGS): Likewise.
31794 (tga_mod_LDFLAGS): Likewise.
31795 (jpeg_mod_SOURCES): Likewise.
31796 (jpeg_mod_CFLAGS): Likewise.
31797 (jpeg_mod_LDFLAGS): Likewise.
31798 (png_mod_SOURCES): Likewise.
31799 (png_mod_CFLAGS): Likewise.
31800 (png_mod_LDFLAGS): Likewise.
31801
31802 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
31803 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
31804 (video_mod_SOURCES): Added.
31805 (video_mod_CFLAGS): Likewise.
31806 (video_mod_LDFLAGS): Likewise.
31807 (videotest_mod_SOURCES): Likewise.
31808 (videotest_mod_CFLAGS): Likewise.
31809 (videotest_mod_LDFLAGS): Likewise.
31810 (bitmap_mod_SOURCES): Likewise.
31811 (bitmap_mod_CFLAGS): Likewise.
31812 (bitmap_mod_LDFLAGS): Likewise.
31813 (tga_mod_SOURCES): Likewise.
31814 (tga_mod_CFLAGS): Likewise.
31815 (tga_mod_LDFLAGS): Likewise.
31816 (jpeg_mod_SOURCES): Likewise.
31817 (jpeg_mod_CFLAGS): Likewise.
31818 (jpeg_mod_LDFLAGS): Likewise.
31819 (png_mod_SOURCES): Likewise.
31820 (png_mod_CFLAGS): Likewise.
31821 (png_mod_LDFLAGS): Likewise.
31822 (gfxterm_mod_SOURCES): Likewise.
31823 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 31824 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 31825
31826 * term/gfxterm.c: Removed include to grub/machine/memory.h,
31827 grub/machine/console.h.
31828
644fff97 318292009-01-04 Jerone Young <jerone@gmail.com>
31830
31831 Make on screen instructions clearer
31832
31833 Based on patch created by Jidanni <jidanni@jidanni.org>
31834
31835 * normal/menu.c: print clearer instructions on the screen
31836
1e901a75 318372009-01-02 Colin D Bennett <colin@gibibit.com>
31838
31839 New font engine.
34c44600 31840
1e901a75 31841 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
31842 build system and fixed gfxterm.c to work with different sized fonts.
31843
31844 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 31845
1e901a75 31846 * configure: Re-generated.
34c44600 31847
1e901a75 31848 * DISTLIST: Removed font/manager.c.
31849 Added font/font.c.
31850 Added font/font_cmd.c.
34c44600 31851
1e901a75 31852 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
31853 compilation.
34c44600 31854
1e901a75 31855 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 31856
31857 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 31858
31859 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 31860
1e901a75 31861 * normal/menu.c: Likewise.
34c44600 31862
1e901a75 31863 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
31864 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 31865
1e901a75 31866 * include/grub/font.h: Replaced with new file.
34c44600 31867
1e901a75 31868 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
31869 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
31870 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
31871 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
31872 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 31873 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 31874 fg_red, fg_green, fg_blue, fg_alpha.
31875 (grub_video_adapter): Removed blit_glyph.
34c44600 31876 (grub_video_blit_glyph): Removed.
31877
1e901a75 31878 * font/manager.c: Removed file.
34c44600 31879
31880 * font/font.c: New file.
31881
1e901a75 31882 * font/font_cmd.c: Likewise.
34c44600 31883
1e901a75 31884 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 31885
1e901a75 31886 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
31887 (grub_video_vbe_map_rgba): Likewise.
31888 (grub_video_vbe_unmap_color_int): Likewise.
31889 (grub_video_vbe_blit_glyph): Removed.
31890 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 31891
1e901a75 31892 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
31893 (get_pixel): Likewise.
34c44600 31894 (set_pixel): Likewise.
31895
1e901a75 31896 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 31897
1e901a75 31898 * term/gfxterm.c: Adapted to new font engine.
34c44600 31899
1e901a75 31900 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 31901
1e901a75 31902 * term/i386/pc/vga.c: Likewise.
34c44600 31903
1e901a75 31904 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 31905
1e901a75 31906 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 31907
1e901a75 31908 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 31909
1e901a75 31910 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 31911
1e901a75 31912 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 31913
1e901a75 31914 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 31915
1e901a75 31916 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 31917
1e901a75 31918 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 31919
1e901a75 31920 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
31921
31922 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 31923
1e901a75 31924 * util/grub-mkconfig_lib.in: Changed font extension.
31925
278922e8 319262008-12-28 Felix Zielcke <fzielcke@z-51.de>
31927
31928 * util/getroot.c (grub_util_get_grub_dev): Add support for
31929 /dev/md/dNNpNN style partitionable mdraid devices.
31930
3ced05cf 319312008-12-12 Alex Smith <alex@alex-smith.me.uk>
31932
31933 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
31934 at a time limit of the PXE TFTP API correctly.
31935 (grub_pxefs_close): Likewise.
31936
7fd0ee30 319372008-11-29 Robert Millan <rmh@aybabtu.com>
31938
34c44600 31939 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 31940 grub_ata_device_initialize() calls.
31941
34c44600 319422008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 31943
31944 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
31945 iteration failed.
31946 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
31947
89313780 319482008-11-28 Robert Millan <rmh@aybabtu.com>
31949
31950 Fix build on powerpc-ieee1275. Based on patch created by
31951 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
31952 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31953 `kern/ieee1275/mmap.c'.
31954 * include/grub/powerpc/ieee1275/memory.h: New file.
31955
15257703 31956 Provide grub-install on coreboot.
31957 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
31958 (grub_install_SOURCES): New variable.
31959 * util/i386/pc/grub-install.in: Add a few condition checks to make it
31960 usable on coreboot.
31961
9fc5388a 319622008-11-25 Felix Zielcke <fzielcke@z-51.de>
31963
31964 * util/grub-fstest.c (grub_term_get_current_input): Change return type
31965 to `grub_term_input_t'.
31966 (grub_term_get_current_output): Change return type to
31967 `grub_term_output_t'.
31968
bc3a2f31 319692008-11-22 Robert Millan <rmh@aybabtu.com>
31970
34c44600 31971 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 31972 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
31973 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
31974 grub_vga_text_cls().
31975
80fc88f2 31976 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 31977 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 31978
cbf36fd3 31979 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
31980 to 0x200000 (avoids trouble with some OFW implementations, and matches
31981 with the one in Yaboot).
31982 Reported by Manoel Abranches
31983
73e8e268 319842008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 31985
31986 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
31987 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
31988
73e8e268 31989 * util/grub-mkconfig_lib.in (grub_warn): New function.
31990 (convert_system_path_to_grub_path): Use grub_warn() when issuing
31991 warnings, to obtain consistent formatting.
31992 * util/grub.d/00_header.in: Likewise.
31993 * util/update-grub_lib.in: Likewise.
31994
e94045a1 31995 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 31996 Move comment text to `#error' stanza.
e94045a1 31997
79d29fd7 31998 Harmonize ieee1275's grub_available_iterate() with the generic
31999 grub_machine_mmap_iterate() interface (fixes a recently-introduced
32000 build problem on i386-ieee1275):
32001 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
32002 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
32003 parameter `type'. Update all users of this function.
32004 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
32005 `kern/ieee1275/mmap.c'.
32006 * kern/ieee1275/init.c
32007 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
32008 with ...
32009 (grub_machine_mmap_iterate): ... this.
32010 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
32011 return type to `grub_err_t'. Update all implementations of this
32012 function prototype.
32013 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
32014 Likewise.
32015
60d6b16e 32016 Add `lsmmap' command (lists firmware-provided memory map):
32017 * commands/lsmmap.c: New file.
32018 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
32019 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
32020 variables.
32021 * conf/powerpc-ieee1275.rmk: Likewise.
32022 * conf/i386-coreboot.rmk: Likewise.
32023 * conf/i386-ieee1275.rmk: Likewise.
32024
ebaaf49b 320252008-11-19 Robert Millan <rmh@aybabtu.com>
32026
32027 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 32028 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
32029 constraints to initrd allocation (based on code from
32030 loader/i386/pc/linux.c). Without them, initrd was allocated too high
32031 for Linux to find it.
ebaaf49b 32032
dfab719f 320332008-11-14 Robert Millan <rmh@aybabtu.com>
32034
32035 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
32036 order to cope with duplicate slashes.
32037
10fc3eb9 320382008-11-14 Robert Millan <rmh@aybabtu.com>
32039
32040 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
32041 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
32042 don't want to mess with lower memory, because it is used in the Linux
32043 loader.
32044
32045 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 32046 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 32047 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
32048 is in our heap (probably as a result of it being corrupted during
2f2a3442 32049 decompression). Add #error instance with comment to explain why this
32050 loader isn't currently usable on PC/BIOS.
10fc3eb9 32051
e2e07847 320522008-11-14 Robert Millan <rmh@aybabtu.com>
32053
32054 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 32055 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 32056
fe8e8d69 320572008-11-12 Robert Millan <rmh@aybabtu.com>
32058
32059 Make loader/i386/linux.c buildable on i386-pc (although disabled).
32060
32061 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
32062 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
32063 from here ...
32064 * include/grub/i386/pc/memory.h: ... to here.
32065
976b07d0 320662008-11-12 Robert Millan <rmh@aybabtu.com>
32067
32068 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
32069 split).
32070
32071 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
32072 (grub_console_cur_color, grub_console_real_putchar)
32073 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
32074 (grub_console_setcolorstate, grub_console_setcolor)
32075 (grub_console_getcolor): Move from here ...
32076 * include/grub/i386/vga_common.h: ... to here (new file).
32077
32078 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
32079 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
32080 `<grub/i386/io.h>'.
32081 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
32082 `<grub/i386/vga_common.h>'.
32083
76679cd3 320842008-11-12 Robert Millan <rmh@aybabtu.com>
32085
32086 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
32087 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
32088 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
32089 variables.
32090 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
32091 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
32092
32093 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
32094 grub_console_init() with call to grub_vga_text_init().
32095 (grub_machine_fini): Replace call to
32096 grub_console_fini() with call to grub_vga_text_fini() and
32097 grub_at_keyboard_fini().
32098
32099 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
32100 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
32101 (grub_console_setcolorstate, grub_console_setcolor)
32102 (grub_console_getcolor): New function prototypes.
32103
32104 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
32105 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
32106 (grub_vga_text_setcursor): Static-ize.
32107 (grub_vga_text_term): New structure.
32108 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
32109
32110 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
32111 (grub_console_cur_color, grub_console_standard_color)
32112 (grub_console_normal_color, grub_console_highlight_color)
32113 (map_char, grub_console_putchar, grub_console_getcharwidth)
32114 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
32115 (grub_console_getcolor): Move from here ...
32116 * term/i386/vga_common.c: ... to here (same function names).
32117
95b841d3 321182008-11-12 Robert Millan <rmh@aybabtu.com>
32119
32120 Use newly-added Multiboot support in coreboot.
32121
32122 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
32123 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
32124
32125 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
32126 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
32127 (codestart): Store the MBI in `startup_multiboot_info' when we're
32128 being loaded using Multiboot.
32129
32130 * kern/i386/coreboot/init.c (grub_machine_init): Move
32131 grub_at_keyboard_init() call to beginning of function (useful for
32132 debugging). Call grub_machine_mmap_init() before attempting to use
32133 grub_machine_mmap_iterate().
32134 (grub_lower_mem, grub_upper_mem): Move from here ...
32135 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
32136 here (new file).
32137
32138 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
32139 function prototype.
32140
761ca975 321412008-11-12 Robert Millan <rmh@aybabtu.com>
32142
32143 Fix a regression introduced by the at_keyboard.mod split. Because
32144 some terminals are default on some platforms and non-default on
32145 others, the first terminal being registered determines which is
32146 going to be default.
32147
32148 * kern/term.c (grub_term_register_input): If this is the first
32149 terminal being registered, set it as the current one.
32150 (grub_term_register_output): Likewise.
32151
32152 * term/efi/console.c (grub_console_init): Do not call
32153 grub_term_set_current_output() or grub_term_set_current_input().
32154 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
32155 * term/i386/pc/console.c (grub_console_init): Likewise.
32156 (grub_console_fini): Do not call grub_term_set_current_input()
32157 (but leave grub_term_set_current_output() to restore text mode).
32158
6c529df7 321592008-11-10 Robert Millan <rmh@aybabtu.com>
32160
32161 * util/grub.d/00_header.in: Add backward compatibility check for
32162 versions of terminal.mod that don't understand `terminal_input' or
32163 `terminal_output'.
32164
132e4113 321652008-11-09 Robert Millan <rmh@aybabtu.com>
32166
32167 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
32168 `terminal_input' / `terminal_output', not `terminal'.
32169
ac293d50 321702008-11-08 Robert Millan <rmh@aybabtu.com>
32171
32172 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 32173 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 32174
0025933a 321752008-11-08 Robert Millan <rmh@aybabtu.com>
32176
32177 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 32178 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 32179 members. Update all users.
32180 * util/console.c (grub_ncurses_term): Split in ...
32181 (grub_ncurses_term_input): ... this, and ...
32182 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 32183 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 32184
37c86336 321852008-11-08 Robert Millan <rmh@aybabtu.com>
32186
32187 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
32188 (PKGDATA): Add $(pkgdata_SRCDIR).
32189 (pkglib_BUILDDIR): New variable.
32190 (pkgdata_SRCDIR): New variable.
32191 (build_env.mk): New target.
32192 (include_DATA): New variable.
32193 (install-local): Install $(include_DATA) files in $(includedir).
32194
b6c15a2d 321952008-11-07 Pavel Roskin <proski@gnu.org>
32196
d99d46f1 32197 * gendistlist.sh: Use C locale for sorting to ensure consistent
32198 output on all systems.
32199
b6c15a2d 32200 * util/grub.d/00_header.in: Remove incorrect space before
32201 "serial".
32202
c32ee8c9 322032008-11-07 Robert Millan <rmh@aybabtu.com>
32204
32205 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
32206 per specification.
32207 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
32208 * loader/multiboot_loader.c (find_multi_boot2_header): New function
32209 (based on find_multi_boot1_header).
32210 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
32211 using find_multi_boot2_header(), and abort if neither Multiboot or
32212 Multiboot headers were found.
32213
651c29b7 322142008-11-07 Robert Millan <rmh@aybabtu.com>
32215
32216 Modularize at_keyboard.mod:
32217
32218 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
32219 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
32220 (at_keyboard_mod_LDFLAGS): New variables.
32221
32222 Actual terminal split:
32223
32224 * include/grub/term.h (struct grub_term): Split in ...
32225 (struct grub_term_input): ... this, and ...
32226 (struct grub_term_output): ... this. Update all users.
32227 (grub_term_set_current): Split in ...
32228 (grub_term_set_current_input): ... this, and ...
32229 (grub_term_set_current_output): ... this.
32230 (grub_term_get_current): Split in ...
32231 (grub_term_get_current_input): ... this, and ...
32232 (grub_term_get_current_output): ... this.
32233 (grub_term_register): Split in ...
32234 (grub_term_register_input): ... this, and ...
32235 (grub_term_register_output): ... this.
32236 (grub_term_unregister): Split in ...
32237 (grub_term_unregister_input): ... this, and ...
32238 (grub_term_unregister_output): ... this.
32239 (grub_term_iterate): Split in ...
32240 (grub_term_iterate_input): ... this, and ...
32241 (grub_term_iterate_output): ... this.
32242
32243 * kern/term.c (grub_term_list): Split in ...
32244 (grub_term_list_input): ... this, and ...
32245 (grub_term_list_output): ... this. Update all users.
32246 (grub_cur_term): Split in ...
32247 (grub_cur_term_input): ... this, and ...
32248 (grub_cur_term_output): ... this. Update all users.
32249 (grub_term_set_current): Split in ...
32250 (grub_term_set_current_input): ... this, and ...
32251 (grub_term_set_current_output): ... this.
32252 (grub_term_get_current): Split in ...
32253 (grub_term_get_current_input): ... this, and ...
32254 (grub_term_get_current_output): ... this.
32255 (grub_term_register): Split in ...
32256 (grub_term_register_input): ... this, and ...
32257 (grub_term_register_output): ... this.
32258 (grub_term_unregister): Split in ...
32259 (grub_term_unregister_input): ... this, and ...
32260 (grub_term_unregister_output): ... this.
32261 (grub_term_iterate): Split in ...
32262 (grub_term_iterate_input): ... this, and ...
32263 (grub_term_iterate_output): ... this.
32264
32265 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
32266 a check for input and one for output (and only attempt to get keys
32267 from user when input works).
32268
32269 * util/grub-probe.c (grub_term_get_current): Split in ...
32270 (grub_term_get_current_input): ... this, and ...
32271 (grub_term_get_current_output): ... this.
32272 * util/grub-fstest.c: Likewise.
32273 * util/i386/pc/grub-setup.c: Likewise.
32274 * util/grub-editenv.c: Likewise.
32275
32276 Portability adjustments:
32277
32278 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
32279 `term/i386/pc/at_keyboard.c'.
32280 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
32281 grub_keyboard_controller_init() (now handled by terminal .init).
32282 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
32283 grub_at_keyboard_init().
32284 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
32285 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
32286 at_keyboard.mod via input terminal interface).
32287 * include/grub/i386/coreboot/console.h: Convert into a stub for
32288 `<grub/i386/pc/console.h>'.
32289
32290 Migrate full terminals to new API:
32291
32292 * term/efi/console.c (grub_console_term): Split into ...
32293 (grub_console_term_input): ... this, and ...
32294 (grub_console_term_output): ... this. Update all users.
32295 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
32296 (grub_ofconsole_init): Split into ...
32297 (grub_ofconsole_init_input): ... this, and ...
32298 (grub_ofconsole_init_output): ... this.
32299 (grub_ofconsole_term): Split into ...
32300 (grub_ofconsole_term_input): ... this, and ...
32301 (grub_ofconsole_term_output): ... this. Update all users.
32302 * term/i386/pc/serial.c (grub_serial_term): Split into ...
32303 (grub_serial_term_input): ... this, and ...
32304 (grub_serial_term_output): ... this. Update all users.
32305 * term/i386/pc/console.c (grub_console_term): Split into ...
32306 (grub_console_term_input): ... this, and ...
32307 (grub_console_term_output): ... this. Update all users.
32308 (grub_console_term_input): Only enable it on PC/BIOS platform.
32309 (grub_console_init): Remove grub_keyboard_controller_init() call.
32310
32311 Migrate input terminals to new API:
32312
32313 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
32314 `i386' and `i386/pc' to enable build on x86_64 (this driver is
32315 i386-specific anyway).
32316 (grub_console_checkkey): Rename to ...
32317 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
32318 users.
32319 (grub_keyboard_controller_orig): New variable.
32320 (grub_console_getkey): Rename to ...
32321 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
32322 users.
32323 (grub_keyboard_controller_init): Static-ize. Save original
32324 controller value so that it can be restored ...
32325 (grub_keyboard_controller_fini): ... here (new function).
32326 (grub_at_keyboard_term): New structure.
32327 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
32328 functions.
32329
32330 Migrate output terminals to new API:
32331
32332 * term/i386/pc/vga.c (grub_vga_term): Change type to
32333 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
32334 members. Update all users.
32335 * term/gfxterm.c (grub_video_term): Change type to
32336 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
32337 members. Update all users.
32338 * include/grub/i386/pc/console.h (grub_console_checkkey)
32339 (grub_console_getkey): Do not export (no longer needed by gfxterm,
32340 etc).
32341
32342 Migrate `terminal' command and userland tools to new API:
32343
32344 * commands/terminal.c (grub_cmd_terminal): Split into ...
32345 (grub_cmd_terminal_input): ... this, and ...
32346 (grub_cmd_terminal_output): ... this.
32347 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
32348 `terminal_input' and `terminal_output'.
32349 * util/grub.d/00_header.in: Adjust `terminal' calls to new
32350 `terminal_input' / `terminal_output' API.
32351 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
32352 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
32353 provided ${GRUB_TERMINAL}, convert it).
32354
96e5d876 323552008-11-04 Robert Millan <rmh@aybabtu.com>
32356
32357 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
32358 for FreeBSD.
32359 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
32360
556f3775 323612008-11-03 Bean <bean123ch@gmail.com>
32362
32363 * kern/elf.c (grub_elf32_load): Revert to previous code.
32364 (grub_elf64_load): Likewise.
32365
32366 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
32367
926b9823 323682008-11-01 Robert Millan <rmh@aybabtu.com>
32369
32370 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
32371 (TARGET_CPPFLAGS): Likewise.
32372 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
32373
1432e958 323742008-11-01 Carles Pina i Estany <carles@pina.cat>
32375
32376 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
32377
dba3f844 323782008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 32379
32380 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
32381 addition of objects until the code is not going to be able to fail.
32382
dba3f844 323832008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 32384
32385 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
32386 (add a missing NULL check, and correct them by moving the pointer
32387 operations after the actual check).
32388
7ab28c21 323892008-10-29 Robert Millan <rmh@aybabtu.com>
32390
32391 * util/i386/pc/grub-install.in: Handle empty string as output from
32392 make_system_path_relative_to_its_root().
32393
1b7748eb 323942008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
32395
32396 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
32397 circular metadata worst case scenario. If the metadata is circular
32398 then copy the wrap in place.
32399 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
32400 project lib/format_text/layout.h
32401 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
32402
c9618ab2 324032008-10-03 Felix Zielcke <fzielcke@z-51.de>
32404
7a36edca 32405 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 32406
bf981c62 324072008-10-03 Felix Zielcke <fzielcke@z-51.de>
32408
32409 * util/update-grub_lib.in: Mention filename in warning message.
32410
6d994591 324112008-09-29 Felix Zielcke <fzielcke@z-51.de>
32412
32413 * NEWS: Update for rename of update-grub to grub-mkconfig.
32414
18ade780 324152008-09-29 Felix Zielcke <fzielcke@z-51.de>
32416
32417 * util/update-grub_lib.in: Copy to ...
32418 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 32419 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 32420 * util/update-grub.in: Rename to ...
32421 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
32422 option. Add `--output' option to allow users to specify the generated
32423 configuration file. Default to stdout.
32424 (update_grub_dir): Rename to ...
32425 (grub_mkconfig_dir): ... this.
32426 (grub_cfg): Default to an empty string.
32427 * conf/common.rmk (update-grub): Rename to ...
32428 (grub-mkconfig): ... this.
32429 (update-grub_lib): Copy to ...
32430 (grub-mkconfig_lib): ... this.
32431 (update-grub_SCRIPTS): Copy to ...
32432 (grub-mkconfig_SCRIPTS): ... this. Update all users.
32433 (update-grub_DATA): Rename to ...
32434 (grub-mkconfig_DATA): ... this.
32435
556ce6ac 324362008-09-28 Robert Millan <rmh@aybabtu.com>
32437
32438 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
32439 to `modified'. Add the real `created' field.
32440 (grub_iso9660_uuid): Use `modified' rather than `created' for
32441 constructing the UUID.
32442
324432008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 32444
32445 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
32446 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
32447
92274e85 324482008-09-28 Bean <bean123ch@gmail.com>
32449
32450 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
32451 Thanks to Christian Franke for finding this bug.
32452
add6f17a 324532008-09-25 Robert Millan <rmh@aybabtu.com>
32454
32455 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
32456 instances of grub_util_get_disk_name() (see previous commit).
32457
d2a367b8 324582008-09-25 Robert Millan <rmh@aybabtu.com>
32459
32460 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
32461 `util/i386/get_disk_name.c'.
32462 * conf/i386-efi.rmk: Likewise.
32463 * conf/x86_64-efi.rmk: Likewise.
32464 * conf/i386-coreboot.rmk: Likewise.
32465 * conf/i386-ieee1275.rmk: Likewise.
32466 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
32467 `util/ieee1275/get_disk_name.c'.
32468 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
32469 * util/ieee1275/get_disk_name.c: Remove file.
32470 * util/i386/get_disk_name.c: Remove file.
32471 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
32472 "hd%d" for device.map entries, rather than using
32473 grub_util_get_disk_name().
32474
81a06771 324752008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 32476
32477 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
32478 warning.
32479 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
32480
5a004279 324812008-09-24 Carles Pina i Estany <carles@pina.cat>
32482
32483 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
32484 Changed to 0x5100.
32485 (GRUB_TERM_PPAGE): Changed to 0x4900.
32486
397093d3 324872008-09-24 Robert Millan <rmh@aybabtu.com>
32488
32489 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
32490 macros (they were i386-pc specific).
32491 * include/grub/sparc64/ieee1275/console.h: Likewise.
32492 * include/grub/efi/console.h: Likewise.
32493
a91b6c7c 324942008-09-22 Bean <bean123ch@gmail.com>
32495
32496 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
32497 resident and in attribute list.
32498
32499 * include/grub/ntfs.h (BMP_LEN): Removed.
32500
c40fd116 325012008-09-22 Bean <bean123ch@gmail.com>
32502
81a06771 32503 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 32504 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
32505
32506 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
32507 error occurs, as grub_disk_open will call grub_disk_close, which will
32508 call p->close (scsi).
32509
81a06771 325102008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 32511
32512 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
32513 (AC_PREREQ): Bumped to 2.59.
32514 (AC_TRY_COMPILE): Replace obsolete macro with ...
32515 (AC_COMPILE_IFELSE): ... this.
32516 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
32517 (AC_LINK_IFELSE): ... this.
32518
5dc43410 325192008-09-21 Felix Zielcke <fzielcke@z-51.de>
32520
32521 * autogen.sh: Add a call to `gendistlist.sh'.
32522
9035dce4 325232008-09-19 Christian Franke <franke@computer.org>
32524
32525 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
32526 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
32527 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
32528 Export __enable_execute_stack() to modules.
32529 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
32530 New function.
32531
7fd75377 325322008-09-09 Felix Zielcke <fzielcke@z-51.de>
32533
040030b3 32534 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
32535 Sort the list.
32536
325372008-09-09 Felix Zielcke <fzielcke@z-51.de>
32538
32539 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 32540 #include <grub/util/hostdisk.h>.
32541
89d5ffcf 325422008-09-08 Robert Millan <rmh@aybabtu.com>
32543
32544 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
32545 segments when their filesz is zero (grub_file_read() interprets
81a06771 32546 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 32547 Use `lowest_segment' rather than 0 for calculating the current
32548 segment load address.
32549
40da438f 325502008-09-08 Robert Millan <rmh@aybabtu.com>
32551
32552 * util/hostdisk.c (open_device): Replace a grub_util_info() call
32553 with grub_dprintf("hostdisk", ...), as it was so verbose that it
32554 clobbered useful information.
32555
ddbf5556 325562008-09-08 Robert Millan <rmh@aybabtu.com>
32557
32558 * include/grub/util/biosdisk.h: Move to ...
32559 * include/grub/util/hostdisk.h: ... here. Update all users.
32560 * util/biosdisk.c: Move to ...
32561 * util/hostdisk.c: ... here. Update all users.
32562
783d0f48 325632008-09-07 Robert Millan <rmh@aybabtu.com>
32564
32565 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
32566 variables.
32567 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
32568 and length can be stored directly in the `mbi->mmap_addr' and
32569 `mbi->mmap_length' struct fields.
32570
548e2ea5 325712008-09-07 Robert Millan <rmh@aybabtu.com>
32572
32573 * conf/i386.rmk: New file. Provides declaration for building
32574 `cpuid.mod'.
32575 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
32576 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
32577 variables.
32578 Include `conf/i386.mk'.
32579 * conf/i386-efi.rmk: Likewise.
32580 * conf/x86_64-efi.rmk: Likewise.
32581 * conf/i386-coreboot.rmk: Likewise.
32582 * conf/i386-ieee1275.rmk: Likewise.
32583
0ea85a37 325842008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
32585
32586 Based on patch created by Colin D Bennett <colin@gibibit.com>.
32587 Adds optimization support for BGR based modes.
32588
32589 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
32590 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
32591 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
32592 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
32593 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
32594 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
32595 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
32596 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
32597 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
32598 (grub_video_i386_vbeblit_index_index): Likewise.
32599 (grub_video_i386_vbeblit_replace_directN): Added.
32600 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
32601 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
32602 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
32603 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
32604 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
32605 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 32606 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 32607 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
32608 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
32609 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
32610 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
32611 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
32612 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
32613
32614 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
32615 (grub_video_i386_vbefill_R8G8B8): Likewise.
32616 (grub_video_i386_vbefill_index): Likewise.
32617 (grub_video_i386_vbefill_direct32): Added.
32618 (grub_video_i386_vbefill_direct24): Likewise.
32619 (grub_video_i386_vbefill_direct16): Likewise.
32620 (grub_video_i386_vbefill_direct8): Likewise.
32621
81a06771 32622 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 32623 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
32624 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
32625 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
32626 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
32627 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 32628
0ea85a37 32629 * video/video.c (grub_video_get_blit_format): Updated to use new
32630 blit formats. Added handling for 16 bit color modes.
81a06771 32631
32632 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 32633 fillers.
32634 (common_blitter): Updated to use new blitters.
32635
32636 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
32637 Removed.
32638 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
32639 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
32640 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
32641 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
32642 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
32643 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
32644 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
32645 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
32646 (grub_video_i386_vbeblit_index_index): Likewise.
32647 (grub_video_i386_vbeblit_replace_directN): Added.
32648 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
32649 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
32650 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
32651 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
32652 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
32653 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
32654 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
32655 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
32656 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
32657 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
32658 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
32659 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
32660 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 32661
0ea85a37 32662 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
32663 (grub_video_i386_vbefill_R8G8B8): Likewise.
32664 (grub_video_i386_vbefill_index): Likewise.
32665 (grub_video_i386_vbefill_direct32): Added.
32666 (grub_video_i386_vbefill_direct24): Likewise.
32667 (grub_video_i386_vbefill_direct16): Likewise.
32668 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 32669
0ea85a37 32670 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
32671 types.
81a06771 32672
0ea85a37 32673 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
32674 types.
81a06771 32675
0ea85a37 32676 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
32677 blitter types.
81a06771 32678
0ea85a37 32679 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
32680 types.
32681
e8a83df6 326822008-09-06 Felix Zielcke <fzielcke@z-51.de>
32683
32684 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
32685 RAID level 1.
32686
6bcd8ee5 326872008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 32688
6bcd8ee5 32689 * fs/iso9660.c (grub_iso9660_date): New structure.
32690 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
32691 (grub_iso9660_uuid): New function.
c375ae58 32692
59261157 326932008-09-05 Bean <bean123ch@gmail.com>
32694
32695 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
32696
32697 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
32698 insensitive bit for names in Win32 and Win32 & DOS namespace.
32699
32700 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
32701
32702 * include/grub/types.h (LONG_MAX): Likewise.
32703
58b6645a 327042008-09-04 Felix Zielcke <fzielcke@z-51.de>
32705
4ee55921 32706 * util/getroot.c: Include <config.h>.
32707 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
32708 add support for /dev/md/N devices and handle LVM double dash escaping.
32709
327102008-09-04 Felix Zielcke <fzielcke@z-51.de>
32711
32712 * config.guess: Update to latest version from config git.
32713 * config.sub: Likewise.
58b6645a 32714
9124f65d 327152008-09-03 Robert Millan <rmh@aybabtu.com>
32716
32717 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
32718 `disk->total_sectors'.
32719
81a06771 327202008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 32721
32722 * include/grub/normal.h: Fixed incorrect comment for
32723 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
32724
81a06771 327252008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 32726
32727 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
32728 values with defines.
32729
32730 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
32731 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
32732 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
32733 (GRUB_VBE_MODEATTR_COLOR): Likewise.
32734 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
32735 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
32736 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
32737 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
32738 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
32739 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
32740 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
32741 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
32742 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
32743 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
32744 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
32745 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
32746 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
32747 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
32748 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
32749
93d5cbf8 327502008-08-31 Robert Millan <rmh@aybabtu.com>
32751
32752 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
32753 declaration.
32754 (grub_multiboot): Fix a few warnings.
32755
21751d50 327562008-08-31 Robert Millan <rmh@aybabtu.com>
32757
32758 * loader/i386/pc/multiboot.c: Update comment not to say that
32759 boot_device support is unimplemented.
32760
e27a75c5 327612008-08-31 Robert Millan <rmh@aybabtu.com>
32762
32763 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
32764 or memory map support are unimplemented.
32765
81a06771 327662008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 32767
32768 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
32769
81a06771 327702008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 32771
32772 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
32773 total video memory in 'vbeinfo' output; show color format details for
32774 each video mode.
32775
7c5d8d95 327762008-08-30 Pavel Roskin <proski@gnu.org>
32777
32778 * util/genmoddep.c: Remove for real this time.
32779 * DISTLIST: Remove util/genmoddep.c.
32780
4cebd25a 327812008-08-30 Robert Millan <rmh@aybabtu.com>
32782
32783 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
32784 as required by Multiboot spec (it was already 4-byte aligned, but
32785 only by chance).
32786
b497a269 327872008-08-29 Pavel Roskin <proski@gnu.org>
32788
e3925185 32789 * kern/powerpc/ieee1275/crt0.S: Rename to ...
32790 * kern/powerpc/ieee1275/startup.S: ... this.
32791 * conf/powerpc-ieee1275.rmk: Adjust for the above.
32792 * DISTLIST: Likewise.
32793
b497a269 32794 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
32795 grub/cpu/kernel.h. Add start label for consistency with other
32796 platforms. Add grub_prefix immediately after start. Add jump
32797 to the code after grub_prefix.
32798 * include/grub/powerpc/kernel.h: Provide valid values for
32799 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
32800
6e5a42fe 328012008-08-29 Bean <bean123ch@gmail.com>
32802
32803 * configure.ac: Change host_os to cygwin for mingw.
32804 (asprintf): New check for function.
32805
32806 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
32807 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
32808
32809 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 32810 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 32811 sync, sleep and grub_util_get_disk_size for mingw.
32812
32813 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
32814 to get size in mingw.
32815 (open_device): Use flag O_BINARY if it's defined.
32816 (find_root_device): Add dummy code for mingw.
32817
32818 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
32819 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
32820 (get_scsi_disk_name): Return 0 for mingw.
32821
32822 * util/hostfs.c: #include <grub/util/misc.h>.
32823 (grub_hostfs_open): Use "rb" flag to open file, use
32824 grub_util_get_disk_size to get disk size for mingw.
32825
32826 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
32827 (asprintf): New function if HAVE_ASPRINTF is not set.
32828 (sync): New function for mingw.
32829 (sleep): Likewise.
32830 (grub_util_get_disk_size): Likewise.
32831
ab3f2673 328322008-08-28 Pavel Roskin <proski@gnu.org>
32833
32834 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32835 kern/time.c.
32836
1c282483 328372008-08-28 Robert Millan <rmh@aybabtu.com>
32838
32839 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
32840
678e849c 328412008-08-28 Robert Millan <rmh@aybabtu.com>
32842
32843 Change find_grub_drive() syntax so it doesn't prevent it from
32844 detecting NULL names as errors.
32845
32846 * util/biosdisk.c (find_grub_drive): Move free slot search code
32847 from here ...
32848 (find_free_slot): ... to here.
32849 (read_device_map): Use find_free_slot() to search for free slots.
32850
965c75ca 328512008-08-27 Marco Gerards <marco@gnu.org>
32852
32853 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
32854 (scsi_mod_SOURCES): New variable.
32855 (scsi_mod_CFLAGS): Likewise
32856 (scsi_mod_LDFLAGS): Likewise.
32857
32858 * disk/scsi.c: New file.
32859
32860 * include/grub/scsi.h: Likewise.
32861
32862 * include/grub/scsicmd.h: Likewise.
32863
32864 * disk/ata.c: Include <grub/scsi.h>.
32865 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
32866 instead.
32867 (grub_ata_iterate): Skip ATAPI devices.
32868 (grub_ata_open): Only handle ATAPI devices.
32869 (struct grub_atapi_read): Removed.
32870 (grub_atapi_readsector): Likewise.
32871 (grub_ata_read): No longer handle ATAPI devices.
32872 (grub_ata_write): Likewise.
32873 (grub_atapi_iterate): New function.
32874 (grub_atapi_read): Likewise.
32875 (grub_atapi_write): Likewise.
32876 (grub_atapi_open): Likewise.
32877 (grub_atapi_close): Likewise.
32878 (grub_atapi_dev): New variable.
32879 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
32880 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
32881
32882 * include/grub/disk.h (enum grub_disk_dev_id): Add
32883 `GRUB_DISK_DEVICE_SCSI_ID'.
32884
c07ae501 328852008-08-26 Robert Millan <rmh@aybabtu.com>
32886
32887 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
32888 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
32889 descriptive.
32890
5ed20adc 328912008-08-23 Bean <bean123ch@gmail.com>
32892
32893 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
32894 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
32895 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
32896 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
32897 dm_nv.mod.
32898 (raid5rec_mod_SOURCES): New macro.
32899 (raid5rec_mod_CFLAGS): Likewise.
32900 (raid5rec_mod_LDFLAGS): Likewise.
32901 (raid6rec_mod_SOURCES): Likewise.
32902 (raid6rec_mod_CFLAGS): Likewise.
32903 (raid6rec_mod_LDFLAGS): Likewise.
32904 (mdraid_mod_SOURCES): Likewise.
32905 (mdraid_mod_CFLAGS): Likewise.
32906 (mdraid_mod_LDFLAGS): Likewise.
32907 (dm_nv_mod_SOURCES): Likewise.
32908 (dm_nv_mod_CFLAGS): Likewise.
32909 (dm_nv_mod_LDFLAGS): Likewise.
32910
32911 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
32912 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
32913 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
32914
32915 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
32916 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
32917
32918 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32919
32920 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32921
32922 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32923
32924 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32925
32926 * disk/raid5_recover.c: New file.
32927
32928 * disk/raid6_recover.c: Likewise.
32929
32930 * disk/mdraid_linux.c: Likewise.
32931
32932 * disk/dmraid_nvidia.c: Likewise.
32933
32934 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
32935 ULONG_MAX.
32936
32937 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
32938 calculate the size of raid device.
32939 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
32940 different layout of raid5.
32941 (grub_raid_scan_device): Remove code specific to mdraid.
32942 (grub_raid_list): New variable.
32943 (free_array): New function.
32944 (grub_raid_register): Likewise.
32945 (grub_raid_unregister): Likewise.
32946 (grub_raid_rescan): Likewise.
32947 (GRUB_MOD_INIT): Don't iterate device here.
32948 (GRUB_MOD_FINI): Use free_array to release resource.
32949
32950 * include/grub/raid.h: Remove macro and structure specific to mdraid.
32951 (grub_raid5_recover_func_t): New function variable type.
32952 (grub_raid6_recover_func_t): Likewise.
32953 (grub_raid5_recover_func): New variable.
32954 (grub_raid6_recover_func): Likewise.
32955 (grub_raid_register): New function.
32956 (grub_raid_unregister): Likewise.
32957 (grub_raid_rescan): Likewise.
32958 (grub_raid_block_xor): Likewise.
32959
32960 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
32961 (CMD_CRC): New macro.
32962 (part): Removed.
32963 (read_file): Handle device as well as file.
32964 (cmd_crc): New function.
32965 (fstest): Handle multiple disks.
32966 (options): Remove part, raw and long, add root and diskcount.
32967 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 32968 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 32969 add handling for the new options, support multiple disks.
32970
32971 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
32972
29c18915 329732008-08-23 Bean <bean123ch@gmail.com>
32974
32975 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
32976
32977 * genfslist.sh: Ignore kernel.mod.
32978
32979 * genpartmaplist.sh: Likewise.
32980
8415f261 329812008-08-23 Robert Millan <rmh@aybabtu.com>
32982
32983 * util/getroot.c (find_root_device): Skip anything that starts with
32984 a dot, not just directories. This avoids things like /dev/.tmp.md0.
32985
d5a7dc5b 329862008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 32987
d5a7dc5b 32988 * util/update-grub.in (GRUB_GFXMODE): Export variable.
32989 * util/grub.d/00_header.in: Allow the administrator to change default
32990 gfxmode via ${GRUB_GFXMODE}.
32991
380cfbb4 329922008-08-21 Felix Zielcke <fzielcke@z-51.de>
32993
32994 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
32995
c9baafe7 329962008-08-21 Robert Millan <rmh@aybabtu.com>
32997
32998 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
32999 loader.
33000 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
33001 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
33002
e290bef2 330032008-08-20 Carles Pina i Estany <carles@pina.cat>
33004
33005 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
33006 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
33007
f9dbfc96 330082008-08-19 Robert Millan <rmh@aybabtu.com>
33009
33010 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
33011 (struct grub_virtual_screen): Remove `cursor_color'.
33012 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
33013 initialization.
33014 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
33015
dd6bd6ab 330162008-08-18 Robert Millan <rmh@aybabtu.com>
33017
33018 Unify (identical) linux_normal.c files.
33019 * loader/i386/efi/linux_normal.c: Move from here ...
33020 * loader/linux_normal.c: ... to here. Update all users.
33021 * loader/i386/pc/linux_normal.c: Delete. Update all users.
33022 * loader/i386/ieee1275/linux_normal.c: Likewise.
33023
7f42f83e 330242008-08-18 Robert Millan <rmh@aybabtu.com>
33025
33026 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
33027 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
33028 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
33029 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
33030 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
33031 New macros.
33032 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
33033 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
33034 (GRUB_LINUX_CL_END_OFFSET): ... to here.
33035 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
33036 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
33037 (GRUB_EFI_CL_END_OFFSET): Rename to ...
33038 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
33039 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
33040 Initialize `params->video_cursor_x' and `params->video_cursor_y'
33041 portably using grub_getxy().
33042 Replace `-EFI' with `-bzImage' in boot message.
33043
38487ddb 330442008-08-17 Robert Millan <rmh@aybabtu.com>
33045
33046 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
33047
deceb3ec 330482008-08-17 Robert Millan <rmh@aybabtu.com>
33049
33050 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
33051
33052 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
33053 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
33054 (grub_machine_mmap_iterate): New function declaration.
33055 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
33056 structure.
33057 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
33058 macros.
33059
33060 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
33061 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
33062 Move e820 parsing from here ...
33063 * kern/i386/pc/mmap.c: New file.
33064 (grub_machine_mmap_iterate): ... to here.
33065
33066 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
33067 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
33068 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
33069 (grub_available_iterate): Redeclare to return `void', and redeclare
33070 its hook to use grub_uint64_t as addr and size parameters, and rename
33071 to ...
33072 (grub_machine_mmap_iterate): ... this. Update all users.
33073
33074 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
33075 to make it more readable. Rename to ...
33076 (grub_machine_mmap_iterate): ... this.
33077
33078 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
33079 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
33080 (grub_multiboot): Allocate an extra region after the payload, and fill
33081 it with a Multiboot memory map. Adjust a.out loader to calculate size
33082 with the extra space.
33083 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
33084 with the extra space.
33085
f8aa0f43 330862008-08-17 Carles Pina i Estany <carles@pina.cat>
33087
9807deb9 33088 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 33089
605f5bb6 330902008-08-17 Felix Zielcke <fzielcke@z-51.de>
33091
33092 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
33093 mdate-sh to the list `find' searches for.
33094 * DISTLIST: Regenerated.
33095
210db6c6 330962008-08-16 Felix Zielcke <fzielcke@z-51.de>
33097
33098 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
33099 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 33100 genmoddep.awk, gensymlist.sh.in.
33101 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 33102 * DISTLIST: Regenerated.
48cdbfd4 33103 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 33104
1082b929 331052008-08-16 Robert Millan <rmh@aybabtu.com>
33106
33107 * disk/raid.c (grub_raid_init): Handle/report errors set by
33108 grub_device_iterate().
33109 * disk/lvm.c (grub_lvm_init): Likewise.
33110
42ce5170 331112008-08-15 Bean <bean123ch@gmail.com>
33112
33113 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33114 and datehook.mod.
33115 (datetime_mod_SOURCES): New macro.
33116 (datetime_mod_CFLAGS): Likewise.
33117 (datetime_mod_LDFLAGS): Likewise.
33118 (date_mod_SOURCES): Likewise.
33119 (date_mod_CFLAGS): Likewise.
33120 (date_mod_LDFLAGS): Likewise.
33121 (datehook_mod_SOURCES): Likewise.
33122 (datehook_mod_CFLAGS): Likewise.
33123 (datehook_mod_LDFLAGS): Likewise.
33124
33125 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33126 and datehook.mod.
33127 (datetime_mod_SOURCES): New macro.
33128 (datetime_mod_CFLAGS): Likewise.
33129 (datetime_mod_LDFLAGS): Likewise.
33130 (date_mod_SOURCES): Likewise.
33131 (date_mod_CFLAGS): Likewise.
33132 (date_mod_LDFLAGS): Likewise.
33133 (datehook_mod_SOURCES): Likewise.
33134 (datehook_mod_CFLAGS): Likewise.
33135 (datehook_mod_LDFLAGS): Likewise.
33136
33137 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33138 and datehook.mod.
33139 (datetime_mod_SOURCES): New macro.
33140 (datetime_mod_CFLAGS): Likewise.
33141 (datetime_mod_LDFLAGS): Likewise.
33142 (date_mod_SOURCES): Likewise.
33143 (date_mod_CFLAGS): Likewise.
33144 (date_mod_LDFLAGS): Likewise.
33145 (datehook_mod_SOURCES): Likewise.
33146 (datehook_mod_CFLAGS): Likewise.
33147 (datehook_mod_LDFLAGS): Likewise.
33148
33149 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33150 and datehook.mod.
33151 (datetime_mod_SOURCES): New macro.
33152 (datetime_mod_CFLAGS): Likewise.
33153 (datetime_mod_LDFLAGS): Likewise.
33154 (date_mod_SOURCES): Likewise.
33155 (date_mod_CFLAGS): Likewise.
33156 (date_mod_LDFLAGS): Likewise.
33157 (datehook_mod_SOURCES): Likewise.
33158 (datehook_mod_CFLAGS): Likewise.
33159 (datehook_mod_LDFLAGS): Likewise.
33160
33161 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33162 and datehook.mod.
33163 (datetime_mod_SOURCES): New macro.
33164 (datetime_mod_CFLAGS): Likewise.
33165 (datetime_mod_LDFLAGS): Likewise.
33166 (date_mod_SOURCES): Likewise.
33167 (date_mod_CFLAGS): Likewise.
33168 (date_mod_LDFLAGS): Likewise.
33169 (datehook_mod_SOURCES): Likewise.
33170 (datehook_mod_CFLAGS): Likewise.
33171 (datehook_mod_LDFLAGS): Likewise.
33172
33173 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
33174
33175 * commands/date.c: New file.
33176
33177 * hook/datehook.c: Likewise.
33178
33179 * include/grub/lib/datetime.h: Likewise.
33180
33181 * include/grub/i386/cmos.h: Likewise.
33182
33183 * lib/datetime.c: Likewise.
33184
33185 * lib/i386/datetime.c: Likewise.
33186
33187 * lib/efi/datetime.c: Likewise.
33188
0e9242da 331892008-08-14 Robert Millan <rmh@aybabtu.com>
33190
33191 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
33192 (grub_mkelfimage_SOURCES): New variable.
33193 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
33194
33195 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
33196 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
33197 * conf/powerpc-ieee1275.rmk: Likewise.
33198 * conf/i386-ieee1275.rmk: Likewise.
33199
33200 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
33201 * kern/i386/coreboot/init.c: Likewise.
33202
33203 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
33204 with `<grub/cpu/kernel.h>'.
33205 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
33206 to ...
33207 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
33208 * kern/i386/coreboot/startup.S: Likewise.
33209
33210 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
33211 (GRUB_MOD_GAP): Remove.
33212 * include/grub/powerpc/kernel.h: New file.
33213 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
33214 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
33215 * include/grub/i386/kernel.h: New file.
33216 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
33217 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
33218 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
33219
33220 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
33221 `grub-mkelfimage'.
33222 Use --directory when invoking grub_mkimage.
33223
33224 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
33225 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
33226 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
33227 and GRUB_KERNEL_CPU_PREFIX.
33228
b86408f8 332292008-08-14 Felix Zielcke <fzielcke@z-51.de>
33230
d5e619ca 33231 * include/grub/err.h (grub_err_printf): New function prototype.
33232 * util/misc.c (grub_err_printf): New function.
33233 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
33234 grub_printf.
33235 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 33236
7161f0e0 332372008-08-13 Robert Millan <rmh@aybabtu.com>
33238
33239 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
33240
a1967522 332412008-08-13 Robert Millan <rmh@aybabtu.com>
33242
33243 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
33244 boot entry.
33245
371458b5 332462008-08-12 Robert Millan <rmh@aybabtu.com>
33247
33248 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
33249 of the relocation code from here ...
33250 (grub_multiboot): ... to here.
33251 (forward_relocator, backward_relocator): Move from here ...
33252 * kern/i386/loader.S (grub_multiboot_forward_relocator)
33253 (grub_multiboot_backward_relocator): ... to here.
33254 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
33255 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
33256 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
33257 (grub_multiboot_forward_relocator_end)
33258 (grub_multiboot_backward_relocator)
33259 (grub_multiboot_backward_relocator_end): New variables.
33260
05f9452b 332612008-08-12 Bean <bean123ch@gmail.com>
33262
33263 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
33264
20024ab0 332652008-08-11 Robert Millan <rmh@aybabtu.com>
33266
33267 * kern/i386/linuxbios/startup.S: Move from here ...
33268 * kern/i386/coreboot/startup.S: ... to here.
33269
33270 * kern/i386/linuxbios/init.c: Move from here ...
33271 * kern/i386/coreboot/init.c: ... to here.
33272
33273 * kern/i386/linuxbios/table.c: Move from here ...
33274 * kern/i386/coreboot/mmap.c: ... to here.
33275
33276 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
33277
e352e9cd 332782008-08-11 Robert Millan <rmh@aybabtu.com>
33279
33280 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
33281 errors. Leave it to the upper layer to handle them.
33282
2d05bc6a 332832008-08-09 Christian Franke <franke@computer.org>
33284
33285 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
33286 * conf/common.rmk: Install `grub-pe2elf' only if requested.
33287 Install `grub.d/10_windows' only on Cygwin.
33288 * configure.ac: Add subst of `target_os'.
33289 Check `target_os' also before setting TARGET_OBJ2ELF.
33290 Add `--enable-grub-pe2elf'.
33291
042bd419 332922008-08-08 Robert Millan <rmh@aybabtu.com>
33293
33294 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
33295 (grub_last_time): Change type to grub_uint64_t.
33296 (grub_disk_open): Migrate code from to using grub_get_time_ms().
33297 (grub_disk_close): Likewise.
33298
33299 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
33300 (run_menu): Migrate code from to using grub_get_time_ms().
33301
33302 * util/misc.c (grub_get_time_ms): New function.
33303
7f280db5 333042008-08-08 Marco Gerards <marco@gnu.org>
33305
33306 * disk/ata.c (grub_ata_regget): Change return type to
33307 `grub_uint8_t'.
33308 (grub_ata_regget2): Likewise.
33309 (grub_ata_wait_status): New function.
33310 (grub_ata_wait_busy): Removed function, updated all users to use
33311 `grub_ata_wait_status'.
33312 (grub_ata_wait_drq): Likewise.
33313 (grub_ata_cmd): New function.
33314 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
33315 error handling.
33316 (grub_ata_pio_write): Add error handling.
33317 (grub_atapi_identify): Likewise.
33318 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
33319 handling.
33320 (grub_ata_identify): Use `grub_ata_cmd' and improve error
33321 handling. Actually use the detected registers. Reorder the
33322 detection logic such that it is easier to read.
33323 (grub_ata_pciinit): Do not assign the same ID to each controller.
33324 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
33325 handling.
33326 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
33327
33328 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
33329
1fbc5e66 333302008-08-08 Marco Gerards <marco@gnu.org>
33331
33332 * NEWS: Update.
33333
819ce6c0 333342008-08-07 Bean <bean123ch@gmail.com>
33335
33336 * include/grub/x86_64/pci.h: New file.
33337
5c41d44d 333382008-08-07 Christian Franke <franke@computer.org>
33339
33340 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
33341 (TIMER2_GATE): Likewise.
33342 (grub_pit_wait): Add enable/disable of the timer2 gate
33343 bit of port 0x61. This fixes a possible infinite loop.
33344
5ebc275d 333452008-08-07 Bean <bean123ch@gmail.com>
33346
33347 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
33348 kern/i386/tsc.c and kern/i386/pit.c.
33349
33350 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
33351 x86_64 platform.
33352
33353 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
33354 <grub/i386/tsc.h>.
33355
33356 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
33357
e383b3d0 333582008-08-07 Bean <bean123ch@gmail.com>
33359
33360 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
33361
33362 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
33363
33364 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
33365 multiple inclusion. Add #include <grub/types.h>.
33366
1cbb58ac 333672008-08-06 Christian Franke <franke@computer.org>
33368
33369 * conf/common.rmk: Build and install `10_windows'.
33370 * util/grub.d/10_windows.in: New script.
33371
337f5a1e 333722008-08-06 Pavel Roskin <proski@gnu.org>
33373
33374 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
33375
057bc4ac 333762008-08-06 Robert Millan <rmh@aybabtu.com>
33377
33378 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
33379 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
33380
2b99f123 333812008-08-06 Bean <bean123ch@gmail.com>
33382
33383 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
33384 (grub_pxefs_fs_int): Remove dummy definition.
33385 (grub_pxefs_open): Use data->block_size to store the current block
33386 size setting.
33387 (grub_pxefs_read): Use block size stored in data->block_size. As the
33388 value of grub_pxe_blksize can be changed after the file is opened.
33389
9f0234cb 333902008-08-06 Bean <bean123ch@gmail.com>
33391
33392 * fs/i386/pc/pxe.c (curr_file): new variable.
33393 (grub_pxefs_open): Simply the handling of pxe file system. Don't
33394 require the dummy internal file system anymore.
33395 (grub_pxefs_read): Removed.
33396 (grub_pxefs_close): Likewise.
33397 (grub_pxefs_fs_int): Likewise.
33398 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
33399 connection when we switch file.
33400 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
33401
a55d42e0 334022008-08-06 Robert Millan <rmh@aybabtu.com>
33403
33404 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
33405 `halt.mod'.
33406 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
33407 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
33408
33409 * kern/i386/halt.c: New file.
33410 * kern/i386/reboot.c: Likewise.
33411 * include/grub/i386/reboot.h: Likewise.
33412 * include/grub/i386/halt.h: Likewise.
33413
33414 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
33415 Include `<grub/cpu/halt.h>'.
33416 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
33417 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
33418
33419 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
33420 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
33421 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
33422 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
33423 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
33424 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
33425 from here ...
33426 * include/grub/i386/at_keyboard.h: ... to here.
33427
24371d26 334282008-08-05 Robert Millan <rmh@aybabtu.com>
33429
33430 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
33431 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
33432 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
33433 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
33434 `kern/generic/millisleep.c'.
33435
33436 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
33437 instead of grub_get_rtc().
33438 (grub_tsc_init): Initialize `tsc_boot_time'.
33439
33440 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
33441 (grub_machine_init): Use grub_tsc_init() rather than
33442 installing an RTC-based handler via grub_install_get_time_ms().
33443
33444 * kern/i386/pit.c: New file.
33445 * include/grub/i386/pit.h: Likewise.
33446
9e7007b3 334472008-08-05 Bean <bean123ch@gmail.com>
33448
33449 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
33450
33451 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
33452 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
33453 (pxe_mod_SOURCES): New macro.
33454 (pxe_mod_CFLAGS): Likewise.
33455 (pxe_mod_LDFLAGS): Likewise.
33456 (pxecmd_mod_SOURCES): Likewise.
33457 (pxecmd_mod_CFLAGS): Likewise.
33458 (pxecmd_mod_LDFLAGS): Likewise.
33459
33460 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
33461 (grub_pxe_call): Likewise.
33462
33463 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
33464
33465 * commands/i386/pc/pxecmd.c: New file.
33466
9f0234cb 33467 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 33468
33469 * include/grub/i386/pc/pxe.h: Likewise.
33470
6977d49f 334712008-08-05 Bean <bean123ch@gmail.com>
33472
33473 * util/console.c (grub_console_cur_color): New variable.
33474 (grub_console_standard_color): Likewise.
33475 (grub_console_normal_color): Likewise.
33476 (grub_console_highlight_color): Likewise.
33477 (color_map): Likewise.
33478 (use_color): Likewise.
33479 (NUM_COLORS): New macro.
33480 (grub_ncurses_setcolorstate): Handle color properly.
33481 (grub_ncurses_setcolor): Don't change color here, just remember the
33482 settings, color will be set in grub_ncurses_setcolorstate.
33483 (grub_ncurses_getcolor): New function.
33484 (grub_ncurses_init): Initialize color pairs.
33485 (grub_ncurses_term): New member grub_ncurses_getcolor.
33486
9c2ff3ee 334872008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 33488
9c2ff3ee 33489 High resolution timer support. Implemented for x86 CPUs using TSC.
33490 Extracted generic grub_millisleep() so it's linked in only as needed.
33491 This requires a Pentium compatible CPU; if the RDTSC instruction is
33492 not supported, then it falls back on the generic grub_get_time_ms()
33493 implementation that uses the machine's RTC.
33494
33495 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
33496 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
33497 `kern/generic/millisleep.c'.
33498
33499 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
33500 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
33501
33502 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
33503 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
33504
33505 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33506
33507 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33508 `kern/generic/millisleep.c'.
33509
33510 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33511
33512 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
33513
33514 * kern/generic/rtc_get_time_ms.c: New file.
33515
33516 * kern/generic/millisleep.c: New file.
337f5a1e 33517
9c2ff3ee 33518 * kern/misc.c: Don't include
33519 <kern/time.h> anymore.
33520 (grub_millisleep_generic): Removed.
33521
33522 * commands/sleep.c (grub_interruptible_millisleep): Uses
33523 grub_get_time_ms() instead of grub_get_rtc().
33524
33525 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
33526 function.
33527 (grub_cpu_is_cpuid_supported): New inline function.
33528 (grub_cpu_is_tsc_supported): New inline function.
33529 (grub_tsc_init): New function prototype.
33530 (grub_tsc_get_time_ms): New function prototype.
33531
33532 * kern/i386/tsc.c (grub_get_time_ms): New file.
33533
33534 * include/grub/time.h: Include <grub/types.h.
33535 (grub_millisleep_generic): Removed.
33536 (grub_get_time_ms): New prototype.
33537 (grub_install_get_time_ms): New prototype.
33538 (grub_rtc_get_time_ms): New prototype.
33539
33540 * kern/time.c (grub_get_time_ms): New function.
33541 (grub_install_get_time_ms): New function.
33542
33543 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
33544 <grub/time.h> anymore.
33545 (grub_millisleep): Removed.
33546 (grub_machine_init): Call grub_tsc_init.
33547
33548 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
33549 get_time_ms() implementation.
33550
33551 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
33552 (ieee1275_get_time_ms): New function.
33553 (grub_machine_init): Install get_time_ms() implementation.
33554
33555 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
33556 (grub_machine_init): Call grub_tsc_init().
33557 (grub_millisleep): Removed.
bf06a93f 33558
9c2ff3ee 33559 * kern/ieee1275/init.c (grub_millisleep): Removed.
33560 (grub_machine_init): Install ieee1275_get_time_ms()
33561 implementation.
33562 (ieee1275_get_time_ms): New function.
33563 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
33564 real work.
33565
9ec92aaf 335662008-08-05 Marco Gerards <marco@gnu.org>
33567
33568 * disk/ata.c: Include <grub/pci.h>.
33569 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
33570 (grub_ata_initialize): Rewritten.
33571 (grub_ata_device_initialize): New function.
33572
8d23f507 335732008-08-04 Pavel Roskin <proski@gnu.org>
33574
33575 * kern/main.c: Include grub/mm.h.
33576
5e15ee3d 335772008-08-04 Robert Millan <rmh@aybabtu.com>
33578
33579 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
33580 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
33581 corruption problem).
33582
a9053f8f 335832008-08-04 Robert Millan <rmh@aybabtu.com>
33584
33585 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
33586 warnings introduced in my last commit.
33587
dd19c7d7 335882008-08-03 Robert Millan <rmh@aybabtu.com>
33589
33590 Make PCI available on all i386 architectures.
33591
33592 * include/grub/i386/pc/pci.h: Move from here ...
33593 * include/grub/i386/pci.h: ... to here.
33594
33595 * include/grub/i386/pc/pci.h: Remove.
33596 * include/grub/i386/efi/pci.h: Remove.
33597 * include/grub/x86_64/efi/pci.h: Remove.
33598
33599 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
33600 `<grub/cpu/pci.h>'.
33601
33602 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
33603 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
33604 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
33605
33606 * conf/i386-ieee1275.rmk: Likewise.
33607
e14a6184 336082008-08-03 Robert Millan <rmh@aybabtu.com>
33609
33610 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
33611 (grub_console_setcursor): Make it possible to set cursor off.
33612
52768e37 336132008-08-03 Robert Millan <rmh@aybabtu.com>
33614
33615 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
33616 of modules instead of assuming which platform provides what.
33617 * util/update-grub.in: Likewise.
33618
2d52f57f 336192008-08-03 Robert Millan <rmh@aybabtu.com>
33620
33621 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
33622 instead of `grub_install_dos_part' to determine whether a drive needs
33623 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 33624 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 33625
2a5cd121 336262008-08-02 Robert Millan <rmh@aybabtu.com>
33627
33628 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
33629
93808428 336302008-08-02 Robert Millan <rmh@aybabtu.com>
33631
33632 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
33633 of informational grub_dprintf() calls.
33634
3bd0a12a 336352008-08-02 Robert Millan <rmh@aybabtu.com>
33636
33637 * disk/memdisk.c (memdisk_size): Don't initialize.
33638 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
33639
33640 * include/grub/i386/pc/kernel.h
33641 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
33642 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
33643 (grub_memdisk_image_size, grub_arch_memdisk_addr)
33644 (grub_arch_memdisk_size): Remove.
33645
33646 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
33647 field (was only used to transfer a constant). Add `type' field to
33648 support multiple module types.
33649 (grub_module_iterate): New function.
33650
33651 * kern/device.c (grub_device_open): Do not hide error messages
33652 when grub_disk_open() fails. Use grub_print_error() instead.
33653
33654 * kern/i386/pc/init.c (grub_arch_modules_addr)
33655 (grub_arch_memdisk_size): Remove functions.
33656 (grub_arch_modules_addr): Return the module address in high memory
33657 (now that it isn't copied anymore).
33658
33659 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
33660 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
33661 decompression routine (grub_total_module_size already includes that
33662 now). Don't copy modules back to low memory.
33663
33664 * kern/main.c: Include `<grub/mm.h>'.
33665 (grub_load_modules): Split out (and use) ...
33666 (grub_module_iterate): ... this function, which iterates through
33667 module objects and runs a hook.
33668 Comment out grub_mm_init_region() call, as it would cause non-ELF
33669 modules to be overwritten.
33670
33671 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
33672 the memdisk image in its own region, make it part of the module list.
33673 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
33674 (main): Parse --memdisk|-m option, and pass user-provided path as
33675 parameter to generate_image().
33676 (add_segments): Pass `memdisk_path' down to load_modules().
33677 (load_modules): Embed memdisk image in module section when requested.
33678 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
33679 `header.type' instead of `header.offset'.
33680
33681 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
33682 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
33683 (memdisk_mod_LDFLAGS): New variables.
33684 * conf/i386-coreboot.rmk: Likewise.
33685 * conf/i386-ieee1275.rmk: Likewise.
33686
a927cc73 336872008-08-02 Robert Millan <rmh@aybabtu.com>
33688
33689 * loader/i386/pc/multiboot.c (playground, forward_relocator)
33690 (backward_relocator): New variables. Used to allocate and relocate
33691 the payload, respectively.
33692 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 33693 address, install the appropriate relocator code in each bound of
a927cc73 33694 the payload, and set the entry point such that
33695 grub_multiboot_real_boot() will jump to one of them.
33696
33697 * kern/i386/loader.S (grub_multiboot_payload_size)
33698 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
33699 (grub_multiboot_payload_entry_offset): New variables.
33700 (grub_multiboot_real_boot): Set cpu context to what the relocator
33701 expects, and jump to the relocator instead of the payload.
33702
33703 * include/grub/i386/loader.h (grub_multiboot_payload_size)
33704 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
33705 (grub_multiboot_payload_entry_offset): Export.
33706
b15d8a0c 337072008-08-01 Bean <bean123ch@gmail.com>
33708
33709 * normal/menu_entry.c (editor_getline): Don't return the original
33710 string as result, as it will be released by lexer once it has done
33711 using it.
33712
cdfb3d22 337132008-08-01 Robert Millan <rmh@aybabtu.com>
33714
33715 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
33716 within menuentries, not before them.
33717 util/grub.d/10_hurd.in: Likewise.
33718
9175e93d 337192008-08-01 Bean <bean123ch@gmail.com>
33720
33721 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
33722 (bufio_mod_SOURCES): New macro.
33723 (bufio_mod_CFLAGS): Likewise.
33724 (bufio_mod_LDFLAGS): Likewise.
33725
33726 * include/grub/bufio.h: New file.
33727
33728 * io/bufio.c: Likewise.
33729
33730 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
33731 (grub_video_reader_png): Use grub_buffile_open to open file.
33732
33733 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
33734 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
33735
33736 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
33737 (grub_video_reader_tga): Use grub_buffile_open to open file.
33738
33739 * font/manager.c: Include <grub/bufio.h>.
33740 (add_font): Use grub_buffile_open to open file.
33741
3d8383e7 337422008-07-31 Robert Millan <rmh@aybabtu.com>
33743
33744 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
33745 ELF segments, use a macro for arbitrarily accessing any of them instead
33746 of preparing a pointer that allows access to one at a time.
33747 (grub_multiboot_load_elf64): Likewise.
33748
16e641b6 337492008-07-31 Bean <bean123ch@gmail.com>
33750
33751 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
33752 GRUB_KERNEL_MACHINE_DATA_END.
33753
59198b72 337542008-07-30 Robert Millan <rmh@aybabtu.com>
33755
33756 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
33757 Increase from 0x50 to 0x60.
33758 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
33759 use UUIDs to identify the root drive for them. If that's not
33760 possible, abort.
33761 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
33762 check, for cross-disk installs.
33763
ae88bca3 337642008-07-30 Robert Millan <rmh@aybabtu.com>
33765
33766 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
33767 is non-empty, use it to set the `prefix' environment variable instead
33768 of the usual approach.
33769 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
33770 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
33771 environment variable instead of dummy make_install_device().
33772
33773 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
33774 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 33775 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 33776
33777 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
33778 New variable reference.
33779 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
33780 New macro. Defines offset of `grub_prefix' within startup.S (relative
33781 to `start').
33782 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
33783 section within startup.S (relative to `start').
33784 * include/grub/i386/coreboot/kernel.h: Likewise.
33785
33786 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
33787 Overwrite grub_prefix with its contents, at the beginning of the
33788 first segment.
33789 (main): Understand -p|--prefix.
33790
14f41dd1 337912008-07-30 Robert Millan <rmh@aybabtu.com>
33792
33793 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
33794
4ca049a3 337952008-07-30 Robert Millan <rmh@aybabtu.com>
33796
33797 * term/i386/pc/vga_text.c (grub_console_cls): Use
33798 grub_console_gotoxy() to go back to beginning of the screen.
33799 Found by Patrick Georgi <patrick.georgi@coresystems.de>
33800
2921d337 338012008-07-29 Christian Franke <franke@computer.org>
33802
33803 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
33804 Add conversion of emulated mount points on Cygwin.
33805
b609876d 338062008-07-29 Christian Franke <franke@computer.org>
33807
33808 * util/update-grub.in: Add a check for admin
33809 group on Cygwin.
33810 Remove old `grub.cfg.new' before creation.
33811 Add `-f' to `mv' to handle the different filesystem
33812 semantics of Windows.
33813
e93e4679 338142008-07-29 Bean <bean123ch@gmail.com>
33815
33816 * normal/main.c (get_line): Fix buffer overflow bug.
33817
41694fd0 338182008-07-28 Robert Millan <rmh@aybabtu.com>
33819
33820 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
33821 (struct grub_apple_header): New struct. Describes the layout of
33822 the partmap header.
33823 (apple_partition_map_iterate): Check the header magic as well as the
33824 partition magic (which was already being checked).
33825
cfd0b4e6 338262008-07-28 Pavel Roskin <proski@gnu.org>
33827
33828 * genmk.rb: Add a warning to the beginning of the output that
33829 it's a generated file and should not be edited.
33830
93cce016 338312008-07-28 Robert Millan <rmh@aybabtu.com>
33832
33833 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
33834 with the same number are found, just use issue a warning with
33835 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 33836
cd1df915 338372008-07-27 Robert Millan <rmh@aybabtu.com>
33838
33839 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
33840 information.
33841
b70a8427 338422008-07-27 Bean <bean123ch@gmail.com>
33843
33844 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
33845 (grub_fat_find_dir): Ignore case when comparing filename.
33846
8f5e379f 338472008-07-27 Bean <bean123ch@gmail.com>
33848
33849 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
33850 smallino, as it's more descriptive, and i8count can be confused with
33851 the other field count.
33852 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
33853 inode type.
33854
a85cd5a0 338552008-07-27 Bean <bean123ch@gmail.com>
33856
33857 * commands/crc.c: New file.
33858
33859 * lib/crc.c: Likewise.
33860
33861 * include/grub/lib/crc.h: Likewise.
33862
33863 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
33864
33865 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
33866 (hexdump): Move this function to ...
33867
33868 * lib/hexdump.c: ... here.
33869
33870 * include/grub/hexdump.h: Renamed to ...
33871
33872 * include/grub/lib/hexdump.h: ... this.
33873
33874 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
33875
33876 * util/grub-editenv.c: Likewise.
33877
33878 * include/envblk.h: Renamed to ...
33879
33880 * include/lib/envblk.h: ... this.
33881
33882 * util/envblk.c: Renamed to ...
33883
33884 * lib/envblk.c: ... this.
33885
33886 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
33887 lib/hexdump.c.
33888 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
33889 (pkglib_MODULES): Add crc.mod.
33890 (hexdump_mod_SOURCES): Add lib/hexdump.c.
33891 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
33892 (crc_mod_SOURCES): New macro.
33893 (crc_mod_CFLAGS): Likewise.
33894 (crc_mod_LDFLAGS): Likewise.
33895
33896 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
33897
33898 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33899
33900 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33901
33902 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33903
33904 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33905
c298def0 339062008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 33907
33908 * commands/help.c: Include <grub/term.h>.
33909 (TERM_WIDTH): Removed. Updated all users.
33910
cc349fb3 339112008-07-27 Pavel Roskin <proski@gnu.org>
33912
33913 * util/getroot.c (find_root_device): Rephrase a comment to avoid
33914 spurious warnings about a comment within a comment.
33915
9051607e 339162008-07-25 Robert Millan <rmh@aybabtu.com>
33917
33918 * util/getroot.c (find_root_device): Skip devices that match
33919 /dev/dm-[0-9]. This lets the real device be found for any type of
33920 abstraction (LVM, EVMS, RAID..).
33921 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
33922 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
33923 device is found first, find_root_device() will now skip it.
33924
01453bfc 339252008-07-24 Pavel Roskin <proski@gnu.org>
33926
33927 * include/grub/types.h: Use __builtin_bswap32() and
33928 __builtin_bswap64() with gcc 4.3 and newer.
33929
6af9849f 339302008-07-24 Christian Franke <franke@computer.org>
33931
3a0fa256 33932 * util/i386/pc/grub-install.in: If `--debug' is specified,
33933 pass `--verbose' to grub-setup.
33934 Abort script if make_system_path_relative_to_its_root() fails.
33935
7810e747 339362008-07-24 Bean <bean123ch@gmail.com>
33937
33938 * configure.ac: Fixed a bug caused by the previous cygwin patch,
33939 variable `target_platform' should be `platform'.
33940
42290e17 339412008-07-24 Bean <bean123ch@gmail.com>
33942
51cc5193 33943 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 33944 (grub_png_init_fixed_block): New function.
33945 (grub_png_decode_image_data): Handle fixed huffman code compression.
33946
2a8a80e4 339472008-07-24 Bean <bean123ch@gmail.com>
33948
33949 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
33950 (grub_pe2elf_SOURCES): New macro.
33951 (CLEANFILES): Add grub-pe2elf.
33952
33953 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
33954 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
33955 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
33956 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
33957 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
33958 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
33959 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
33960 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
33961 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
33962 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
33963 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
33964 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
33965 (GRUB_PE32_DT_FUNCTION): Likewise.
33966 (GRUB_PE32_REL_I386_DIR32): Likewise.
33967 (GRUB_PE32_REL_I386_REL32): Likewise.
33968 (grub_pe32_symbol): New structure.
33969 (grub_pe32_reloc): Likewise.
33970
33971 * util/grub-pe2elf.c: New file.
33972
33973 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
33974 start symbol in non pc platform.
33975
33976 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
33977
33978 The following patches are from Christian Franke.
33979
33980 * include/grub/dl.h: Remove .previous, gas supports this only
33981 for ELF format.
33982
33983 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
33984 Remove .type, gas supports this only for ELF format.
33985
33986 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
33987 nullbytes in symbol table. This fixes an infinite loop if table is
33988 zero filled.
33989
33990 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
33991 TARGET_IMG_LDFLAGS and EXEEXT.
33992
33993 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
33994 TARGET_IMG_LDFLAGS_AC.
33995 (grub_CHECK_STACK_ARG_PROBE): New function.
33996
33997 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
33998
33999 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
34000
34001 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
34002 to set TARGET_IMG_LD* accordingly.
34003 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
34004 Add call to grub_CHECK_STACK_ARG_PROBE.
34005 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
34006
34007 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
34008
34009 * genmk.rb: Add EXEEXT to CLEANFILES.
34010
12ccdb75 340112008-07-23 Robert Millan <rmh@aybabtu.com>
34012
34013 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
34014 define the codes for arrows and lines used for the menu).
34015 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
34016 as well.
34017
34018 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
34019 fonts, because the latter are too slow.
34020
18eeaf04 340212008-07-21 Bean <bean123ch@gmail.com>
34022
34023 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
34024 a20. Run keyboard test last, as it will cause macbook to halt.
34025
b095e2ad 340262008-07-18 Pavel Roskin <proski@gnu.org>
34027
34028 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
34029 load foreign architecture modules correctly anyway. Keep
34030 support for loading host architecture modules, whether we
34031 compile them or not.
34032
737feb35 340332008-07-17 Pavel Roskin <proski@gnu.org>
34034
3f4ce737 34035 * configure.ac: Use -m32 or -m64 regardless of whether we had to
34036 change target_cpu. The compiler default can mismatch target_cpu
34037 in any case.
34038
4ad2d049 34039 * disk/efi/efidisk.c: Fix format warnings on x86_64.
34040 * kern/efi/efi.c: Likewise.
34041
f6130a12 34042 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
34043 target compiler is functional.
34044 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
34045 are set up.
34046
58393a2d 34047 * configure.ac: Default to efi platform for x86_64-apple. Allow
34048 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
34049 adjustments from the rest, only do them if target is not
34050 explicitly given. Merge other adjustments with the final sanity
34051 check. Remove an extraneous check for supported CPU. Be
34052 specific which CPU and which platform is not supported.
34053
737feb35 34054 * configure.ac: Default to pc platform for x86_64.
34055
546f966a 340562008-07-17 Robert Millan <rmh@aybabtu.com>
34057
34058 Partial LinuxBIOS -> Coreboot rename.
34059
34060 * conf/i386-linuxbios.rmk: Renamed to ...
34061 * conf/i386-coreboot.rmk: ... this.
34062 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
34063 * configure.ac: Accept "coreboot" as input platform (but maintain
34064 compatibility with "linuxbios").
34065 * include/grub/i386/linuxbios: Renamed to ...
34066 * include/grub/i386/coreboot: ... this.
34067
20011694 340682008-07-17 Bean <bean123ch@gmail.com>
34069
34070 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 34071 (appleldr_mod_SOURCE): New variable.
20011694 34072 (appleldr_mod_CFLAGS): Likewise.
34073 (appleldr_mod_LDFLAGS): Likewise.
34074 (pci_mod_SOURCES): Likewise.
34075 (pci_mod_CFLAGS): Likewise.
34076 (pci_mod_LDFLAGS): Likewise.
34077 (lspci_mod_SOURCES): Likewise.
34078 (lspci_mod_CFLAGS): Likewise.
34079 (lspci_mod_LDFLAGS): Likewise.
34080
34081 * conf/x86_64-efi.rmk: New file.
34082
34083 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
34084 macro.
34085 (grub_efidisk_write): Likewise.
34086
34087 * include/efi/api.h (efi_call_0): New macro.
34088 (efi_call_1): Likewise.
34089 (efi_call_2): Likewise.
34090 (efi_call_3): Likewise.
34091 (efi_call_4): Likewise.
34092 (efi_call_5): Likewise.
34093 (efi_call_6): Likewise.
34094
34095 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
34096 grub_rescue_cmd_chainloader.
34097
34098 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
34099 (grub_pe32_optional_header): Change some fields based on i386 or
34100 x86_64 platform.
34101 (GRUB_PE32_PE32_MAGIC): Likewise.
34102
34103 * include/grub/efi/uga_draw.h: New file.
34104
34105 * include/grub/elf.h (STN_ABS): New constant.
34106 (R_X86_64_NONE): Relocation constant for x86_64.
34107 (R_X86_64_64): Likewise.
34108 (R_X86_64_PC32): Likewise.
34109 (R_X86_64_GOT32): Likewise.
34110 (R_X86_64_PLT32): Likewise.
34111 (R_X86_64_COPY): Likewise.
34112 (R_X86_64_GLOB_DAT): Likewise.
34113 (R_X86_64_JUMP_SLOT): Likewise.
34114 (R_X86_64_RELATIVE): Likewise.
34115 (R_X86_64_GOTPCREL): Likewise.
34116 (R_X86_64_32): Likewise.
34117 (R_X86_64_32S): Likewise.
34118 (R_X86_64_16): Likewise.
34119 (R_X86_64_PC16): Likewise.
34120 (R_X86_64_8): Likewise.
34121 (R_X86_64_PC8): Likewise.
34122
34123 * include/grub/i386/efi/pci.h: New file.
34124
34125 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
34126 Change it value based on platform.
34127 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
34128 (GRUB_E820_RAM): Likewise.
34129 (GRUB_E820_RESERVED): Likewise.
34130 (GRUB_E820_ACPI): Likewise.
34131 (GRUB_E820_NVS): Likewise.
34132 (GRUB_E820_EXEC_CODE): Likewise.
34133 (GRUB_E820_MAX_ENTRY): Likewise.
34134 (grub_e820_mmap): New structure.
34135 (linux_kernel_header): Change the efi field according to different
34136 kernel version, also field from linux_kernel_header.
34137
34138 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
34139
34140 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
34141 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
34142 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
34143 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
34144 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
34145 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
34146 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
34147 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
34148 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
34149 (GRUB_PCI_ADDR_IO_MASK): Likewise.
34150
34151 * include/grub/x86_64/efi/kernel.h: New file.
34152
34153 * include/grub/x86_64/efi/loader.h: Likewise.
34154
34155 * include/grub/x86_64/efi/machine.h: Likewise.
34156
34157 * include/grub/x86_64/efi/pci.h: Likewise.
34158
34159 * include/grub/x86_64/efi/time.h: Likewise.
34160
34161 * include/grub/x86_64/linux.h: Likewise.
34162
34163 * include/grub/x86_64/setjmp.h: Likewise.
34164
34165 * include/grub/x86_64/time.h: Likewise.
34166
34167 * include/grub/x86_64/types.h: Likewise.
34168
34169 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
34170 GRUB_TARGET_SIZEOF_VOID_P.
34171
34172 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
34173 (grub_efi_locate_handle): Likewise.
34174 (grub_efi_open_protocol): Likewise.
34175 (grub_efi_set_text_mode): Likewise.
34176 (grub_efi_stall): Likewise.
34177 (grub_exit): Likewise.
34178 (grub_reboot): Likewise.
34179 (grub_halt): Likewise.
34180 (grub_efi_exit_boot_services): Likewise.
34181 (grub_get_rtc): Likewise.
34182
34183 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
34184 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
34185 (grub_efi_allocate_pages): Wrap efi calls.
34186 (grub_efi_free_pages): Wrap efi calls.
34187 (grub_efi_get_memory_map): Wrap efi calls.
34188
34189 * kern/x86_64/dl.c: New file.
34190
34191 * kern/x86_64/efi/callwrap.S: Likewise.
34192
34193 * kern/x86_64/efi/startup.S: Likewise.
34194
34195 * loader/efi/appleloader.c: Likewise.
34196
34197 * loader/efi/chainloader.c (cmdline): New variable.
34198 (grub_chainloader_unload): Wrap efi calls.
34199 (grub_chainloader_boot): Likewise.
34200 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
34201 command line.
34202
34203 * loader/efi/chainloader_normal.c (chainloader_command):
34204 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
34205 command line.
34206
34207 * loader/i386/efi/linux.c (allocate_pages): Change allocation
34208 method.
34209 (grub_e820_add_region): New function.
34210 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
34211 booting.
34212 (grub_find_video_card): New function.
34213 (grub_linux_setup_video): New function.
34214 (grub_rescue_cmd_linux): Probe for video information.
34215
34216 * normal/x86_64/setjmp.S: New file.
34217
34218 * term/efi/console.c (map_char): New function.
34219 (grub_console_putchar): Map unicode char.
34220 (grub_console_checkkey): Wrap efi calls.
34221 (grub_console_getkey): Likewise.
34222 (grub_console_getwh): Likewise.
34223 (grub_console_gotoxy): Likewise.
34224 (grub_console_cls): Likewise.
34225 (grub_console_setcolorstate): Likewise.
34226 (grub_console_setcursor): Likewise.
34227
34228 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
34229
59652a20 342302008-07-16 Pavel Roskin <proski@gnu.org>
34231
ef294055 34232 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
34233 format strings.
34234
59652a20 34235 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
34236 pointer, not an integer. This fixes a warning and prevents
34237 precision loss on 64-bit systems.
34238 (relocate_addresses): Remove unneeded cast.
34239
afc3b5d7 342402008-07-15 Pavel Roskin <proski@gnu.org>
34241
506b2b3e 34242 * kern/i386/ieee1275/init.c: Include grub/cache.h.
34243
62ead89c 34244 * term/ieee1275/ofconsole.c: Disable code unused on i386.
34245
c4cd51d7 34246 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
34247 Fix comparison between signed and unsigned.
34248
0d3d8f28 34249 * include/grub/i386/ieee1275/console.h: Declare
34250 grub_console_init() and grub_console_fini().
34251
8804b286 34252 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
34253 It's empty and unused.
34254
ee01cf35 34255 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
34256 beginning to avoid warnings with some compilers.
34257
afc3b5d7 34258 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
34259 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
34260
e4e8eaa5 342612008-07-14 Pavel Roskin <proski@gnu.org>
34262
407aceb4 34263 * kern/env.c (grub_register_variable_hook): Don't copy empty
34264 string, it leaks memory. Pass "" to grub_env_set(), it should
34265 handle constant strings.
34266
e4e8eaa5 34267 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
34268 * commands/cmp.c (grub_cmd_cmp): Likewise.
34269 * kern/dl.c (grub_dl_flush_cache): Likewise.
34270 (grub_dl_load_core): Likewise.
34271 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
34272 (grub_elf64_load_phdrs): Likewise.
34273
d4e2dad3 342742008-07-13 Pavel Roskin <proski@gnu.org>
34275
34276 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
34277 between signed and unsigned.
34278 (LzmaEnc_Finish): Fix warning about an unused parameter.
34279
aa24b516 342802008-07-13 Bean <bean123ch@gmail.com>
34281
34282 * Makefile.in (enable_lzo): New rule.
34283
34284 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
34285
34286 * configure.ac (ENABLE_LZO): New option --enable-lzo.
34287
34288 * boot/i386/pc/lnxboot.S: #include <config.h>.
34289
34290 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 34291 its value according to the compression algorithm used, lzo or lzma.
aa24b516 34292
34293 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
34294 compression algorithm according to configure macro.
34295
34296 * kern/i386/pc/startup.S (codestart): Likewise.
34297
34298 * kern/i386/pc/lzma_decode.S: New file.
34299
34300 * include/grub/lib/LzFind.h: Likewise.
34301
34302 * include/grub/lib/LzHash.h: Likewise.
34303
34304 * include/grub/lib/LzmaDec.h: Likewise.
34305
34306 * include/grub/lib/LzmaEnc.h: Likewise.
34307
34308 * include/grub/lib/LzmaTypes.h: Likewise.
34309
34310 * lib/LzFind.c: Likewise.
34311
34312 * lib/LzmaDec.c: Likewise.
34313
34314 * lib/LzmaEnc.c: Likewise.
34315
4ae821ac 343162008-07-13 Bean <bean123ch@gmail.com>
34317
34318 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
34319 (grub_ext4_extent_header): New structure.
34320 (grub_ext4_extent): Likewise.
34321 (grub_ext4_extent_idx): Likewise.
34322 (grub_ext4_find_leaf): New function.
34323 (grub_ext2_read_block): Handle extents.
34324
9a745147 343252008-07-12 Robert Millan <rmh@aybabtu.com>
34326
34327 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
34328
d49a4cf6 343292008-07-11 Robert Millan <rmh@aybabtu.com>
34330
34331 * util/grub.d/40_custom.in: New file. Example on how to add custom
34332 entries to /etc/grub.d.
34333 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
34334 40_custom (implicitly, by merging all the grub.d rules).
34335
947414b4 343362008-07-11 Pavel Roskin <proski@gnu.org>
34337
0059cf6f 34338 * commands/read.c (grub_getline): Fix invalid memory access.
34339 Don't add newline to the variable value.
34340
947414b4 34341 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
34342 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
34343 (serial_hw_get_port): Check validity of the port number.
34344 (grub_cmd_serial): Check return value of serial_hw_get_port().
34345
62a02d00 343462008-07-07 Pavel Roskin <proski@gnu.org>
34347
34348 * boot/i386/pc/diskboot.S (notification_string): Replace
34349 "Loading kernel" with just "loading". This is shorter, less
34350 confusing and saves a few bytes for possible future changes.
34351
3e5581b0 343522008-07-05 Pavel Roskin <proski@gnu.org>
34353
ea387a48 34354 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
34355 size for ATAPI devices, they are undefined. Output sector
34356 number in decimal form.
34357
3e5581b0 34358 * disk/ata.c: Use named constants for status bits.
34359
fdecb8fd 343602008-07-04 Pavel Roskin <proski@gnu.org>
34361
bcd35b90 34362 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
34363 grub_addr_t before casting it to the void pointer to fix a
34364 warning. Non-addressable regions are discarded earlier.
34365 (grub_arch_modules_addr): Cast _end to grub_addr_t.
34366 * kern/i386/linuxbios/table.c: Include grub/misc.h.
34367 (check_signature): Don't shadow table_header.
34368 (grub_linuxbios_table_iterate): Cast numeric constants to
34369 grub_linuxbios_table_header_t.
34370 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
34371 grub_stop().
34372
af58ab3d 34373 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
34374 prevent warnings.
34375
1759aa57 34376 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
34377 pointer, which can cause warnings. Support 64-bit addresses.
34378
fdecb8fd 34379 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
34380 of sizeof(long). This fixes PowerPC image generation on x86_64.
34381
8516d2a8 343822008-07-04 Robert Millan <rmh@aybabtu.com>
34383
34384 This fixes a performance issue when pc & gpt partmap iterators
34385 didn't abort iteration even after our hook found what it was
fe987087 34386 looking for (often causing expensive probes of non-existent drives).
8516d2a8 34387
34388 Some callers relied on previous buggy behaviour, since they would
34c44600 34389 raise an error when their own hooks caused early abortion of its
8516d2a8 34390 iteration.
34391
34392 * kern/device.c (grub_device_open): Improve error message.
34393 * disk/lvm.c (grub_lvm_open): Likewise.
34394 * disk/raid.c (grub_raid_open): Likewise.
34395
34396 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
34397 when hook requests it, independently of grub_errno.
34398 (pc_partition_map_probe): Do not fail when find_func() caused
34399 early abortion of pc_partition_map_iterate().
34400
34401 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
34402 when hook requests it, independently of grub_errno.
34403 (gpt_partition_map_probe): Do not fail when find_func() caused
34404 early abortion of gpt_partition_map_iterate().
34405
34406 * kern/partition.c (grub_partition_iterate): Abort parent iteration
34407 when hook requests it, independently of grub_errno. Do not fail when
34408 part_map_iterate_hook() caused early abortion of p->iterate().
34409
34410 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
34411 when grub_partition_iterate() returned with non-zero.
34412
277d0de9 344132008-07-03 Pavel Roskin <proski@gnu.org>
34414
34415 * disk/ata.c (grub_ata_pio_write): Check status before writing,
34416 like we do in grub_ata_pio_read().
34417 (grub_ata_readwrite): Always write individual sectors. Fix the
34418 sector count for the remainder.
34419 (grub_ata_write): Enable writing to ATA devices. Correctly
34420 report error for ATAPI devices.
34421
d4c9b428 344222008-07-02 Pavel Roskin <proski@gnu.org>
34423
e43fc690 34424 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
34425 warning.
34426
f707af42 34427 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
34428 for every read sector, we already increment it for the whole
34429 batch. This fixes reading more than 256 sectors at once.
34430
11e16b15 34431 * util/grub-editenv.c (cmd_info): Cast argument to long
34432 explicitly. ptrdiff_t reduces to int on i386.
34433
cbabfdd4 34434 * util/grub-editenv.c (main): Be specific which parameter is
34435 missing.
34436
b8fbce0a 34437 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
34438 (memdisk): Make memdisk_orig_addr a pointer.
34439
c9c8e606 34440 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
34441 for file offsets, use grub_off_t instead. Fix printf format
34442 warnings.
34443
ca62e598 34444 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
34445 there. Real unexpected warnings should not drown in the noise
34446 about known problems.
34447
ce8d1766 34448 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
34449 grub_disk_addr_t for memory addresses.
34450
00c7a56a 34451 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
34452 explicitly to fix a warning.
34453
08d3ef09 34454 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
34455
cb71ba20 34456 * Makefile.in (MODULE_LDFLAGS): New variable.
34457 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
34458 the linker accepts --build-id=none.
34459 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
34460 MODULE_LDFLAGS.
34461 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
34462
d4c9b428 34463 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
34464 those in Linux XFS code. Provide a way to access 64-bit parent
34465 inode.
34466 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
34467 the end of struct grub_xfs_dir_header.
34468
d4156eee 344692008-07-02 Bean <bean123ch@gmail.com>
34470
34471 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
34472 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
34473 and GRUB_IEEE1275_FLAG_NO_ANSI.
34474
34475 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
34476 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
34477 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
34478
34479 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
34480 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
34481
34482 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
34483 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
34484
34485 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
34486 esc sequence on non ANSI terminal.
34487 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
34488
34489 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
34490 beginning of file.
34491
2270f77b 344922008-07-02 Bean <bean123ch@gmail.com>
34493
34494 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
34495 (grub_editenv_SOURCES): New variable.
34496 (pkglib_MODULES): Add loadenv.mod.
34497 (loadenv_mod_SOURCES): New variable.
34498 (loadenv_mod_CFLAGS): Likewise.
34499 (loadenv_mod_LDFLAGS): Likewise.
34500
34501 * include/grub/envblk.h: New file.
34502
34503 * util/envblk.c: New file.
34504
34505 * util/grub-editenv.c: New file.
34506
34507 * commands/loadenv.c: New file.
34508
0e9e51ec 345092008-07-01 Pavel Roskin <proski@gnu.org>
34510
d89b7634 34511 * include/multiboot2.h (struct multiboot_tag_module): Use char,
34512 not unsigned char. This fixes warnings and is consistent with
34513 other tags.
34514
bf1835b1 34515 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
34516
8222a04b 34517 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
34518
6a42d99d 34519 * term/tparm.c (analyze): Always set *popcount.
34520
10b159d1 34521 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
34522 cast to fix a warning.
34523
b8789f6c 34524 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
34525 cast to suppress a warning.
34526
29d7e38a 34527 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
34528 grub_fshelp_read_file() expects.
34529
f341f669 34530 * fs/fat.c: Fix UUID calculation on big-endian systems. We
34531 write uuid as a 32-bit value in CPU byte order, so declare and
34532 use it as such.
34533
0e9e51ec 34534 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
34535 long if the format specifier expects it.
34536 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
34537 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34538 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
34539 long to fix a warning.
34540 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
34541 grub_dprintf() arguments to fix warnings.
34542
3aefa857 345432008-06-30 Pavel Roskin <proski@gnu.org>
34544
56c7668b 34545 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
34546 install_bsd_part immediately before core.img is embedded or
34547 modified on disk. This fixes core.img verification if core.img
34548 cannot be embedded.
34549
3aefa857 34550 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
34551 core_path to calculate the blocklist.
34552 Patch from Javier Martín <lordhabbit@gmail.com>
34553
5444088d 345542008-06-29 Robert Millan <rmh@aybabtu.com>
34555
34556 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
34557 block to disk block.
34558 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
34559 Patch from Niels Böhm <bitbucket@arcor.de>
34560
674835c8 345612008-06-29 Robert Millan <rmh@aybabtu.com>
34562
34563 * util/update-grub_lib.in (font_path): Search for fonts in
34564 /boot/grub first, which is more likely to be readable (we aren't
34565 deciding where fonts live, just looking for them).
34566
f527dbc8 345672008-06-26 Pavel Roskin <proski@gnu.org>
34568
6c2d8df6 34569 * util/biosdisk.c (read_device_map): Don't leave dead map
34570 entries for devices failing stat() check.
34571
f527dbc8 34572 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
34573 core_path_dev for the core.img path on the target device.
34574
aebe3d13 345752008-06-26 Robert Millan <rmh@aybabtu.com>
34576
34577 * disk/fs_uuid.c: New file.
34578 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
34579 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
34580 (fs_uuid_mod_LDFLAGS): New variables.
34581 * include/grub/disk.h (grub_disk_dev_id): Add
34582 `GRUB_DISK_DEVICE_UUID_ID'.
34583 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
34584 implement iterate().
34585
37aaf354 345862008-06-26 Robert Millan <rmh@aybabtu.com>
34587
34588 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
34589 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
34590 Linux image includes no initrd.
34591
25ff262a 345922008-06-21 Javier Martín <lordhabbit@gmail.com>
34593
34594 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
34595 call to resolve the core image location that effectively appended the
34596 name twice.
34597
76a2bd44 345982008-06-21 Robert Millan <rmh@aybabtu.com>
34599
34600 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
34601 call from here ...
34602
34603 * util/grub.d/10_hurd.in: ... to here ...
34604 * util/grub.d/10_linux.in: ... and here.
34605
650e1c79 346062008-06-19 Robert Millan <rmh@aybabtu.com>
34607
fe987087 34608 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 34609 after it has been set by grub_machine_set_prefix().
34610
6ce63911 346112008-06-19 Robert Millan <rmh@aybabtu.com>
34612
34613 * commands/search.c (search_label, search_fs_uuid, search_file): Print
34614 search result when not saving to variable, not the other way around.
34615 When saving to variable, abort iteration as soon as a match is found.
34616
73940cec 346172008-06-19 Robert Millan <rmh@aybabtu.com>
34618
34619 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
34620 check for partition that provides /boot/grub. Its logic is flawed,
34621 as it prevents prepare_grub_to_access_device() from being called
34622 multiple times.
34623
3c62a39d 346242008-06-19 Robert Millan <rmh@aybabtu.com>
34625
34626 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
34627 "insmod" command directly when abstraction modules are needed,
fe987087 34628 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 34629 since it had already been processed).
34630
47395a42 346312008-06-19 Pavel Roskin <proski@gnu.org>
34632
34633 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
34634 changed. This is needed in case GRUB_LIBDIR changes.
34635 * conf/i386-ieee1275.rmk: Likewise.
34636 * conf/i386-linuxbios.rmk: Likewise.
34637 * conf/i386-pc.rmk: Likewise.
34638 * conf/powerpc-ieee1275.rmk: Likewise.
34639
a145ac2d 346402008-06-18 Pavel Roskin <proski@gnu.org>
34641
34642 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
34643 kernel_elf_symlist.c to symlist.c for consistency with other
34644 architectures. Update all users.
34645 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34646
7847c51e 346472008-06-18 Robert Millan <rmh@aybabtu.com>
34648
34649 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
34650 it in prefix.
34651
34652 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
34653 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
34654 a RAID device, run setup() for all members independently on whether
34655 LVM abstraction is being used.
34656 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
34657 If grub-mkimage has set `*install_dos_part == -2', don't override this
34658 value.
34659 Perform *install_dos_part adjustments independently on whether
34660 we're embedding or not.
34661 Clarify error message when image is too big for embedding.
34662 Remove duplicate *install_dos_part stanza.
34663
b23e5644 346642008-06-17 Robert Millan <rmh@aybabtu.com>
34665
34666 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
34667 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
34668 variables.
34669 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
34670 values in grub_ofconsole_normal_color and
34671 grub_ofconsole_highlight_color (they're not directly related to
34672 background and foreground).
34673 (grub_ofconsole_setcolorstate): Extract background and foreground
34674 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
34675
0aac2f79 346762008-06-17 Robert Millan <rmh@aybabtu.com>
34677
34678 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
34679 /boot/grub for the check in last commit, not /boot (they could be
34680 different partitions).
34681
3cca7ef3 346822008-06-16 Robert Millan <rmh@aybabtu.com>
34683
34684 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
34685 asked to setup access for the same partition that provides /boot,
34686 don't bother using UUIDs since our root already has the value we
34687 want.
34688
347396d8 346892008-06-16 Robert Millan <rmh@aybabtu.com>
34690
34691 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
34692 I2O devices.
34693 Patch from Sven Mueller <sven@debian.org>.
34694
991477f8 346952008-06-16 Robert Millan <rmh@aybabtu.com>
34696
34697 * util/update-grub.in: Check for $EUID instead of $UID.
34698 Reported by Vincent Zweije.
34699
d31a32a1 347002008-06-16 Bean <bean123ch@gmail.com>
34701
fe987087 34702 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 34703 (grub_ext2_read_block): Likewise.
34704 (grub_ext2_read_inode): Likewise.
34705 (grub_ext2_mount): Likewise.
34706 (grub_ext2_close): Likewise.
34707 (grub_ext3_get_journal): Removed.
34708
fe987087 34709 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 34710 (grub_reiserfs_read_symlink): Likewise.
34711 (grub_reiserfs_mount): Likewise.
34712 (grub_reiserfs_open): Likewise.
34713 (grub_reiserfs_read): Likewise.
34714 (grub_reiserfs_close): Likewise.
34715 (grub_reiserfs_get_journal): Removed.
34716
34717 * fs/fshelp.c (grub_fshelp_read): Removed.
34718 (grub_fshelp_map_block): Likewise.
34719
34720 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
34721 (grub_fshelp_journal): Likewise.
34722 (grub_fshelp_read): Likewise.
34723 (grub_fshelp_map_block): Likewise.
34724
3540a760 347252008-06-16 Pavel Roskin <proski@gnu.org>
34726
34727 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
34728 floating point anymore.
34729 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
34730
95614c84 347312008-06-15 Pavel Roskin <proski@gnu.org>
34732
34733 * commands/ls.c (grub_ls_list_files): Use integer calculations
34734 for human readable format, avoid floating point use.
34735 * kern/misc.c (grub_ftoa): Remove.
34736 (grub_vsprintf): Remove floating point support.
34737
50465dd6 347382008-06-15 Robert Millan <rmh@aybabtu.com>
34739
fe6b695a 34740 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 34741 devices.
34742 Reported by Max Vozeler.
34743
a9207284 347442008-06-15 Robert Millan <rmh@aybabtu.com>
34745
34746 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
34747 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
34748 skipped later.
34749 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
34750 the beginning of the prefix.
34751
34752 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
34753 It is assumed that if we have a memdisk, grub-mkimage has set
34754 grub_prefix to include the "(memdisk)" drive in it.
34755
a7cbd45a 347562008-06-15 Robert Millan <rmh@aybabtu.com>
34757
34758 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
34759 Initialize keyboard controller after registering the terminal, so that
34760 grub_printf() can be called from grub_keyboard_controller_init().
34761
21cf716a 347622008-06-15 Robert Millan <rmh@aybabtu.com>
34763
34764 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
34765 extent-btree which is written as big endian on disk.
34766 Reported by Alain Greppin <al@chilibi.org>.
34767
23a64d8e 347682008-06-14 Robert Millan <rmh@aybabtu.com>
34769
34770 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
34771 * util/i386/pc/grub-install.in (modules): Likewise.
34772
d687651c 347732008-06-13 Pavel Roskin <proski@gnu.org>
34774
34775 * commands/ls.c (grub_ls_list_files): Fix format warnings.
34776
dfe9ddd4 347772008-06-13 Bean <bean123ch@gmail.com>
34778
34779 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
34780
34781 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
34782
34783 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
34784 to indicate sparse block.
34785
16ae7781 347862008-06-12 Pavel Roskin <proski@gnu.org>
34787
e6d1a308 34788 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
34789 number, grub_fshelp_read() does it for us.
34790
16ae7781 34791 * fs/fshelp.c (grub_fshelp_read): New function. Implement
34792 linear disk read with journal translation.
34793 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
34794 * include/grub/fshelp.h: Declare grub_fshelp_read().
34795
40fd3a2b 347962008-06-09 Pavel Roskin <proski@gnu.org>
34797
34798 * fs/minix.c (grub_minix_mount): Handle error reading
34799 superblock.
34800
f5679726 348012008-06-08 Robert Millan <rmh@aybabtu.com>
34802
34803 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
34804 don't append the RAID prefix afterwards.
34805 Reported by Clint Adams.
34806
ce525529 348072008-06-08 Robert Millan <rmh@aybabtu.com>
34808
34809 Based on description from Pavel:
34810 * kern/disk.c (grub_disk_check_range): Rename to ...
34811 (grub_disk_adjust_range): ... this. Add a comment explaining the
34812 tasks performed by this function.
34813
ad4936a0 348142008-06-08 Robert Millan <rmh@aybabtu.com>
34815
34816 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
34817 `num_serial' (for consistency with other variables).
34818 (struct grub_ntfs_data): Add `uuid' member.
34819 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
34820 (grub_ntfs_uuid): New function.
34821 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
34822
dc20b0f9 348232008-06-07 Pavel Roskin <proski@gnu.org>
34824
34825 * util/biosdisk.c (open_device): Revert last change to the
34826 function, it broke installation. The sector needs to be
34827 different dependent on which device is opened.
34828
c5e3cfba 348292008-06-06 Robert Millan <rmh@aybabtu.com>
34830
34831 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
34832 rest of GRUB, and breakage doesn't happen if its value were modified.
34833
34834 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
34835 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
34836 a constant (same value).
34837 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
34838 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
34839
26a1f8c4 348402008-06-06 Robert Millan <rmh@aybabtu.com>
34841
34842 * util/biosdisk.c (open_device): Do not modify sector offset when
34843 accessing a partition. kern/disk.c already handles this for us.
34844
25d6b327 348452008-06-06 Robert Millan <rmh@aybabtu.com>
34846
34847 * util/grub-emu.c (grub_machine_init): Move code in this function from
34848 here ...
34849 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
34850 segfault in case grub_printf() is called).
34851
34852 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
34853 grub_probe. Update all users not to explicitly add it again.
34854 (grub_device): New variable; contains corresponding device for grubdir.
34855 (fs_module, partmap_module, devabstraction_module): Pass
34856 `--device ${grub_device}' to grub_probe to avoid traversing /dev
34857 every time.
34858
9ece62fb 348592008-06-05 Robert Millan <rmh@aybabtu.com>
34860
34861 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
34862 is found, print it (same layout as with labels).
34863
1ad36d37 348642008-06-04 Robert Millan <rmh@aybabtu.com>
34865
34866 * util/biosdisk.c (get_drive): Rename to ...
34867 (find_grub_drive): ... this. Update all users.
34868
34869 (get_os_disk): Rename to ...
34870 (convert_system_partition_to_system_disk): ... this. Update all users.
34871
34872 (find_drive): Rename to ...
34873 (find_system_device): ... this. Update all users.
34874
e6a30859 348752008-06-04 Robert Millan <rmh@aybabtu.com>
34876
34877 * util/biosdisk.c (get_os_disk): Handle IDA devices.
34878 * util/grub-mkdevicemap.c (get_mmc_disk_name)
34879 (make_device_map): Likewise.
34880
00c108a4 348812008-06-01 Robert Millan <rmh@aybabtu.com>
34882
34883 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
34884 before dereferencing it.
34885
34886 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
34887 union with fat12/fat16-specific ones. Add some new fields, including
34888 `num_serial' for both versions.
34889 (struct grub_fat_data): Add `uuid' member.
34890 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
34891 names. Initialize `data->uuid' using `num_serial'.
34892 (grub_fat_uuid): New function.
34893 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
34894
34895 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
34896 (grub_reiserfs_uuid): New function.
34897 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
34898 member.
34899
34900 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
34901 (grub_xfs_uuid): New function.
34902 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
34903
1385c5bb 349042008-06-01 Robert Millan <rmh@aybabtu.com>
34905
34906 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
34907 code that is backward compatible with pre-uuid search command.
34908
c682dfd7 349092008-05-31 Robert Millan <rmh@aybabtu.com>
34910
34911 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
34912 floppies after everything else, to ensure floppy drive isn't accessed
34913 unnecessarily (patch from Bean).
34914
b7db5d47 349152008-05-31 Robert Millan <rmh@aybabtu.com>
34916
34917 * commands/search.c (search_label, search_fs_uuid, search_file): Do
34918 not print device names when we were asked to set a variable.
34919
6e037aa9 349202008-05-31 Robert Millan <rmh@aybabtu.com>
34921
34922 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
34923 using "cursor-on" and "cursor-off" commands (understood at least by
34924 the Open Firmware flavour on OLPC).
34925
41305bc8 349262008-05-31 Michael Gorven <michael@gorven.za.net>
34927
34928 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
34929 on and off sequences.
34930
69ba137e 349312008-05-31 Robert Millan <rmh@aybabtu.com>
34932
34933 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
34934 * util/update-grub.in: Likewise.
34935
520ae21b 349362008-05-30 Pavel Roskin <proski@gnu.org>
34937
34938 * util/biosdisk.c (linux_find_partition): Simplify logic and
34939 make the code more universal. Keep special processing for
34940 devfs, but use a simple rule for all other devices. If the
34941 device ends with a number, append 'p' and the partition number.
34942 Otherwise, append only the partition number.
34943
5786569b 349442008-05-30 Robert Millan <rmh@aybabtu.com>
34945
34946 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
34947 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
34948 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
34949 the `root' parameter to Linux.
34950
51500452 349512008-05-30 Robert Millan <rmh@aybabtu.com>
34952
34953 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
34954 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
34955 --fs_uuid with --fs-uuid.
34956 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
34957 all filesystems support them).
34958
811d3878 349592008-05-30 Robert Millan <rmh@aybabtu.com>
34960
34961 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 34962 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 34963
cab63c95 349642008-05-30 Robert Millan <rmh@aybabtu.com>
34965
34966 * util/grub.d/00_header.in: Remove obsolete comment referencing
34967 convert_system_path_to_grub_path().
34968 * util/update-grub.in: Likewise.
34969 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
34970 (convert_system_path_to_grub_path): Add a warning message explaining
34971 that this function is deprecated. Rely on is_path_readable_by_grub()
34972 for the readability checks.
34973 (font_path): Use is_path_readable_by_grub() for the readability
34974 check rather than convert_system_path_to_grub_path().
34975
972e2f7a 349762008-05-30 Robert Millan <rmh@aybabtu.com>
34977
34978 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
34979 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
34980 converting it first.
34981 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
34982 grub.cfg for access to font file, and afterwards call it again to set
34983 the root device.
34984
62191274 349852008-05-30 Robert Millan <rmh@aybabtu.com>
34986
34987 * commands/search.c (options): Add --fs_uuid option.
34988 (search_fs_uuid): New function.
34989 (grub_cmd_search): Fix --set argument passing.
34990 Use search_fs_uuid() when requested via --fs_uuid.
34991 (grub_search_init): Update help message.
34992 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
34993 and redeclare it as an array of 16-bit words.
34994 (grub_ext2_uuid): New function.
34995 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
34996 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
34997 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
34998 (GRUB_DEVICE_BOOT_UUID): New variables.
34999 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
35000 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
35001 whenever possible.
35002 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
35003 just assume `root' variable has the right value.
35004 * util/grub.d/10_linux.in: Likewise.
35005 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
35006 via PRINT_FS_UUID.
35007 (main): Recognise `-t fs_uuid' argument.
35008
01b73ec8 350092008-05-30 Robert Millan <rmh@aybabtu.com>
35010
35011 * util/biosdisk.c (map): Redefine structure to hold information
35012 about GRUB drive name.
fe6b695a 35013 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 35014 drive names.
35015 (call_hook): Remove.
35016 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
35017 member. Assume drive has partitions.
35018 (grub_util_biosdisk_open): Access device names via `.device' struct
35019 member.
35020 (open_device): Likewise.
35021 (find_drive): Likewise.
35022 (read_device_map): Adjust map[] usage to match the new struct
35023 definition. Don't check for duplicates (still possible, but not cheap
35024 anymore).
35025 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
35026 (make_device_name): Remove assumption of BIOS-like drive names.
35027
22f16596 350282008-05-30 Pavel Roskin <proski@gnu.org>
35029
35030 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
35031 compiling execute.c doesn't need grub_script.tab.h anymore.
35032 (normal/command.c_DEPENDENCIES): Likewise.
35033 (normal/function.c_DEPENDENCIES): Likewise.
35034 * conf/i386-ieee1275.rmk: Likewise.
35035 * conf/i386-linuxbios.rmk: Likewise.
35036 * conf/i386-pc.rmk: Likewise.
35037 * conf/powerpc-ieee1275.rmk: Likewise.
35038 * conf/sparc64-ieee1275.rmk: Likewise.
35039
528ad8f2 350402008-05-29 Pavel Roskin <proski@gnu.org>
35041
d1dff95d 35042 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
35043 when scanning metadata for volume group name.
35044
528ad8f2 35045 * include/grub/script.h: Don't include grub_script.tab.h. It's
35046 a generated file, which may only be included from the files with
35047 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
35048 use union YYSTYPE, as the later allows forward declaration.
35049 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
35050
47248e08 350512008-05-29 Robert Millan <rmh@aybabtu.com>
35052
35053 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
35054 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
35055 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
35056 (grub_console_checkkey): Add grub_dprintf() call to report unknown
35057 scan codes.
35058
ee632529 350592008-05-29 Robert Millan <rmh@aybabtu.com>
35060
35061 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
35062 control key combinations.
35063
eee96e08 350642008-05-29 Robert Millan <rmh@aybabtu.com>
35065
35066 * util/powerpc/ieee1275/grub-install.in: Move from here ...
35067 * util/ieee1275/grub-install.in: ... to here.
35068 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
35069 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
35070 (grub_install_SOURCES): Likewise.
35071
da9a6a94 350722008-05-29 Robert Millan <rmh@aybabtu.com>
35073
35074 * fs/affs.c: Update copyright year.
35075 * fs/ext2.c: Likewise.
35076 * fs/fshelp.c: Likewise.
35077 * fs/hfsplus.c: Likewise.
35078 * fs/ntfs.c: Likewise.
35079 * fs/xfs.c: Likewise.
35080 * include/grub/fshelp.h: Likewise.
35081 * util/grub-mkdevicemap.c: Likewise.
35082
12e65f3a 350832008-05-28 Robert Millan <rmh@aybabtu.com>
35084
35085 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
35086 might need to be fatfs to support some firmware implementations
35087 (e.g. OFW or EFI).
35088
23023641 350892008-05-28 Robert Millan <rmh@aybabtu.com>
35090
35091 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
35092 devices.
35093 * util/grub-mkdevicemap.c (get_mmc_disk_name)
35094 (make_device_map): Likewise.
35095
887d2619 350962008-05-20 Bean <bean123ch@gmail.com>
35097
35098 * fs/fshelp.c (grub_fshelp_map_block): New function.
35099 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
35100 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
35101
35102 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
35103 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
35104 (grub_fshelp_journal): New structure.
35105 (grub_fshelp_map_block): New function prototype.
35106 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
35107 (grub_fshelp_map_block): Likewise.
35108
35109 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
35110 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
35111 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
35112 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
35113 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
35114 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
35115 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
35116 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
35117 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
35118 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
35119 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
35120 (grub_ext2_sblock): New members for journal support.
35121 (grub_ext3_journal_header): New structure.
35122 (grub_ext3_journal_revoke_header): Likewise.
35123 (grub_ext3_journal_block_tag): Likewise.
35124 (grub_ext3_journal_sblock): Likewise.
35125 (grub_fshelp_node): New members logfile and journal.
35126 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
35127 grub_fshelp_map_block to get real block number.
35128 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
35129 number.
35130 (grub_ext2_read_inode): Likewise.
35131 (grub_ext3_get_journal): New function.
35132 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
35133 (grub_ext2_close): Release memory used by journal.
35134
35135 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
35136 (REISERFS_MAGIC_DESC_BLOCK): New macro.
35137 (grub_reiserfs_transaction_header): Renamed to
35138 grub_reiserfs_description_block, replace field data with real_blocks.
35139 (grub_reiserfs_commit_block): New structure.
35140 (grub_reiserfs_data): New member journal.
35141 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
35142 number.
35143 (grub_reiserfs_read_symlink): Likewise.
35144 (grub_reiserfs_iterate_dir): Likewise.
35145 (grub_reiserfs_open): Likewise.
35146 (grub_reiserfs_read): Likewise.
35147 (grub_reiserfs_get_journal): New function.
35148 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
35149 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
35150 using grub_reiserfs_get_journal.
35151 (grub_reiserfs_close): Release memory used by journal.
35152
35153 * fs/affs.c (grub_affs_read_block): Change block type to
35154 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
35155
35156 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
35157
35158 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
35159
35160 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
35161
35162 * fs/udf.c (grub_udf_read_block): Change block type to
35163 grub_disk_addr_t. Use type cast to avoid warning.
35164
35165 * fs/xfs.c (grub_xfs_read_block): Likewise.
35166
b7c6bed5 351672008-05-16 Christian Franke <franke@computer.org>
35168
35169 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
35170 to ensure that break with ESC will always work.
35171 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
35172 Remove ESC from keyboard queue.
35173
eedf167f 351742008-05-16 Christian Franke <franke@computer.org>
35175
35176 * util/biosdisk.c: [__CYGWIN__] Add includes.
35177 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
35178 (get_os_disk): Move variable declarations to OS specific
35179 parts to avoid warning.
35180 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
35181 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
35182 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
35183 Cygwin.
35184 * util/getroot.c: [__CYGWIN__] Add includes.
35185 (strip_extra_slashes): Fix "/" case.
35186 [__CYGWIN__] (get_win32_path): New function.
35187 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
35188 [__CYGWIN__] (find_root_device): Disable.
35189 [__CYGWIN__] (get_bootsec_serial): New function.
35190 [__CYGWIN__] (find_cygwin_root_device): Likewise.
35191 [__linux__] (grub_guess_root_device): Add early returns to simplify
35192 structure.
35193 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
35194 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
35195 check for Linux only.
35196
a079699e 351972008-05-15 Bean <bean123ch@gmail.com>
35198
35199 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
35200 keyboard hang problem in apple's intel mac.
35201
1cf4059a 352022008-05-09 Robert Millan <rmh@aybabtu.com>
35203
35204 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
35205 devices.
35206 * util/grub-mkdevicemap.c (get_virtio_disk_name)
35207 (make_device_map): Likewise.
35208 Reported by Aurelien Jarno <aurel32@debian.org>
35209
ed759390 352102008-05-07 Ian Campbell <ijc@hellion.org.uk>
35211
35212 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
35213 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
35214 (make_device_map): Output entries for xvd type disks.
35215
b56c4eaa 352162008-05-07 Robert Millan <rmh@aybabtu.com>
35217
35218 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
35219 devices.
35220 * util/grub-mkdevicemap.c (get_cciss_disk_name)
35221 (make_device_map): Likewise.
35222 Reported by Roland Dreier <rdreier@cisco.com>
35223
7f8866ed 352242008-05-07 Robert Millan <rmh@aybabtu.com>
35225
35226 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
35227 grub_strstr() call. Correct a few mistakes in failure path handling.
35228
b0346e0f 352292008-05-06 Robert Millan <rmh@aybabtu.com>
35230
35231 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
35232 Do not print a trailing slash (therefore, the root directory is an
35233 empty string).
35234 (convert_system_path_to_grub_path): Do not remove trailing slash
35235 from make_system_path_relative_to_its_root() output.
35236
35237 * util/i386/pc/grub-install.in: Add trailing slash to output from
35238 make_system_path_relative_to_its_root().
35239
6cf12cbd 352402008-05-06 Robert Millan <rmh@aybabtu.com>
35241
35242 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
35243 ensures that output lines aren't intermangled with those sent to
35244 stderr (via grub_util_info()).
35245 * util/grub-probe.c (grub_refresh): Likewise.
35246 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
35247
0fbb3117 352482008-05-05 Christian Franke <franke@computer.org>
35249
35250 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
35251 Add Cygwin device names.
35252 (get_ide_disk_name) [__CYGWIN__]: Likewise.
35253 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
35254 (check_device): Return error instead of success on empty name.
35255 (make_device_map): Move label inside linux specific code to
35256 prevent compiler warning.
35257
8124cdb7 352582008-04-30 Robert Millan <rmh@aybabtu.com>
35259
35260 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
35261 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
35262 first boot option.
35263 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
35264
094c01d0 352652008-04-29 Robert Millan <rmh@aybabtu.com>
35266
35267 * docs/grub.cfg: New file (example GRUB configuration).
35268
f4b1fc02 352692008-04-26 Robert Millan <rmh@aybabtu.com>
35270
329ce2a5 35271 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
35272 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
35273 and `disk/ieee1275/nand.c'.
f4b1fc02 35274
25f16ec1 352752008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 35276
25f16ec1 35277 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
35278 i386-linuxbios.
35279
35280 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
35281 change the buffer size to 4096 for cdrom device.
35282
35283 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
35284 and nand.mod.
35285 (_linux_mod_SOURCES): New variable.
35286 (_linux_mod_CFLAGS): Likewise.
35287 (_linux_mod_LDFLAGS): Likewise.
35288 (linux_mod_SOURCES): Likewise.
35289 (linux_mod_CFLAGS): Likewise.
35290 (linux_mod_LDFLAGS): Likewise.
35291 (nand_mod_SOURCES): Likewise.
35292 (nand_mod_CFLAGS): Likewise.
35293 (nand_mod_LDFLAGS): Likewise.
35294
35295 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
35296 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
35297 type property. (nand device in olpc don't have this property)
35298
35299 * include/grub/disk.h (grub_disk_dev_id): New macro
35300 GRUB_DISK_DEVICE_NAND_ID.
35301
35302 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
35303 function prototype.
35304 (grub_rescue_cmd_initrd): Likewise.
35305
35306 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
35307 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
35308 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 35309
25f16ec1 35310 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
35311 GRUB_MACHINE_IEEE1275 is defined.
35312
35313 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
35314 Use NESTED_FUNC_ATTR attribute on the hook parameter.
35315
35316 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
35317 on nested function heap_init.
35318 (grub_upper_mem): New variable for i386-ieee1275.
35319 (grub_get_extended_memory): New function for i386-ieee1275.
35320 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
35321
35322 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
35323 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
35324 property.
f19dbdb7 35325
25f16ec1 35326 * loader/i386/ieee1275/linux.c: New file.
35327
35328 * loader/i386/ieee1275/linux_normal.c: New file.
35329
35330 * disk/ieee1275/nand.c: New file.
35331
e89d61e9 353322008-04-18 Thomas Schwinge <tschwinge@gnu.org>
35333
35334 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
35335 value.
35336 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
35337
602566f6 353382008-04-18 Robert Millan <rmh@aybabtu.com>
35339
35340 Restructures early code path on ieee1275 to unify grub_main() as
35341 the first C function that is executed in every platform.
35342
35343 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
35344 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
35345 cmain().
35346 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
35347 * kern/ieee1275/cmain.c (cmain): Rename to ...
35348 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
35349 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
35350 at the beginning.
35351
57490c2b 353522008-04-18 Robert Millan <rmh@aybabtu.com>
35353
35354 * util/update-grub.in: Fix syntax error when setting
35355 `GRUB_PRELOAD_MODULES'.
35356 Reported by Stephane Chazelas <stephane@artesyncp.com>
35357
1977517d 353582008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
35359
35360 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
35361 section into account, newer toolchains generate unique build ids
35362 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 35363 we want build ids to be preserved
1977517d 35364 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
35365 far from other sections don't cause the raw binary images grow
35366 size
35367
bfb1f1a2 353682008-04-15 Robert Millan <rmh@aybabtu.com>
35369
35370 * disk/lvm.c: Update copyright year.
35371 * kern/misc.c: Likewise.
35372
01979850 353732008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
35374
35375 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 35376 there is no memory left for physical volume name.
01979850 35377
0a1150e2 353782008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
35379
35380 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
35381 volume name mapping to support bigger than 9 character names properly.
35382
82ead3fe 353832008-04-13 Robert Millan <rmh@aybabtu.com>
35384
35385 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
35386 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
35387
e54a72f5 353882008-04-13 Christian Franke <franke@computer.org>
35389
35390 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
35391 to create a floppy emulation boot CD when non emulation mode
35392 does not work.
35393 Enable Joliet CD filesystem extension.
35394
9fe86034 353952008-04-13 Robert Millan <rmh@aybabtu.com>
35396
35397 * kern/misc.c (grub_strncat): Fix off-by-one error.
35398 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
35399
35400 * kern/env.c (grub_env_context_close): Clear current context, not
35401 previous one.
35402 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
35403
35404 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
35405
7ceeee39 354062008-04-13 Robert Millan <rmh@aybabtu.com>
35407
35408 Improve robustness when handling LVM.
35409
35410 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 35411 (and leave `*p' unmodified).
7ceeee39 35412 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
35413 through it.
35414 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
35415 iterating through it.
35416 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
35417 through it.
fe6b695a 35418 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 35419 when due) on each grub_lvm_getvalue() or grub_strstr() call.
35420 Don't assume `vg->pvs != NULL' when iterating through it.
35421
58cd3d85 354222008-04-13 Robert Millan <rmh@aybabtu.com>
35423
35424 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
35425 * genmk.rb (partmap): New variable.
35426 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
35427 (#{partmap}): New target rule.
35428 * genpartmaplist.sh: New file.
35429 * Makefile.in (pkglib_DATA): Add partmap.lst.
35430 (partmap.lst): New target rule.
35431 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
35432 modules (including all partition maps), instead of preloading them.
35433
78b51059 354342007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
35435
35436 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
35437 `linux-boot-prober' (if installed) to detect other operating
35438 systems which are installed on the computer and add them to
35439 the boot menu.
35440 * conf/common.rmk: Build and install 30_os-prober.
35441
a91627b4 354422008-04-12 Robert Millan <rmh@aybabtu.com>
35443
35444 * kern/powerpc/ieee1275/init.c: Move from here ...
35445 * kern/ieee1275/init.c: ... to here. Update all users.
35446
35447 * kern/powerpc/ieee1275/cmain.c: Move from here ...
35448 * kern/ieee1275/cmain.c: ... to here. Update all users.
35449
35450 * kern/powerpc/ieee1275/openfw.c: Move from here ...
35451 * kern/ieee1275/openfw.c: ... to here. Update all users.
35452
35453 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
35454 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
35455
322562ea 354562008-04-10 Pavel Roskin <proski@gnu.org>
35457
35458 * configure.ac: Always use "_cv_" in cache variables for
35459 compatibility with Autoconf 2.62.
35460
a02a73c5 354612008-04-07 Robert Millan <rmh@aybabtu.com>
35462
35463 Revert grub/machine/init.h addition by Pavel (since it breaks on
35464 i386-ieee1275 and others):
35465 * util/i386/pc/misc.c: Remove grub/machine/init.h.
35466 * util/powerpc/ieee1275/misc.c: Likewise.
35467
25c024b1 354682008-04-07 Robert Millan <rmh@aybabtu.com>
35469
35470 * util/grub-probe.c (probe): Improve error message.
35471
3cbd2f98 354722008-04-07 Robert Millan <rmh@aybabtu.com>
35473
35474 * util/biosdisk.c (read_device_map): Skip devices that don't exist
35475 (this prevents the presence of a bogus entry from ruining the whole
35476 thing).
35477
87a297bf 354782008-04-06 Pavel Roskin <proski@gnu.org>
35479
36747a62 35480 * util/biosdisk.c: Include grub/util/biosdisk.h.
35481 * util/grub-fstest.c (execute_command): Make static.
35482 * util/grub-mkdevicemap.c (check_device): Likewise.
35483 * util/i386/pc/misc.c: Include grub/machine/init.h.
35484 * util/powerpc/ieee1275/misc.c: Likewise.
35485 * util/lvm.c: Include grub/util/lvm.h.
35486 * util/misc.c: Include grub/kernel.h, grub/misc.h and
35487 grub/cache.h.
35488 * util/raid.c: Include grub/util/raid.h.
35489 (grub_util_getdiskname): Make static.
35490
87a297bf 35491 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
35492 grub_hostfs_fini(), as they are called from grub_init_all() and
35493 grub_fini_all() respectively. This fixes an infinite loop in
35494 grub-fstest due to double registration of hostfs.
35495 Reported by Christian Franke <Christian.Franke@t-online.de>
35496
f6ce7629 354972008-04-05 Pavel Roskin <proski@gnu.org>
35498
35499 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
35500 all 8 functions. Otherwise, probe function 0 only.
35501
070e49e4 355022008-04-04 Pavel Roskin <proski@gnu.org>
35503
8b088a4c 35504 * commands/lspci.c (grub_lspci_iter): Print the bus number
35505 correctly.
35506
4f657021 35507 * commands/lspci.c (grub_pci_classes): Fix typos.
35508 (grub_lspci_iter): Don't print func twice. Print vendor ID
35509 before device ID, as it's normally done.
35510
070e49e4 35511 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
35512 Fix signedness warnings.
35513 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
35514 Likewise.
35515 * util/ieee1275/get_disk_name.c: Include config.h so that
35516 _GNU_SOURCE is defined and getline() is declared. Mark an
35517 unused argument as such. Fix a signedness warning.
35518
ba7328dc 355192008-04-02 Pavel Roskin <proski@gnu.org>
35520
26887f22 35521 * genkernsyms.sh.in: Use more robust assignments for CC and
35522 srcdir. Quote srcdir.
35523 * gensymlist.sh.in: Likewise. Assert at the compile time that
35524 the symbol table is not empty.
35525
ba7328dc 35526 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
35527 * fs/cpio.c (grub_cpio_read): Likewise.
35528
0f582c6b 355292008-04-01 Pavel Roskin <proski@gnu.org>
35530
4b6e1995 35531 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
35532 * disk/host.c (grub_host_open): Likewise.
35533 * disk/loopback.c (grub_loopback_open): Likewise.
35534 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
35535 disk->id as in disk/host.c, not a multi-character constant.
35536
828a2768 35537 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
35538 later is obsolete, potentially dangerous and sets a bad example.
35539 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
35540 * util/misc.c (grub_util_get_image_size): Likewise.
35541
2bb4fb47 35542 * disk/loopback.c (options): Improve help for "--partitions".
35543
0f582c6b 35544 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
35545 options to align them with the short options, e.g. "echo -e".
35546
a33224e0 355472008-03-31 Bean <bean123ch@gmail.com>
35548
35549 * video/reader/png.c (grub_png_data): New member is_16bit and
35550 image_data.
35551 (grub_png_decode_image_header): Detect 16 bit png image.
35552 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
35553 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
35554 (grub_video_reader_png): Release memory occupied by image_data.
35555
35556 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
35557 4096 bytes.
35558 (grub_nfs_mount): Skip the test for sector per cluster.
35559
35560 * include/grub/ntfs.h (MAX_SPC): Removed.
35561
86cb4f54 355622008-03-31 Bean <bean123ch@gmail.com>
35563
35564 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
35565 (grub_probe_SOURCES): Add fs/afs.c.
35566 (grub_fstest_SOURCES): Likewise.
35567 (afs_mod_SOURCES): New variable.
35568 (afs_mod_CFLAGS): Likewise.
35569 (afs_mod_LDFLAGS): Likewise.
35570
35571 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
35572 (grub_emu_SOURCES): Likewise.
35573
35574 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35575
35576 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35577
35578 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35579
35580 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35581
35582 * fs/afs.c: New file.
35583
17c74c21 355842008-03-30 Pavel Roskin <proski@gnu.org>
35585
4cb68e89 35586 * disk/host.c: Include grub/misc.h to fix a warning.
35587 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
35588 warnings about implicit declarations.
35589
8790bb04 35590 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
35591 variable.
35592 * include/grub/i386/loader.h: Change declaration of
35593 grub_linux_boot() to match what grub_loader_set() expects.
35594 * util/getroot.c (grub_guess_root_device): Return const char* to
35595 fix a warning.
35596 * util/grub-probe.c (probe): Fix a warning about uninitialized
35597 abstraction_name variable.
35598 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
35599 second argument as unused to fix a warning.
35600
9a3f3296 35601 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
35602 missing grub_error() call.
35603
0ecef90d 35604 * util/update-grub_lib.in: Define datarootdir, since Autoconf
35605 2.60 and newer uses it to define datadir.
35606
0bf6d401 35607 * commands/sleep.c: Fix warning about implicit declaration.
35608 * disk/memdisk.c: Likewise.
35609 * loader/aout.c: Likewise.
35610 * loader/i386/bsd_normal.c: Likewise.
35611 * util/grub-probe.c: Likewise.
35612
7cdacf97 35613 * commands/i386/cpuid.c (has_longmode): Make static.
35614 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
35615 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
35616
17c74c21 35617 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
35618 GDT. This is more robust, as %ds can change.
35619 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
35620 calling real_to_prot().
35621 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
35622
80a3e68b 356232008-03-28 Pavel Roskin <proski@gnu.org>
35624
35625 * kern/i386/pc/startup.S: Assert that uncompressed functions
35626 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
35627 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
35628 code, as they push parts of the code (error handlers) beyond
35629 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
35630 code as correctness and size.
35631
77bcd272 356322008-03-28 Pavel Roskin <proski@gnu.org>
35633
35634 * kern/i386/pc/startup.S
35635 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
35636 data block address to the real mode, keep offset minimal. This
35637 works around a bug in AWARD BIOS on old Athlon systems, which
35638 makes CD detection hang.
35639
c5dfd43b 356402008-03-26 Pavel Roskin <proski@gnu.org>
35641
35642 * normal/color.c (grub_parse_color_name_pair): Make `name' a
35643 const.
35644 * include/grub/normal.h: Add grub_parse_color_name_pair()
35645 declaration.
35646
bf962df2 356472008-03-24 Bean <bean123ch@gmail.com>
35648
35649 * disk/i386/pc/biosdisk.c (cd_start): Removed.
35650 (cd_count): Removed.
35651 (cd_drive): New variable.
35652 (grub_biosdisk_get_drive): Don't check for (cdN) device.
35653 (grub_biosdisk_call_hook): Likewise.
35654 (grub_biosdisk_iterate): Change cdrom detection method.
35655 (grub_biosdisk_open): Replace cd_start with cd_drive.
35656 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
35657 detect cdrom device.
35658
35659 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
35660 Removed.
35661 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
35662 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
35663 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
35664 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
35665 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
35666 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
35667 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
35668 (grub_biosdisk_cdrp): New structure.
35669 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
35670
35671 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
35672
35673 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
35674 device.
35675
35676 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
35677 New function.
35678
68e7fc7a 356792008-03-20 Robert Millan <rmh@aybabtu.com>
35680
35681 Remove 2 TiB limit in ata.mod.
35682 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
35683 (grub_ata_dumpinfo): Print sector count with 0x%llx.
35684 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
35685 grub_uint64_t instead of grub_uint32_t.
35686
38ad2cf5 356872008-03-05 Bean <bean123ch@gmail.com>
35688
35689 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
35690 (grub_multiboot): Set boot device.
35691
35692 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
35693
2b89344e 356942008-03-02 Bean <bean123ch@gmail.com>
35695
35696 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
35697 symlink_buffer.
35698
87a95d1f 356992008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
35700
35701 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
35702 texinfo.tex.
35703
35704 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
35705 modified.
35706
35707 * docs/fdl.texi: New file.
f19dbdb7 35708
87a95d1f 35709 * docs/mdate-sh: New file. Copied from gnulib.
35710 * docs/texinfo.tex: Likewise.
35711
35712 * config.guess: Updated from gnulib.
35713 * install-sh: Likewise.
35714
7dc15d8e 357152008-02-28 Robert Millan <rmh@aybabtu.com>
35716
35717 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
35718 (aout_mod_SOURCES): New variable.
35719 (aout_mod_CFLAGS): Likewise.
35720 (aout_mod_LDFLAGS): Likewise.
35721
35722 * conf/i386-ieee1275.rmk: Likewise.
35723
b00ab696 357242008-02-28 Robert Millan <rmh@aybabtu.com>
35725
35726 * util/update-grub.in: Reorganise terminal validity check. Accept
35727 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
35728 Based on suggestion by Franklin PIAT.
35729
79ca2d78 357302008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
35731
35732 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
35733 function.
35734 * util/getroot.c (grub_util_check_block_device): New function that
35735 returns the given argument if it is a block device and returns NULL else.
35736 * util/grub-probe.c (argument_is_device): New variable.
35737 (probe): Promote device_name from a variable to an argument. Receive
35738 device_name from grub_util_check_block_device() if path is NULL and from
35739 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 35740 (options): Introduce new parameter '-d, --device'.
79ca2d78 35741 (main): Add description of the new parameter to the help screen.
35742 Rename path variable to argument. Set argument_is_device if the '-d'
35743 option is given. Pass argument to probe() depending on
35744 argument_is_device.
35745
0d16e571 357462008-02-24 Bean <bean123ch@gmail.com>
35747
35748 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
35749 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
35750 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
35751 (GRUB_ISO9660_VOLDESC_PART): Likewise.
35752 (GRUB_ISO9660_VOLDESC_END): Likewise.
35753 (grub_iso9660_primary_voldesc): New member escape.
35754 (grub_iso9660_data): New member joliet.
35755 (grub_iso9660_convert_string): New function.
35756 (grub_iso9660_mount): Detect joliet extension.
35757 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
35758 (grub_iso9660_iso9660_label): Likewise.
35759
35760 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
35761 (grub_setup_SOURCES): Add fs/udf.c.
35762 (grub_fstest_SOURCES): Likewise.
35763 (udf_mod_SOURCES): New variable.
35764 (udf_mod_CFLAGS): Likewise.
35765 (udf_mod_LDFLAGS): Likewise.
35766
35767 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
35768 (grub_emu_SOURCES): Likewise.
35769
35770 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35771
35772 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35773
35774 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35775
35776 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35777
35778 * fs/udf.c: New file.
35779
8a594a17 357802008-02-24 Robert Millan <rmh@aybabtu.com>
35781
35782 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
35783 (normal/lexer.c_DEPENDENCIES): New variables.
35784 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
35785 (normal/lexer.c_DEPENDENCIES): Likewise.
35786 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
35787 (normal/lexer.c_DEPENDENCIES): Likewise.
35788 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
35789 (normal/lexer.c_DEPENDENCIES): Likewise.
35790 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
35791 (normal/lexer.c_DEPENDENCIES): Likewise.
35792 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
35793 (normal/lexer.c_DEPENDENCIES): Likewise.
35794
2dc33c03 357952008-02-23 Robert Millan <rmh@aybabtu.com>
35796
35797 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
35798 since they were intended to be in hex. This didn't break previously
35799 because of a bug in gpt_partition_map_iterate() (see below).
35800
35801 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
35802 when checking the validity of GPT header.
35803 Remove `partno', since it always provides the same information as `i'.
35804
f6f4cfb0 358052008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
35806
35807 * include/grub/efi/time.h: Fix a wrong comment.
35808
79ff665f 358092008-02-19 Pavel Roskin <proski@gnu.org>
35810
35811 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
35812 message.
35813
d38e24c2 358142008-02-19 Bean <bean123ch@gmail.com>
35815
35816 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
35817 (aout_mod_SOURCES): New variable.
35818 (aout_mod_CFLAGS): Likewise.
35819 (aout_mod_LDFLAGS): Likewise.
35820 (_bsd_mod_SOURCES): New variable.
35821 (_bsd_mod_CFLAGS): Likewise.
35822 (_bsd_mod_LDFLAGS): Likewise.
35823 (bsd_mod_SOURCES): New variable.
35824 (bsd_mod_CFLAGS): Likewise.
35825 (bsd_mod_LDFLAGS): Likewise.
35826
35827 * include/grub/aout.h: New file.
35828
35829 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
35830
35831 * include/grub/i386/bsd.h: New file.
35832
35833 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
35834 to make it public.
35835
35836 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
35837 function is called, so that it's possible to change it inside the hook.
35838 (grub_elf64_load): Likewise.
35839 (grub_elf_file): Don't close the file if elf header is not found.
35840 (grub_elf_close): Close the file if grub_elf_file fails (The new
35841 grub_elf_file won't close it).
35842 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
35843 (grub_elf64_size): Likewise.
35844
35845 * kern/i386/loader.S (grub_unix_real_boot): New function.
35846
35847 * loader/aout.c: New file.
35848
35849 * loader/i386/bsd.c: New file.
35850
35851 * loader/i386/bsd_normal.c: New file.
35852
35853 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
35854
35855 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 35856 can test other formats.
d38e24c2 35857
b93bdb0f 358582008-02-19 Robert Millan <rmh@aybabtu.com>
35859
35860 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
35861 (grub_gpt_partition_type_empty): Redefine with macro from
35862 `<grub/gpt_partition.h>'.
35863 (gpt_partition_map_iterate): Adjust partition type comparison.
35864
35865 Export `entry' as partmap-specific `part.data' struct.
35866 (grub_gpt_header, grub_gpt_partentry): Move from here ...
35867
35868 * include/grub/gpt_partition.h (grub_gpt_header)
35869 (grub_gpt_partentry): ... to here (new file).
35870
35871 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
35872
35873 (grub_gpt_partition_type_bios_boot): New const variable, defined
35874 with macro from `<grub/gpt_partition.h>'.
35875
35876 (setup): Replace `first_start' with `embed_region', which keeps
35877 track of the embed region (and is partmap-agnostic).
35878
35879 Replace find_first_partition_start() with find_usable_region(),
35880 which finds a usable region for embedding using partmap-specific
35881 knowledge (supports PC/MSDOS and GPT).
35882
35883 Fix all assumptions that the embed region start at sector 1, using
35884 `embed_region.start' from now on. Similarly, use `embed_region.end'
35885 rather than `first_start' to calculate available size.
35886
35887 In grub_util_info() message, replace "into after the MBR" with an
35888 indication of the specific sector our embed region starts at.
35889
66cb40f6 358902008-02-19 Robert Millan <rmh@aybabtu.com>
35891
35892 * DISTLIST: Replace `commands/ieee1275/halt.c' and
35893 `commands/ieee1275/reboot.c' with `commands/halt.c' and
35894 `commands/reboot.c'.
35895 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
35896 (halt_mod_SOURCES): Likewise.
35897 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
35898 (halt_mod_SOURCES): Likewise.
35899
b7202015 359002008-02-17 Christian Franke <franke@computer.org>
35901
35902 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
35903
32b0fc49 359042008-02-17 Robert Millan <rmh@aybabtu.com>
35905
35906 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
35907 set `first_start' to 0 for non-PC/MSDOS partition maps.
35908
aca63502 359092008-02-16 Robert Millan <rmh@aybabtu.com>
35910
35911 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
35912 do not assume partition map is PC/MSDOS before performing checks that
35913 are specific to that layout.
35914
0de8be86 359152008-02-13 Robert Millan <rmh@aybabtu.com>
35916
35917 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
35918 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
35919 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
35920
c3db8364 359212008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
35922
35923 * configure.ac: Only a cosmetic change on the handling of
35924 -fno-stack-protector.
35925
f714229e 359262008-02-12 Alexandre Boeglin <alex@boeglin.org>
35927
c3db8364 35928 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
35929 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
35930 reboot.c.
f714229e 35931 (grub_install_SOURCES): Add halt.mod and reboot.mod.
35932 (halt_mod_SOURCES): New variable.
35933 (halt_mod_CFLAGS): Likewise.
35934 (halt_mod_LDFLAGS): Likewise.
35935 (reboot_mod_SOURCES): Likewise.
35936 (reboot_mod_CFLAGS): Likewise.
35937 (reboot_mod_LDFLAGS): Likewise.
35938
c3db8364 35939 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
35940 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
35941 reboot.c.
f714229e 35942 (halt_mod_SOURCES): Likewise.
35943 (reboot_mod_SOURCES): Likewise.
35944
c3db8364 35945 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
35946 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 35947 (reboot_mod_SOURCES): Likewise.
35948
35949 * commands/i386/pc/reboot.c: merge this file ...
35950
35951 * commands/ieee1275/reboot.c: ... and this file ...
35952
35953 * commands/reboot.c: ... to this file.
c3db8364 35954 Add some precompiler directive to include the correct header for
35955 each machine.
f714229e 35956
35957 * commands/ieee1275/halt.c: move this file ...
35958
35959 * commands/halt.c: ... to here.
c3db8364 35960 Add some precompiler directive to include the correct header for
35961 each machine.
f714229e 35962
35963 * include/grub/efi/efi.h (grub_reboot): New function declaration.
35964 (grub_halt): Likewise.
35965
35966 * kern/efi/efi.c (grub_reboot): New function.
35967 (grub_halt): Likewise.
35968
c74493e0 359692008-02-12 Robert Millan <rmh@aybabtu.com>
35970
35971 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
35972 /dev (like it is done for /dev/mapper). This doesn't provide support
35973 for EVMS, but at least it is now easy to identify the problem when it
35974 arises.
35975
d0db4b04 359762008-02-11 Robert Millan <rmh@aybabtu.com>
35977
35978 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
35979 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
35980 comparing it with -1, not 0.
35981
bf748642 359822008-02-10 Robert Millan <rmh@aybabtu.com>
35983
35984 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
35985 `disk/lvm.c'.
35986 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35987 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
35988
35989 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
35990 `disk/lvm.c' to the end of the list.
35991 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35992 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35993
b5db202a 359942008-02-10 Robert Millan <rmh@aybabtu.com>
35995
35996 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
35997 grub_print_error() instead. This will let user know why we're entering
35998 rescue mode.
35999 Based on suggestions from Sam Morris.
36000
83abee31 360012008-02-10 Alexandre Boeglin <alex@boeglin.org>
36002
36003 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
36004 on remaining N args, instead of "--" arg N times.
36005
78d5a08b 360062008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
36007
36008 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
36009 (fill_with_default_glyph): Changed to use unknown_glyph for fill
36010 pattern for unknown glyphs.
36011
68807e5f 360122008-02-09 Robert Millan <rmh@aybabtu.com>
36013
36014 * configure.ac: Probe for `help2man'.
36015 * Makefile.in (builddir): New variable.
36016 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
36017 or otherwise add a few flags/options to it.
36018 (install-local): For every executable utility or script that is
36019 installed, invoke $(HELP2MAN) to install a manpage based on --help
36020 output.
36021
36022 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
36023 that it doesn't prevent --help from working in build tree.
36024
36025 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
36026 with `bug-grub@gnu.org'.
36027 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
36028 * util/update-grub.in (usage): New function.
36029 Implement proper argument check, with support for --help and --version
36030 (as well as existing -y).
36031
360322008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 36033
36034 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
36035 avoid overwriting previous output.
36036 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
36037
c1962162 360382008-02-09 Robert Millan <rmh@aybabtu.com>
36039
36040 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
36041 drawing the menu.
36042
3dac2e3f 360432008-02-09 Robert Millan <rmh@aybabtu.com>
36044
36045 * commands/sleep.c: New file.
36046 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
36047 (sleep_mod_SOURCES): New variable.
36048 (sleep_mod_CFLAGS): Likewise.
36049 (sleep_mod_LDFLAGS): Likewise.
36050
7a634e08 360512008-02-09 Robert Millan <rmh@aybabtu.com>
36052
36053 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
36054 situations in which we can deduce the RAID size and the superblock
36055 doesn't match it.
36056
b92f0c18 360572008-02-09 Robert Millan <rmh@aybabtu.com>
36058
36059 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
36060 and return a grub_diskmemberlist_t composed of LVM physical volumes.
36061 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
36062
36063 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
36064 and return a grub_diskmemberlist_t composed of physical array members.
36065 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
36066
36067 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
36068 prototype.
36069 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
36070 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
36071 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
36072
36073 * util/grub-probe.c (probe): Move partmap probing code from here ...
36074 (probe_partmap): ... to here.
36075 (probe): Use probe_partmap() once for the disk we're probing, and
36076 additionally, when such disk contains a memberlist() struct member,
36077 once for each disk that is contained in the structure returned by
36078 memberlist().
36079
91a4bf68 360802008-02-09 Robert Millan <rmh@aybabtu.com>
36081
36082 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
36083 environment variable to 'all' in order to obtain debug output from
36084 non-util/ code.
36085 * util/i386/pc/grub-setup.c (main): Likewise.
36086
a96f9caa 360872008-02-08 Robert Millan <rmh@aybabtu.com>
36088
36089 * disk/raid.c (grub_raid_scan_device): Check for
36090 `array->device[sb.this_disk.number]' rather than for
36091 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 36092 guaranteed to be accessible.
a96f9caa 36093
b37a9222 360942008-02-08 Robert Millan <rmh@aybabtu.com>
36095
36096 * disk/raid.c: Update copyright.
36097 * fs/cpio.c: Likewise.
36098 * include/grub/raid.h: Likewise.
36099 * loader/i386/pc/multiboot.c: Likewise.
36100 * util/hostfs.c: Likewise.
36101
5626aee1 361022008-02-08 Robert Millan <rmh@aybabtu.com>
36103
36104 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
36105 to a grub_disk_t array.
36106 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
36107 `device[x]'.
36108 (grub_raid_scan_device): Replace `device[x].name' accesses with
36109 `device[x]->name'. Simplify initialization of `array->device[x]'.
36110
554f0187 361112008-02-08 Robert Millan <rmh@aybabtu.com>
36112
36113 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
36114 grub_dprintf() calls.
36115 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
36116 error message.
36117
1ec8425d 361182008-02-07 Christian Franke <franke@computer.org>
36119
36120 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
36121 instead of fseek and ftell to support large files.
36122 (grub_hostfs_read): Likewise.
36123
f2156fda 361242008-02-07 Robert Millan <rmh@aybabtu.com>
36125
36126 Patch from Jeroen Dekkers.
36127 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 36128 failure, since successfully reading all array members might not be
f2156fda 36129 required.
36130
9216e0e7 361312008-02-06 Robert Millan <rmh@aybabtu.com>
36132
36133 * util/grub-probe.c (probe): Simplify partmap probing (with the
36134 assumption that the first word up to the underscore equals to
36135 the module name).
36136
b0dfd29a 361372008-02-06 Christian Franke <franke@computer.org>
36138
36139 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
36140 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
36141 last block of a cpio or tar stream.
36142 Check for "TRAILER!!!" instead of any empty data
36143 block to detect last block of a cpio stream.
36144 (grub_cpio_dir): Fix constness of variable np.
36145 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
36146 cpio or tar trailer is detected. This fixes a crash
36147 on open of a non existing file.
36148
c32865bf 361492008-02-05 Bean <bean123ch@gmail.com>
36150
36151 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
36152 address of entry.
36153 (grub_multiboot_load_elf64): Likewise.
36154 (grub_multiboot): Initialize mbi structure.
36155
36156 * util/grub-fstest.c: Don't include unused header file script.h.
36157
fe6b695a 36158 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 36159 of file.
36160 (grub_fstest_SOURCES): Likewise.
36161
409480b7 361622008-02-05 Robert Millan <rmh@aybabtu.com>
36163
36164 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
36165 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
36166 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
36167 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
36168
36169 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
36170 (translation_table): Replace hardcoded values with macros
36171 provided by `<grub/term.h>'.
36172
36173 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
36174 (keyboard_map): Correct/add a few values, with macros provided
36175 by `<grub/term.h>'.
36176 (keyboard_map_shift): Zero values that don't differ from their
36177 `keyboard_map' equivalents.
36178 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
36179 Discard the second scan code that is always sent by Caps lock.
36180 Only use `keyboard_map_shift' when it provides a non-zero value,
36181 otherwise fallback to `keyboard_map'.
36182
99fadbaa 361832008-02-04 Bean <bean123ch@gmail.com>
36184
36185 * Makefile.in (enable_grub_fstest): New variable.
36186
36187 * conf/common.rmk (grub_fstest_init.lst): New rule.
36188 (grub_fstest_init.h): Likewise.
36189 (grub_fstest_init.c): Likewise.
36190 (util/grub-fstest.c_DEPENDENCIES): New variable.
36191 (grub_fstest_SOURCES): Likewise.
36192
36193 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
36194
36195 * util/grub-fstest.c: New file.
36196
bf567c50 361972008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
36198
36199 Make grub-setup handle a separate root device.
f19dbdb7 36200
bf567c50 36201 * util/i386/pc/grub-setup.c (setup): Always open the root device,
36202 so that the root device can be compared with the destination
36203 device.
36204 When embedding the core image, if the root and destination devices
36205 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
36206 0xFF.
36207 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 36208
9be6b98b 362092008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
36210
36211 Add support for having a grub directory in a different drive. This
36212 is still only the data handling part.
f19dbdb7 36213
9be6b98b 36214 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
36215 (codestart): Save %dh in GRUB_ROOT_DRIVE.
36216 (grub_root_drive): New variable.
36217
36218 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
36219 instead of GRUB_BOOT_DRIVE to construct a device name. Set
36220 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
36221 as it was.
36222
36223 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
36224
36225 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
36226 macro.
36227 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
36228
36229 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
36230 is bogus, because PXE booting does not specify any drive
36231 correctly.
36232
36233 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
36234 am not sure if this is really correct.
36235
36236 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
36237 is always identical to the boot drive when booting from a CD.
36238
36239 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
36240 longer.
36241 (root_drive): New variable.
36242 (real_start): Unconditionally set %dh to ROOT_DRIVE.
36243 (setup_sectors): Push %dx right after popping it, because %dh will
36244 be modified later.
36245 (copy_buffer): Restore %dx.
36246
e0ca0677 362472008-02-03 Robert Millan <rmh@aybabtu.com>
36248
36249 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
36250 use `cdboot.img' for cdrom images.
36251
3b3f6629 362522008-02-03 Robert Millan <rmh@aybabtu.com>
36253
36254 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
36255 only setup gfxterm when `font' command has succeeded.
36256
d42b3672 362572008-02-03 Robert Millan <rmh@aybabtu.com>
36258
36259 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
36260 (grub_rescue_cmd_multiboot_loader)
36261 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
36262
fa370ea6 362632008-02-03 Pavel Roskin <proski@gnu.org>
36264
e0c5dacb 36265 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 36266 %edx and %esi from stack only after grub_gate_a20() is called.
36267 grub_gate_a20() clobbers %edx.
36268
f2a76e1d 362692008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
36270
36271 * configure.ac (AC_INIT): Bumped to 1.96.
36272
36273 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
36274 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
36275 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
36276 video/readers/png.c.
36277
90fd32d1 362782008-02-03 Bean <bean123ch@gmail.com>
9be665dd 36279
36280 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
36281 (cdboot_img_SOURCES): New variable.
36282 (cdboot_img_ASFLAGS): New variable.
36283 (cdboot_img_LDFLAGS): New variable.
36284
36285 * boot/i386/pc/cdboot.S: New file.
36286
36287 * disk/i386/pc/biosdisk.c (cd_start): New variable.
36288 (cd_count): Likewise.
36289 (grub_biosdisk_get_drive): Add support for cd device.
36290 (grub_biosdisk_call_hook): Likewise.
36291 (grub_biosdisk_iterate): Likewise.
36292 (grub_biosdisk_open): Likewise.
36293 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
36294 (grub_biosdisk_rw): Support reading from cd device.
36295 (GRUB_MOD_INIT): Iterate cd devices.
36296
36297 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
36298 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
36299 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
36300
36301 * kern/i386/pc/init.c (make_install_device): Check for cd device.
36302
4020aa53 363032008-02-02 Robert Millan <rmh@aybabtu.com>
36304
36305 * commands/read.c: New file.
36306 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
36307 (read_mod_SOURCES): New variable.
36308 (read_mod_CFLAGS): Likewise.
36309 (read_mod_LDFLAGS): Likewise.
36310
e03a1132 363112008-02-02 Robert Millan <rmh@aybabtu.com>
36312
36313 * normal/main.c (grub_normal_execute): Check for `menu->size' when
36314 determining whether menu has to be displayed.
36315
58c69220 363162008-02-02 Marco Gerards <marco@gnu.org>
36317
36318 * bus/pci.c: New file.
36319
36320 * include/grub/pci.h: Likewise.
36321
36322 * include/grub/i386/pc/pci.h: Likewise.
36323
36324 * commands/lspci.c: Likewise.
36325
36326 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
36327 `lspci.mod'.
36328 (pci_mod_SOURCES): New variable.
36329 (pci_mod_CFLAGS): Likewise.
36330 (pci_mod_LDFLAGS): Likewise.
36331 (lspci_mod_SOURCES): Likewise.
36332 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 36333 (lspci_mod_LDFLAGS): Likewise.
58c69220 36334
c004e1b4 363352008-02-02 Bean <bean123ch@gmail.com>
36336
36337 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
36338 (grub_ufs_get_file_block): Fix indirect block calculation problem.
36339
36340 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
36341 (grub_xfs_btree_node): New structure.
36342 (grub_xfs_btree_root): New structure.
36343 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
36344 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
36345 (GRUB_XFS_EXTENT_BLOCK): Likewise.
36346 (GRUB_XFS_EXTENT_SIZE): Likewise.
36347 (grub_xfs_read_block): Support btree format type.
36348 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
36349 Use directory block as basic unit.
36350
36351 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
36352
36353 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
36354 __attribute__ ((__regparm__ (1))).
36355
f95562bf 363562008-02-01 Robert Millan <rmh@aybabtu.com>
36357
36358 Correct a mistake in previous commit.
36359
36360 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
36361 top.
36362 (normal/command.c_DEPENDENCIES): New variable.
36363
7d31f41f 363642008-02-01 Robert Millan <rmh@aybabtu.com>
36365
36366 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
36367 top.
36368 (normal/command.c_DEPENDENCIES): New variable.
36369 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
36370 * conf/i386-ieee1275.rmk: Likewise.
36371 * conf/i386-linuxbios.rmk: Likewise.
36372 * conf/i386-pc.rmk: Likewise.
36373 * conf/sparc64-ieee1275.rmk: Likewise.
36374 * conf/powerpc-ieee1275.rmk: Likewise.
36375 (grub_emu_SOURCES): Add `fs/fshelp.c'.
36376
36377 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
36378
60b6be74 363792008-02-01 Robert Millan <rmh@aybabtu.com>
36380
36381 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
36382 call at beginning of function.
36383
078522ab 363842008-01-31 Pavel Roskin <proski@gnu.org>
36385
36386 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 36387 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
36388 (grub_mkrescue_SOURCES): Likewise.
078522ab 36389 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
36390
ccaa8a5f 363912008-01-30 Robert Millan <rmh@aybabtu.com>
36392
36393 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
36394 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
36395 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
36396 (grub_probe_SOURCES): ... to here.
36397
36398 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
36399 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
36400 * conf/i386-ieee1275.rmk: Likewise.
36401 * conf/i386-linuxbios.rmk: Likewise.
36402 * conf/powerpc-ieee1275.rmk: Likewise.
36403
ae5a9cd7 364042008-01-30 Tristan Gingold <gingold@free.fr>
36405
36406 * kern/rescue.c: Silently accept empty lines.
36407
70bc2ef2 364082008-01-29 Bean <bean123ch@gmail.com>
36409
36410 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
36411 (real_code_2): Code cleanup and change comment style.
36412 (move_memory): Avoid using 32-bit address mode.
36413
6a4d50ea 364142008-01-29 Bean <bean123ch@gmail.com>
36415
36416 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
36417 (png_mod_SOURCES): New variable.
36418 (png_mod_CFLAGS): Likewise.
36419 (png_mod_LDFLAGS): Likewise.
36420
36421 * video/readers/png.c: New file.
36422
11cc30ac 364232008-01-28 Robert Millan <rmh@aybabtu.com>
36424
36425 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
36426 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
36427 `ifndef GRUB_MOD_GAP' hack.
36428 * util/elf/grub-mkimage.c (add_segments): Likewise.
36429
3abc589f 364302008-01-27 Robert Millan <rmh@aybabtu.com>
36431
36432 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
36433 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 36434 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 36435
e1907778 364362008-01-27 Robert Millan <rmh@aybabtu.com>
36437
36438 Get grub-emu to build again (including parallel builds).
36439
36440 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
36441 Split into ...
36442 (util/grub-emu.c_DEPENDENCIES): ... this, ...
36443 (normal/execute.c_DEPENDENCIES): ... this, ...
36444 (grub-emu_DEPENDENCIES): ... and this.
36445
36446 * conf/i386-efi.rmk: Likewise.
36447 * conf/i386-linuxbios.rmk: Likewise.
36448 * conf/i386-ieee1275.rmk: Likewise.
36449 * conf/powerpc-ieee1275.rmk: Likewise.
36450 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
36451
2216b101 364522008-01-27 Robert Millan <rmh@aybabtu.com>
36453
36454 * NEWS: Add a few items.
36455
f75172d9 364562008-01-27 Robert Millan <rmh@aybabtu.com>
36457
36458 Fix parallel builds with grub-emu. Based on earlier commit for
36459 grub-probe and grub-setup.
36460
36461 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36462 (util/grub-emu.c_DEPENDENCIES): ... this.
36463 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36464 (util/grub-emu.c_DEPENDENCIES): ... this.
36465 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36466 (util/grub-emu.c_DEPENDENCIES): ... this.
36467 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36468 (util/grub-emu.c_DEPENDENCIES): ... this.
36469 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
36470 (util/grub-emu.c_DEPENDENCIES): ... this.
36471
3f51de77 364722008-01-27 Pavel Roskin <proski@gnu.org>
36473
36474 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
36475 to create a gap between _end and the modules added to the image
36476 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
36477 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
36478 * util/elf/grub-mkimage.c (add_segments): Likewise.
36479
2033f53e 364802008-01-26 Pavel Roskin <proski@gnu.org>
36481
36482 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
36483 just return an error.
36484
22da1f6f 364852008-01-26 Bean <bean123ch@gmail.com>
36486
36487 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
36488 (grub_reiserfs_get_item): Save offset of the next item.
36489 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
36490
2a9525e6 364912008-01-25 Robert Millan <rmh@aybabtu.com>
36492
36493 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
36494 make all filesystem sources appear together (possibly fixing omissions
36495 while at it).
36496 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36497 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36498 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36499 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36500
36501 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
36502 add `kern/file.c'.
36503 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
36504 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
36505 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
36506 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
36507
36508 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
36509 (probe): Add a sanity check to make sure of our ability to read
36510 requested files when probing for filesystem type.
36511
36512 * genmk.rb: Update copyright year (2007).
36513
36514 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
36515 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
36516 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
36517 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
36518 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
36519 : Remove function prototypes.
36520
b95f71b5 365212008-01-25 Robert Millan <rmh@aybabtu.com>
36522
36523 Revert my previous commits (based on wrong assumption of how grub_errno
36524 works).
36525
fe6b695a 36526 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 36527 * kern/file.c (grub_file_open): Likewise.
36528
d08bbb49 365292008-01-24 Pavel Roskin <proski@gnu.org>
36530
36531 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
36532 that hang if GRUB tries to setup colors.
36533 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
36534 colors for firmwares that don't support it.
36535 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
36536 Recognize Open Hack'Ware, set flags to work around its
36537 limitations.
36538
605e36ed 365392008-01-24 Robert Millan <rmh@aybabtu.com>
36540
36541 * kern/file.c (grub_file_open): Do not account previous failures of
36542 unrelated functions when grub_errno is checked for.
36543 Reported by Oleg Strikov.
36544
bac332a1 365452008-01-24 Bean <bean123ch@gmail.com>
36546
36547 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
36548 (grub_ufs_sblock): New member volume name.
36549 (grub_ufs_find_file): Fix string copy bug.
36550 (grub_ufs_label): Implement this function properly.
36551
36552 * fs/hfs.c (grub_hfs_cnid_type): New enum.
36553 (grub_hfs_iterate_records): Use the correct file number for extents
36554 and catalog file. Fix problem in next index calculation.
36555 (grub_hfs_find_node): Replace recursive function call with loop.
36556 (grub_hfs_iterate_dir): Replace recursive function call with loop.
36557
15c80c09 365582008-01-23 Robert Millan <rmh@aybabtu.com>
36559
36560 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
36561 `<grub/symbol.h>' and `<grub/multiboot.h>'.
36562 (grub_multiboot2_real_boot): New function prototype.
36563
36564 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
36565 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
36566
36567 * kern/i386/ieee1275/init.c (grub_os_area_addr)
36568 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
36569
305338fd 365702008-01-23 Robert Millan <rmh@aybabtu.com>
36571
36572 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
36573 #ifdef'ed out grub_printf().
36574
3ea52685 365752008-01-23 Robert Millan <rmh@aybabtu.com>
36576
36577 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
36578 grub_dprintf calls, since they make "debug=all" mode unusable.
36579 (grub_console_checkkey): Likewise.
36580
5882ae4b 365812008-01-23 Robert Millan <rmh@aybabtu.com>
36582
36583 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
36584 `term/i386/pc/at_keyboard.c'.
36585 (pkglib_MODULES): Add `serial.mod'.
36586 (serial_mod_SOURCES): New variable.
36587 (serial_mod_CFLAGS): Likewise.
36588 (serial_mod_LDFLAGS): Likewise.
36589
36590 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
36591 `<grub/powerpc/ieee1275/console.h>'.
36592 (grub_keyboard_controller_init): New function prototype.
36593 (grub_console_checkkey): Likewise.
36594 (grub_console_getkey): Likewise.
36595
36596 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
36597 keyboard on i386.
36598
36599 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
36600 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
36601
06ab5303 366022008-01-23 Robert Millan <rmh@aybabtu.com>
36603
36604 * kern/i386/pc/init.c (make_install_device): When memdisk image is
36605 present, "(memdisk)/boot/grub" becomes the default prefix.
36606
36607 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
36608 a memdisk tarball with all the modules. Add --overlay=DIR option that
36609 allows users to overlay additional files into the image.
36610
dbb475a4 366112008-01-23 Robert Millan <rmh@aybabtu.com>
36612
36613 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
36614 and `machine/memory.h'.
36615 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
36616 (_multiboot_mod_SOURCES): New variable.
36617 (_multiboot_mod_CFLAGS): Likewise.
36618 (_multiboot_mod_LDFLAGS): Likewise.
36619 (multiboot_mod_SOURCES): Likewise.
36620 (multiboot_mod_CFLAGS): Likewise.
36621 (multiboot_mod_LDFLAGS): Likewise.
36622
36623 * include/grub/i386/ieee1275/loader.h: New file.
36624
36625 * include/grub/i386/ieee1275/machine.h: Likewise.
36626
36627 * include/grub/i386/ieee1275/memory.h: Likewise.
36628
36629 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
36630 variable declaration.
36631 (grub_os_area_size): Likewise.
36632
36633 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
36634 (grub_lower_mem, grub_upper_mem): New variables.
36635 (grub_stop_floppy): New function (just to make
36636 grub_multiboot2_real_boot() happy).
36637
36638 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
36639 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
36640 (grub_stop): New function.
36641 Include `"../realmode.S"' and `"../loader.S"'.
36642
36643 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
36644 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
36645
36646 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
36647 rely on grub_multiboot2_real_boot() for final boot.
36648
25638629 366492008-01-22 Robert Millan <rmh@aybabtu.com>
36650
36651 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
36652 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
36653 device that doesn't look like an SD card.
36654 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
36655 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
36656 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
36657 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
36658 found.
36659
9dad816d 366602008-01-22 Robert Millan <rmh@aybabtu.com>
36661
36662 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
36663 avoid claiming over our own code.
36664
34842f2d 366652008-01-22 Bean <bean123ch@gmail.com>
36666
36667 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
36668 (jpeg_mod_SOURCES): New variable.
36669 (jpeg_mod_CFLAGS): Likewise.
36670 (jpeg_mod_LDFLAGS): Likewise.
36671
36672 * video/readers/jpeg.c : New file.
36673
44023a28 366742008-01-22 Bean <bean123ch@gmail.com>
36675
36676 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
36677 there are no more items.
36678
bc2d8ac6 366792008-01-21 Robert Millan <rmh@aybabtu.com>
36680
36681 * kern/mm.c (grub_mm_init_region): Improve debug message.
36682
261bd4bc 366832008-01-21 Robert Millan <rmh@aybabtu.com>
36684
36685 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
36686 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
36687 address.
36688 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
36689 a C macro.
36690 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
36691 Indicates start of upper memory.
36692 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
36693 (generate_image): Abort when image size is big enough to corrupt
36694 upper memory.
36695
36696 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
36697 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
36698 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
36699 instead of hardcoding 0xA0000.
36700 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
36701 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
36702 instead of hardcoding 0xA0000.
36703
f970b55e 367042008-01-21 Robert Millan <rmh@aybabtu.com>
36705
36706 * disk/memdisk.c (memdisk_size): New variable.
36707 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
36708 `memdisk_size'.
36709 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
36710 image to dynamic memory.
36711 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
36712 `memdisk_size'. Free memdisk block.
36713
1a8b0526 367142008-01-21 Robert Millan <rmh@aybabtu.com>
36715
36716 Fix detection of very small filesystems (like tar).
36717
36718 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
36719 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
36720 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
36721 a problem with this disk).
36722
6e9b4aab 367232008-01-21 Robert Millan <rmh@aybabtu.com>
36724
36725 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
36726 on grub_biosdisk_rw_standard() error.
36727
0d8837b2 367282008-01-21 Robert Millan <rmh@aybabtu.com>
36729
36730 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
36731 recent changes.
36732 * kern/elf.c: Likewise.
36733 * kern/ieee1275/ieee1275.c: Likewise.
36734 * kern/powerpc/ieee1275/openfw.c: Likewise.
36735 * term/ieee1275/ofconsole.c: Likewise.
36736
ffd36e34 367372008-01-21 Robert Millan <rmh@aybabtu.com>
36738
36739 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
36740
3f0093d0 36741 * include/grub/kernel.h (grub_arch_memdisk_addr)
36742 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 36743
3f0093d0 36744 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
36745 (grub_arch_memdisk_size): ... to here.
ffd36e34 36746
6c391b21 367472008-01-21 Robert Millan <rmh@aybabtu.com>
36748
36749 Mostly based on bugfix from Bean.
36750
36751 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
36752 attribute with hook() parameter.
36753 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
36754 declaration.
36755 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
36756 attribute with hook() parameter.
36757 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
36758 declaration.
36759
55a581dc 367602008-01-21 Robert Millan <rmh@aybabtu.com>
36761
36762 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
36763 (pkglib_MODULES): Add `memdisk.mod'.
36764 (memdisk_mod_SOURCES): New variable.
36765 (memdisk_mod_CFLAGS): Likewise.
36766 (memdisk_mod_LDFLAGS): Likewise.
36767
36768 * disk/memdisk.c: New file.
36769
36770 * include/grub/disk.h (grub_disk_dev_id): Add
36771 `GRUB_DISK_DEVICE_MEMDISK_ID'.
36772
36773 * include/grub/i386/pc/kernel.h
36774 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
36775 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
36776 (grub_kernel_image_size): New variable declaration.
36777 (grub_total_module_size): Likewise.
36778 (grub_memdisk_image_size): Likewise.
36779
36780 * include/grub/i386/pc/memory.h
36781 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
36782
36783 * include/grub/kernel.h: Include `<grub/symbol.h>'.
36784 (grub_arch_memdisk_addr): New variable declaration.
36785 (grub_arch_memdisk_size): Likewise.
36786
36787 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
36788 (grub_arch_memdisk_size): Likewise.
36789
36790 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
36791 (codestart): Replace hardcoded `0x100000' with
36792 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
36793
36794 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
36795 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
36796 not NULL, append the contents of the file it refers to, at the end of
36797 the compressed kernel image. Initialize `grub_memdisk_image_size'
36798 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
36799 (options): Add "memdisk"|'m' option.
36800 (main): Parse --memdisk|-m option, and pass user-provided path as
36801 parameter to generate_image().
36802
3d7f54c9 368032008-01-20 Robert Millan <rmh@aybabtu.com>
36804
36805 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
36806 grub_dprintf() calls from here ...
36807 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
36808
0bf74728 368092008-01-20 Robert Millan <rmh@aybabtu.com>
36810
36811 Fix detection of "real mode" when /options/real-mode? doesn't exist.
36812
36813 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
36814 declaration.
36815 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
36816 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
36817 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 36818 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 36819 property).
36820 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
36821 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
36822
33bf70a7 368232008-01-19 Robert Millan <rmh@aybabtu.com>
36824
fe6b695a 36825 Get rid of confusing function (superseded by
33bf70a7 36826 `grub_ieee1275_get_integer_property')
36827 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
36828 prototype.
36829 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
36830 function.
36831 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
36832 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 36833 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 36834
e2da7d26 368352008-01-19 Robert Millan <rmh@aybabtu.com>
36836
36837 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
36838 command after "shut-down", since implementations differ on which
36839 the command for halt is.
36840
59f1fd8d 368412008-01-19 Robert Millan <rmh@aybabtu.com>
36842
36843 * include/grub/i386/linuxbios/console.h: Add header protection.
36844 (grub_keyboard_controller_init): New function prototype.
36845 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
36846 (KEYBOARD_COMMAND_READ): Likewise.
36847 (KEYBOARD_COMMAND_WRITE): Likewise.
36848 (KEYBOARD_SCANCODE_SET1): Likewise.
36849 (grub_keyboard_controller_write): New function.
36850 (grub_keyboard_controller_read): Likewise.
36851 (grub_keyboard_controller_init): Likewise.
36852
36853 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
36854 (grub_console_init): On coreboot/LinuxBIOS, call
36855 grub_keyboard_controller_init().
36856
5f5a7c15 368572008-01-19 Robert Millan <rmh@aybabtu.com>
36858
36859 PowerPC changes provided by Pavel Roskin.
36860
36861 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
36862 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
36863 don't rely on cmain() doing it.
36864 * kern/i386/ieee1275/startup.S (_start): Store %eax in
36865 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
36866
1210e168 368672008-01-16 Robert Millan <rmh@aybabtu.com>
36868
36869 * include/grub/i386/linuxbios/memory.h
36870 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
36871 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
36872 receive `table_header' as argument. Instead, probe for it in the
36873 known memory ranges where it can be present.
36874 (grub_available_iterate): Do not pass a fixed `table_header' address
36875 to grub_linuxbios_table_iterate().
36876
3d04eab8 368772008-01-15 Robert Millan <rmh@aybabtu.com>
36878
36879 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
36880 * conf/i386-ieee1275.rmk: New file.
36881 * include/grub/i386/ieee1275/console.h: Likewise.
36882 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
36883 * include/grub/i386/ieee1275/kernel.h: Likewise.
36884 * include/grub/i386/ieee1275/time.h: Likewise.
36885 * kern/i386/ieee1275/init.c: Likewise.
36886 * kern/i386/ieee1275/startup.S: Likewise.
36887
d1bc1b73 368882008-01-15 Robert Millan <rmh@aybabtu.com>
36889
36890 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
36891 when pointers are 32-bit (but still do set it to one when they are
36892 64-bit).
36893
66a65807 368942008-01-15 Robert Millan <rmh@aybabtu.com>
36895
36896 * include/grub/ieee1275/ieee1275.h
36897 (grub_ieee1275_get_integer_property): New function prototype.
36898
36899 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
36900 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 36901 grub_ieee1275_get_property() to handle endianness.
66a65807 36902
36903 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
36904 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 36905 where appropriate.
66a65807 36906 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
36907 (grub_map): Likewise.
36908 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
36909
a83ccafd 369102008-01-15 Bean <bean123ch@gmail.com>
36911
36912 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
36913 (grub_script_execute_cmdline): Reset grub_errno.
36914
36915 * normal/main.c (read_config_file): Reset grub_errno.
36916
36917 * normal/parse.y (script_init): New.
36918 (script): Move function and menuentry here.
36919 (delimiter): New.
36920 (command): Add delimiter at the end of command.
36921 (commands): Adjust to match the new command.
36922 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 36923 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 36924 (if): Use the new commands.
36925
36926 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
36927
df6ecfc6 369282008-01-15 Robert Millan <rmh@aybabtu.com>
36929
36930 * normal/menu.c (run_menu): Move timeout message from here ...
36931 (print_timeout): ... to here.
36932 (run_menu): Use print_timeout() once during initial draw to print
36933 the whole message, and again in every clock tick to update only
36934 the number of seconds.
36935
87ae25eb 369362008-01-15 Robert Millan <rmh@aybabtu.com>
36937
36938 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
36939 actual size of `available' from grub_ieee1275_get_property(), and
36940 restrict parsing to that bound.
36941
47bf09a4 369422008-01-15 Christian Franke <franke@computer.org>
36943
36944 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
36945 (argp_program_version): Remove variable.
36946 (argp_program_bug_address): Likewise.
36947 (options): Convert from struct argp_option to struct option.
36948 (struct arguments): Remove.
36949 (parse_opt): Remove.
36950 (usage): New function.
36951 (main): Replace struct args members by simple variables.
36952 Replace argp_parse() by getopt_long().
36953 Add switch to evaluate options.
36954 Add missing "(...)" around root_dev in prefix string.
36955
c86f1469 369562008-01-14 Robert Millan <rmh@aybabtu.com>
36957
36958 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
36959 for grub_ieee1275_exit(), in order to improve portability.
36960
e622c559 369612008-01-14 Robert Millan <rmh@aybabtu.com>
36962
36963 * util/grub.d/10_linux.in (prefix): Define.
36964 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
36965
44cb1ec8 369662008-01-13 Pavel Roskin <proski@gnu.org>
36967
36968 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
36969 grub_errno if no errors have been detected.
36970
1eb8c802 369712008-01-12 Robert Millan <rmh@aybabtu.com>
36972
36973 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
36974 (grub_util_get_dev_abstraction): New function prototype.
36975
36976 * util/getroot.c: Include `<grub/util/getroot.h>'
36977 (grub_util_get_grub_dev): Move detection of abstraction type to ...
36978 (grub_util_get_dev_abstraction): ... here (new function).
36979
36980 * util/grub-probe.c: Convert PRINT_* to an enum. Add
36981 `PRINT_ABSTRACTION'.
36982 (probe): Probe for abstraction type when requested.
36983 (main): Understand `--target=abstraction'.
36984
36985 * util/i386/efi/grub-install.in: Add abstraction module to core
36986 image when it is found to be necessary.
36987 * util/i386/pc/grub-install.in: Likewise.
36988 * util/powerpc/ieee1275/grub-install.in: Likewise.
36989
36990 * util/update-grub_lib.in (font_path): Return system path without
36991 converting to GRUB path.
36992 * util/update-grub.in: Convert system path returned by font_path()
36993 to a GRUB path. Use `grub-probe -t abstraction' to determine what
36994 abstraction module is needed for loading fonts (if any). Export
36995 that as `GRUB_PRELOAD_MODULES'.
36996 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
36997 insmod commands).
36998
52bd3de9 369992008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
37000
37001 Remove some unused code from reiserfs.
f19dbdb7 37002
52bd3de9 37003 * fs/reiserfs.c (struct grub_reiserfs_key)
37004 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
37005 (struct grub_reiserfs_node_body): Removed.
37006 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
37007 Likewise.
37008 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37009 Likewise.
37010 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37011 Likewise.
37012 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37013 Likewise.
37014 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
37015 Likewise.
37016 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
37017 Likewise.
37018 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37019 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37020 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37021
2f80039d 370222008-01-10 Robert Millan <rmh@aybabtu.com>
37023
37024 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
37025 Determines if a file is garbage left by packaging systems, etc.
37026 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
37027 for processing /etc/grub.d scripts.
37028 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
37029 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
37030 as a condition for processing Linux images.
37031
87888032 370322008-01-10 Pavel Roskin <proski@gnu.org>
37033
37034 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
37035 to compile reiserfs.c on PowerPC.
37036
7e54fced 370372008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 37038
37039 * kern/device.c (grub_device_iterate): Do not abort device iteration
37040 when one of the devices cannot be opened.
37041 * kern/disk.c (grub_disk_open): Do not account previous failures of
37042 unrelated functions when grub_errno is checked for.
37043
5aa541e6 370442008-01-08 Robert Millan <rmh@aybabtu.com>
37045
37046 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
37047 `! grub_linux_is_bzimage', change order of address comparison to make
37048 it more intuitive, and improve "too big zImage" error message.
37049
7076340d 370502008-01-08 Robert Millan <rmh@aybabtu.com>
37051
37052 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
37053 `$(update-grub_DATA)'.
37054 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
37055 targets.
37056
9ca70333 370572008-01-07 Robert Millan <rmh@aybabtu.com>
37058
37059 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
37060 which instruction is modified by grub-setup during installation
37061 (since it wasn't obvious by only looking at this file).
37062
38ccf575 370632008-01-07 Robert Millan <rmh@aybabtu.com>
37064
37065 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
37066 listing actual TODO items.
37067
f5db4291 370682008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37069
868967cf 37070 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
37071 correctly.
37072 (grub_reiserfs_get_key_offset): Likewise.
37073 (grub_reiserfs_set_key_offset): Likewise.
37074 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 37075 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 37076
37077 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
37078 better to remove the bitfield version completely.
f19dbdb7 37079
868967cf 370802008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 37081
f5db4291 37082 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
37083 allocated from the heap, due to the fshelp implementation.
37084 (grub_reiserfs_dir): Free NODE, due to the same reason.
37085
492e6d9d 370862008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37087
37088 Mostly from Vincent Pelletier:
f19dbdb7 37089
492e6d9d 37090 * fs/reiserfs.c: New file.
f19dbdb7 37091
492e6d9d 37092 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
37093 (reiserfs_mod_SOURCES): New variable.
37094 (reiserfs_mod_CFLAGS): Likewise.
37095 (reiserfs_mod_LDFLAGS): Likewise.
37096
37097 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
37098 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
37099 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
37100 normal/color.c.
37101
9ce3e7c1 371022008-01-06 Robert Millan <rmh@aybabtu.com>
37103
37104 * normal/color.c: Remove `<grub/env.h>'.
37105
f3b58148 371062008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
37107
37108 * include/grub/normal.h: Include <grub/env.h>.
37109
7ac3bcfa 371102008-01-05 Robert Millan <rmh@aybabtu.com>
37111
37112 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
37113 usage example with `(hd0,1)'.
fb358190 37114 Reported by Samuel Thibault.
7ac3bcfa 37115
c8ee99d7 371162008-01-05 Robert Millan <rmh@aybabtu.com>
37117
37118 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
37119 (grub_linux_boot_zimage): Rename to ...
37120 (grub_linux_boot): ... this.
37121 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
37122 (grub_linux_boot_zimage): Conditionalize zImage copy.
37123
37124 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
37125 (grub_linux_boot_bzimage): Remove prototype.
37126 (grub_linux_boot_zimage): Rename to ...
37127 (grub_linux_boot): ... this.
37128
37129 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
37130 (grub_linux_boot): Remove function.
37131
0ece25b1 371322008-01-05 Robert Millan <rmh@aybabtu.com>
37133
37134 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
37135 (grub_env_write_color_highlight): Likewise.
37136 (grub_wait_after_message): Likewise.
37137
37138 * normal/color.c: New file.
37139
37140 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37141 (normal_mod_DEPENDENCIES): Likewise.
37142
37143 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37144 (normal_mod_DEPENDENCIES): Likewise.
37145
37146 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37147 (normal_mod_DEPENDENCIES): Likewise.
37148
37149 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37150 (normal_mod_DEPENDENCIES): Likewise.
37151
37152 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
37153 for waiting after a message is printed.
37154 * normal/main.c (read_config_file): Likewise.
37155 (grub_normal_init): Register grub_env_write_color_normal() and
37156 grub_env_write_color_highlight() hooks. Mark `color_normal' and
37157 `color_highlight' variables as global.
37158
37159 * normal/menu.c (grub_wait_after_message): New function.
37160 (grub_color_menu_normal): New variable. Replaces ...
37161 (GRUB_COLOR_MENU_NORMAL): ... this macro.
37162 (grub_color_menu_highlight): New variable. Replaces ...
37163 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
37164 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
37165 `GRUB_TERM_COLOR_STANDARD'.
37166 (print_message): Use `grub_setcolorstate' to reload colors. Rename
37167 `normal_code' and `highlight_code' to `old_color_normal' and
37168 `old_color_highlight', respectively.
37169 (grub_menu_init_page): Update colors when drawing the menu, based on
37170 `menu_color_normal' and `menu_color_highlight' variables.
37171 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
37172 a message is printed.
37173
182dd4e5 371742008-01-05 Robert Millan <rmh@aybabtu.com>
37175
37176 * kern/env.c (grub_env_context_open): Propagate hooks for global
37177 variables to new context.
37178
37179 * kern/main.c (grub_set_root_dev): Export `root' variable.
37180
ddf8f6ad 371812008-01-05 Robert Millan <rmh@aybabtu.com>
37182
37183 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 37184 discs unconditionally, since udev and others have options to provide
ddf8f6ad 37185 them.
37186
d8b43d9b 371872008-01-05 Robert Millan <rmh@aybabtu.com>
37188
37189 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
37190
2bff2de3 371912008-01-04 Christian Franke <franke@computer.org>
37192
37193 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
37194 of eisa_mmap.
37195
97eab917 371962008-01-03 Pavel Roskin <proski@gnu.org>
37197
37198 * kern/i386/linuxbios/init.c: Put "void" to all function
37199 declarations with no arguments.
37200 * kern/powerpc/ieee1275/init.c: Likewise.
37201 * term/i386/pc/at_keyboard.c: Likewise.
37202 * term/i386/pc/vga_text.c: Likewise.
37203 * util/grub-mkdevicemap.c: Likewise.
37204
b9416d00 372052008-01-02 Robert Millan <rmh@aybabtu.com>
37206
37207 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
37208 message when loaded image is out of bounds.
37209 (grub_multiboot_load_elf64): Likewise.
37210
92695df9 372112008-01-02 Pavel Roskin <proski@gnu.org>
37212
37213 * util/grub.d/10_linux.in: Try version without ".old" when
37214 looking for initrd. It's better to use initrd from the newer
37215 kernel of the same version than no initrd at all.
37216
d98d9cad 372172008-01-01 Robert Millan <rmh@aybabtu.com>
37218
37219 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
37220
dbfdce36 372212008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
37222
f19dbdb7 37223 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 37224 grub_video_get_active_render_target.
37225 (grub_video_adapter): Added unmap_color and get_active_render_target.
37226
f19dbdb7 37227 * video/video.c: Added grub_video_unmap_color and
dbfdce36 37228 grub_video_get_active_render_target.
37229 (grub_video_get_info): Changed method to accept NULL pointer as an
37230 argument to allow detection of active video adapter.
37231
37232 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
37233 grub_video_vbe_unmap_color_int.
37234 Added grub_video_vbe_unmap_color and
37235 grub_video_vbe_get_active_render_target.
37236 (grub_video_vbe_adapter): Added unmap_color and
37237 get_active_render_target.
37238
f19dbdb7 37239 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 37240 with grub_video_vbe_unmap_color_int.
37241
37242 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
37243 (DEFAULT_NORMAL_COLOR): Likewise.
37244 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
37245 (DEFAULT_FG_COLOR): Removed.
37246 (DEFAULT_BG_COLOR): Likewise.
37247 (DEFAULT_CURSOR_COLOR): Changed value.
37248 (grub_virtual_screen): Added standard_color_setting,
37249 normal_color_setting, highlight_color_setting and term_color.
37250 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
37251 (bitmap_width): Added.
37252 (bitmap_height): Likewise.
37253 (bitmap): Likewise.
37254 (set_term_color): Likewise.
37255 (grub_virtual_screen_setup): Changed to use new terminal coloring
37256 settings.
37257 (grub_gfxterm_init): Added init for bitmap.
37258 (grub_gfxterm_fini): Added destroy for bitmap.
37259 (redraw_screen_rect): Updated to use background bitmap and new
37260 terminal coloring.
37261 (scroll_up): Added optimization for case when there is no bitmap.
37262 (grub_gfxterm_cls): Fixed to use correct background color.
37263 (grub_virtual_screen_setcolorstate): Changed to use new terminal
37264 coloring.
37265 (grub_virtual_screen_setcolor): Likewise.
37266 (grub_virtual_screen_getcolor): Added.
37267 (grub_gfxterm_background_image_cmd): Likewise.
37268 (grub_video_term): Added setcolor and getcolor.
37269 (MOD_INIT): Added registration of background_image command.
37270 (MOD_TERM): Added unregistration for background_image command.
37271
c3c20931 372722007-12-30 Pavel Roskin <proski@gnu.org>
37273
37274 * loader/multiboot_loader.c: Fix multiboot command
37275 unregistration. Fix all typos in the word "multiboot".
37276
df266716 372772007-12-29 Pavel Roskin <proski@gnu.org>
94239199 37278
37279 * util/grub.d/10_linux.in: Refactor search for initrd. Add
37280 support for initrd names used in Fedora.
37281
fc6e896c 372822007-12-26 Bean <bean123ch@gmail.com>
37283
37284 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
37285 (cpio_mod_SOURCES): New variable.
37286 (cpio_mod_CFLAGS): Likewise.
37287 (cpio_mod_LDFLAGS): Likewise.
37288
37289 * fs/cpio.c: New file.
37290
37291 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
37292
37293 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37294
37295 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37296
37297 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37298
533110ad 372992007-12-25 Robert Millan <rmh@aybabtu.com>
37300
37301 * include/grub/term.h (struct grub_term): Add `getcolor' function.
37302 (grub_getcolor): New function.
37303
37304 * kern/term.c (grub_getcolor): New function.
37305 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
37306 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
37307 (print_entry): Set normal and highlight colors to
37308 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
37309 respectively, before printing and restore them to old
37310 values afterwards.
37311 (grub_menu_init_page): Likewise. Fill an additional colored space
37312 that would otherwise be left blank.
37313
37314 * term/efi/console.c (grub_console_getcolor): New function.
37315 (struct grub_console_term.getcolor): New variable.
37316 * term/i386/pc/console.c (grub_console_getcolor): New function.
37317 (struct grub_console_term.getcolor): New variable.
37318 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
37319 (struct grub_console_term.getcolor): New variable.
37320
37321 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
37322 (struct grub_console_term.setcolor): Remove variable.
37323 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
37324 (struct grub_console_term.setcolor): Remove variable.
37325 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
37326 (struct grub_console_term.setcolor): Remove variable.
37327 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
37328 (struct grub_console_term.setcolor): Remove variable.
37329
4931827f 373302007-12-25 Robert Millan <rmh@aybabtu.com>
37331
37332 * configure.ac: Search for possible unifont.hex locations, and
37333 define UNIFONT_HEX if found.
37334
37335 * Makefile.in (UNIFONT_HEX): Define variable.
37336 (DATA): Rename to ...
37337 (PKGLIB): ... this. Update all users.
37338 (PKGDATA): New variable.
37339 (pkgdata_IMAGES): Rename to ...
37340 (pkglib_IMAGES): ... this. Update all users.
37341 (pkgdata_MODULES): Rename to ...
37342 (pkglib_MODULES): ... this. Update all users.
37343 (pkgdata_PROGRAMS): Rename to ...
37344 (pkglib_PROGRAMS): ... this. Update all users.
37345 (pkgdata_DATA): Rename to ...
37346 (pkglib_DATA): ... this. Update all users.
37347 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
37348 (unicode.pff, ascii.pff): New rules.
37349 (all-local): Add `$(PKGDATA)' dependency.
37350 (install-local): Process `$(PKGDATA)'.
37351
37352 * util/update-grub_lib.in (font_path): Search for *.pff files in
37353 a few more locations, including `${pkgdata}'.
37354
57e57e31 373552007-12-23 Robert Millan <rmh@aybabtu.com>
37356
37357 Patch from Bean <bean123ch@gmail.com>:
37358 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
37359 `size'.
37360
4bc72aa9 373612007-12-21 Bean <bean123ch@gmail.com>
37362
37363 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
37364 (ntfscomp_mod_SOURCES): New variable.
37365 (ntfscomp_mod_CFLAGS): Likewise.
37366 (ntfscomp_mod_LDFLAGS): Likewise.
37367
37368 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
37369 (grub_probe_SOURCES): Likewise.
37370 (grub_emu_SOURCES): Likewise.
37371
37372 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
37373 (grub_emu_SOURCES): Likewise.
37374
37375 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
37376 (grub_emu_SOURCES): Likewise.
37377
37378 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
37379 (grub_emu_SOURCES): Likewise.
37380
37381 * fs/ntfs.c (grub_ntfscomp_func): New variable.
37382 (read_run_list): Renamed to grub_ntfs_read_run_list.
37383 (decomp_nextvcn): Moved to ntfscomp.c.
37384 (decomp_getch): Likewise.
37385 (decomp_get16): Likewise.
37386 (decomp_block): Likewise.
37387 (read_block): Likewise.
37388 (read_data): Partially moved to ntfscomp.c.
37389 (fixup): Change unsigned to grub_uint16_t.
37390 (read_mft): Change unsigned long to grub_uint32_t.
37391 (read_attr): Likewise.
37392 (read_data): Likewise.
37393 (read_run_data): Likewise.
37394 (read_run_list): Likewise.
37395 (read_mft): Likewise.
37396
37397 * fs/ntfscomp.c: New file.
37398
37399 * include/grub/ntfs.h: New file.
37400
af680a87 374012007-12-16 Robert Millan <rmh@aybabtu.com>
37402
37403 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
37404 IDE disk check, since Linux is known to support 20 IDE disks.
37405 Reported by Colin Watson.
37406
84be7599 374072007-12-15 Bean <bean123ch@gmail.com>
37408
37409 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
37410 (lnxboot_img_SOURCES): New variable.
37411 (lnxboot_img_ASFLAGS): Likewise.
37412 (lnxboot_img_LDFLAGS): Likewise.
37413
37414 * boot/i386/pc/lnxboot.S: New file.
37415
6af9db01 374162007-11-24 Pavel Roskin <proski@gnu.org>
37417
37418 * configure.ac: Test if '--build-id=none' is supported by the
37419 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
37420 objcopy to generate incorrect binary files (binutils
37421 2.17.50.0.18-1 as shipped by Fedora 8).
37422 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
37423 linking, so that build ID doesn't break the test.
37424
7361cfe6 374252007-11-24 Pavel Roskin <proski@gnu.org>
37426
37427 * include/grub/i386/time.h: use "void" in the argument list
37428 of grub_cpu_idle().
37429 * include/grub/powerpc/time.h: Likewise.
37430 * include/grub/sparc64/time.h: Likewise.
37431
1593e10c 374322007-11-18 Christian Franke <franke@computer.org>
37433
37434 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
37435 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
37436 This fixes the problem that function keys did not work in grub-emu.
37437
3b8db1a8 374382007-11-18 Christian Franke <franke@computer.org>
37439
37440 * disk/host.c (grub_host_open): Remove attribute unused from
37441 name parameter. Add check for "host". This fixes the problem
37442 that grub-emu does not find partitions.
37443
2e29408d 374442007-11-18 Christian Franke <franke@computer.org>
37445
37446 * util/hostfs.c (is_dir): New function.
37447 (grub_hostfs_dir): Handle missing dirent.d_type case.
37448 (grub_hostfs_read): Add missing fseek().
37449 (grub_hostfs_label): Clear label pointer. This fixes a crash
37450 of grub-emu on "ls (host)".
37451
398cd047 374522007-11-18 Christian Franke <franke@computer.org>
37453
37454 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
37455 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
37456 to 64 bit boundary by default.
37457
c405c391 374582007-11-18 Bean <bean123ch@gmail.com>
37459
37460 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
37461 (hexdump_mod_SOURCES): New variable.
37462 (hexdump_mod_CFLAGS): Likewise.
37463 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 37464
c405c391 37465 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
37466
37467 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
37468
37469 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
37470
37471 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
37472
37473 * include/grub/hexdump.h: New file.
37474
37475 * commands/hexdump.c: New file.
37476
5cced7fd 374772007-11-10 Robert Millan <rmh@aybabtu.com>
37478
37479 * commands/i386/pc/play.c (beep_off): Switch order of arguments
37480 in grub_outb() calls.
37481 (beep_on): Likewise.
37482
8b714eb0 374832007-11-10 Christian Franke <franke@computer.org>
37484
37485 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
37486 (grub_menu_run): Likewise.
37487
ce0f1839 374882007-11-10 Robert Millan <rmh@aybabtu.com>
37489
37490 * include/grub/i386/efi/machine.h: New file.
37491 * include/grub/i386/linuxbios/machine.h: Likewise.
37492 * include/grub/i386/pc/machine.h: Likewise.
37493 * include/grub/powerpc/ieee1275/machine.h: Likewise.
37494 * include/grub/sparc64/ieee1275/machine.h: Likewise.
37495
37496 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
37497 (serial_hw_io_addr): New variable.
37498 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
37499 instead of `(unsigned short *) 0x400'.
37500
270c237d 375012007-11-10 Bean <bean123ch@gmail.com>
37502
37503 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
37504
a87783bf 375052007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
37506
37507 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
37508 (vga_mod_SOURCES): Added.
37509 (vga_mod_CFLAGS): Likewise.
37510 (vga_mod_LDFLAGS): Likewise.
37511
37512 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
37513 grub_outb() calls.
37514 (set_map_mask): Likewise.
37515 (set_read_map): Likewise.
37516 (set_read_address): Likewise.
37517 (vga_font): Removed variable.
37518 (get_vga_glyph): Removed function.
37519 (invalidate_char): Likewise.
37520 (write_char): Changed to use grub_font_get_glyph() for font
37521 information.
37522 (grub_vga_putchar): Likewise.
37523 (grub_vga_getcharwidth): Likewise.
37524
6433b448 375252007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
37526
37527 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
37528 flags.
37529 (pxeboot_img_LDFLAGS): Likewise.
37530 (diskboot_img_LDFLAGS): Likewise.
37531 (kernel_img_LDFLAGS): Likewise.
37532
49178511 375332007-11-06 Robert Millan <rmh@aybabtu.com>
37534
37535 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
37536 in grub_outb() calls.
37537 (serial_hw_init): Likewise.
37538
53b052de 375392007-11-05 Robert Millan <rmh@aybabtu.com>
37540
37541 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
37542 spaces. Skip non-regular files.
37543
5ab33bba 375442007-11-05 Robert Millan <rmh@aybabtu.com>
37545
37546 * kern/disk.c (grub_disk_firmware_fini)
37547 (grub_disk_firmware_is_tainted): New variables.
37548
37549 * include/grub/disk.h (grub_disk_firmware_fini)
37550 (grub_disk_firmware_is_tainted): Likewise.
37551
37552 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
37553 (grub_disk_biosdisk_fini): ... to here.
37554 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
37555 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
37556 is set. Register grub_disk_biosdisk_fini() in
37557 `grub_disk_firmware_fini'.
37558
37559 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
37560 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
37561 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
37562 to finish existing firmware disk interface.
37563
37564 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
37565 (ata_mod_SOURCES): New variable.
37566 (ata_mod_CFLAGS): Likewise.
37567 (ata_mod_LDFLAGS): Likewise.
37568
0149ab7c 375692007-11-05 Robert Millan <rmh@aybabtu.com>
37570
37571 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
37572 (grub_ata_wait): Reimplement using grub_millisleep().
37573
37574 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
37575 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
37576
be7ac41e 375772007-11-03 Marco Gerards <marco@gnu.org>
37578
37579 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
37580 (CRTC_ADDR_PORT): New macro.
37581 (CRTC_DATA_PORT): Likewise.
37582 (CRTC_CURSOR): Likewise.
37583 (CRTC_CURSOR_ADDR_HIGH): Likewise.
37584 (CRTC_CURSOR_ADDR_LOW): Likewise.
37585 (update_cursor): New function.
37586 (grub_console_real_putchar): Call `update_cursor'.
37587 (grub_console_gotoxy): Likewise.
37588 (grub_console_cls): Set the default color when clearing the
37589 screen.
37590 (grub_console_setcursor): Implemented.
37591
bb06ab2e 375922007-11-03 Marco Gerards <marco@gnu.org>
37593
37594 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
37595 become activate.
37596 (grub_ata_pio_write): Likewise.
37597
37598 (grub_atapi_identify): Wait after issuing an ATA command.
37599 (grub_atapi_packet): Likewise.
37600 (grub_ata_identify): Likewise.
37601 (grub_ata_readwrite): Likewise.
37602
cf8f780b 376032007-11-03 Marco Gerards <marco@gnu.org>
37604
37605 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
37606 (grub_ata_pio_write): Likewise.
37607 (grub_ata_readwrite): Use `grub_error', instead of
37608 returning `grub_errno'.
37609
ed649e54 376102007-11-03 Marco Gerards <marco@gnu.org>
37611
37612 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
37613 grub_ata_pio_write once for every single sector, instead of for
37614 multiple sectors.
37615
ca25d8f0 376162007-10-31 Robert Millan <rmh@aybabtu.com>
37617
37618 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
37619
37620 * conf/i386-linuxbios.rmk: New file.
37621
37622 * kern/i386/pc/hardware.c: Likewise.
37623 * term/i386/pc/at_keyboard.c: Likewise.
37624 * term/i386/pc/vga_text.c: Likewise.
37625
37626 * include/grub/i386/linuxbios/boot.h: Likewise.
37627 * include/grub/i386/linuxbios/console.h: Likewise.
37628 * include/grub/i386/linuxbios/init.h: Likewise.
37629 * include/grub/i386/linuxbios/kernel.h: Likewise.
37630 * include/grub/i386/linuxbios/loader.h: Likewise.
37631 * include/grub/i386/linuxbios/memory.h: Likewise.
37632 * include/grub/i386/linuxbios/serial.h: Likewise.
37633 * include/grub/i386/linuxbios/time.h: Likewise.
37634
37635 * kern/i386/linuxbios/init.c: Likewise.
37636 * kern/i386/linuxbios/startup.S: Likewise.
37637 * kern/i386/linuxbios/table.c: Likewise.
37638
e911ecc1 376392007-10-31 Marco Gerards <marco@gnu.org>
37640
37641 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
37642 (ata_mod_SOURCES): New variable.
37643 (ata_mod_CFLAGS): Likewise.
37644 (ata_mod_LDFLAGS): Likewise.
37645
37646 * disk/ata.c: New file.
37647
37648 * include/grub/disk.h (grub_disk_dev_id): Add
37649 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 37650
7f66d0e0 376512007-10-31 Robert Millan <rmh@aybabtu.com>
37652
37653 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
37654 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
37655
37656 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
37657 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
37658
37659 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
37660 `<grub/types.h>'.
37661
37662 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
37663
5cd7dd46 376642007-10-27 Robert Millan <rmh@aybabtu.com>
37665
3236ca65 37666 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 37667
2ebfc90f 376682007-10-22 Robert Millan <rmh@aybabtu.com>
37669
37670 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
37671 `"../realmode.S"'.
37672 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
37673
73fcb0f3 376742007-10-22 Robert Millan <rmh@aybabtu.com>
37675
37676 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
37677 (pkgdata_MODULES): Add `biosdisk.mod'.
37678 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
37679 variables.
37680
37681 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
37682 (grub_biosdisk_init): Replace with ...
37683 (GRUB_MOD_INIT(biosdisk)): ... this.
37684 (grub_biosdisk_fini): Replace with ...
37685 (GRUB_MOD_FINI(biosdisk)): ... this.
37686
37687 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
37688 (grub_machine_init): Remove call to grub_biosdisk_init().
37689 (grub_machine_fini): Remove call to grub_machine_fini().
37690
37691 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
37692
3381d274 376932007-10-22 Robert Millan <rmh@aybabtu.com>
37694
37695 * include/grub/time.h: New file.
37696 * include/grub/i386/time.h: Likewise.
37697 * include/grub/powerpc/time.h: Likewise.
37698 * include/grub/sparc64/time.h: Likewise.
37699
37700 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
37701 instances to ...
37702 (KERNEL_MACHINE_TIME_HEADER): ... this.
37703 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
37704 instances to ...
37705 (KERNEL_MACHINE_TIME_HEADER): ... this.
37706 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
37707 instances to ...
37708 (KERNEL_MACHINE_TIME_HEADER): ... this.
37709
37710 * kern/i386/efi/init.c: Include `<grub/time.h>'.
37711 (grub_millisleep): New function.
37712 * kern/i386/pc/init.c: Include `<grub/time.h>'.
37713 (grub_millisleep): New function.
37714 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
37715 Remove `grub/machine/time.h' include.
37716 (grub_millisleep): New function.
37717 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
37718 Remove `grub/machine/time.h' include.
37719 (grub_millisleep): New function.
37720
37721 * include/grub/misc.h (grub_div_roundup): New function.
37722
37723 * kern/misc.c: Include `<grub/time.h>'.
37724 (grub_millisleep_generic): New function.
37725
37726 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
37727 Add `time.h'.
37728 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
37729 Add `time.h'.
37730 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
37731 `machine/time.h'. Add `time.h'.
37732 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37733
a39a0312 377342007-10-21 Robert Millan <rmh@aybabtu.com>
37735
37736 * include/grub/misc.h (grub_max): New function.
37737
2aad70e2 377382007-10-21 Robert Millan <rmh@aybabtu.com>
37739
37740 * util/misc.c (grub_util_info): Call fflush() before returning.
37741
54b71c4b 377422007-10-20 Robert Millan <rmh@aybabtu.com>
37743
37744 * genmk.rb (Image): Copy `extra_flags' from here ...
37745 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
37746
37747 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
37748 to `argc' and `args' arguments.
37749
a979f513 377502007-10-17 Robert Millan <rmh@aybabtu.com>
37751
37752 * kern/i386/loader.S: New file.
37753
37754 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
37755 * kern/i386/loader.S (grub_linux_prot_size)... to here.
37756 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
37757 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
37758 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
37759 * kern/i386/loader.S (grub_linux_real_addr)... to here.
37760 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
37761 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
37762 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
37763 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
37764 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
37765 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
37766 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
37767 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
37768
37769 * kern/i386/realmode.S: New file.
37770
37771 * kern/i386/pc/startup.S (protstack): Moved from here ...
37772 * kern/i386/realmode.S (protstack)... to here.
37773 * kern/i386/pc/startup.S (gdt): Moved from here ...
37774 * kern/i386/realmode.S (gdt)... to here.
37775 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
37776 * kern/i386/realmode.S (prot_to_real)... to here.
37777
37778 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
37779 `kern/i386/realmode.S'.
37780
825fc8fd 377812007-10-17 Robert Millan <rmh@aybabtu.com>
37782
37783 * include/grub/i386/loader.h: New file.
37784
37785 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
37786 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
37787 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
37788 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
37789 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
37790 * include/grub/i386/loader.h (grub_linux_prot_size)
37791 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
37792 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
37793 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
37794 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
37795
37796 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
37797
e179b2f4 377982007-10-15 Robert Millan <rmh@aybabtu.com>
37799
37800 * normal/misc.c (grub_normal_print_device_info): Do not probe for
37801 filesystem when dev->disk is unset.
37802 Do probe for filesystem even when dev->disk->has_partitions is set.
37803 In case a filesystem is found, always report it.
37804 In case it isn't, if dev->disk->has_partitions is set, report that
37805 a partition table was found instead of reporting that no filesystem
37806 could be identified.
37807
5db82af6 378082007-10-12 Robert Millan <rmh@aybabtu.com>
37809
37810 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
37811 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
37812
68f6ac74 37813 * include/grub/types.h (grub_host_to_target16): New macro.
37814 (grub_host_to_target32): Likewise.
37815 (grub_host_to_target64): Likewise.
37816 (grub_target_to_host16): Likewise.
37817 (grub_target_to_host32): Likewise.
37818 (grub_target_to_host64): Likewise.
5db82af6 37819
37820 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
37821 Renamed from to ...
37822 (GRUB_MOD_ALIGN): ...this. Update all users.
37823
68f6ac74 37824 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
37825 grub_host_to_target32.
37826 Replace grub_be_to_cpu32 with grub_target_to_host32.
37827 (load_modules): Likewise.
37828 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
37829 Replace grub_be_to_cpu32 with grub_target_to_host32.
37830 Replace grub_cpu_to_be16 with grub_host_to_target16.
37831 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 37832
3cf497cc 378332007-10-12 Robert Millan <rmh@aybabtu.com>
37834
37835 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
37836 * util/elf/grub-mkimage.c: ... here.
37837
37838 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
37839 `util/powerpc/ieee1275/grub-mkimage.c'.
37840
c8cc3692 378412007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 37842
c8cc3692 37843 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
37844 and make it easier to figure out.
37845 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
37846 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
37847 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
37848 leave us with less than HEAP_MIN_SIZE total heap.
37849 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 37850
5c58b791 378512007-10-03 Robert Millan <rmh@aybabtu.com>
37852
37853 * include/grub/i386/io.h: New file.
37854 * commands/i386/pc/play.c (inb): Removed.
37855 (outb): Removed.
37856 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
37857 with grub_outb().
afcd2ef8 37858 * term/i386/pc/serial.c (inb): Removed.
37859 (outb): Removed.
37860 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
37861 with grub_outb().
37862 * term/i386/pc/vga.c (inb): Removed.
37863 (outb): Removed.
37864 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
37865 with grub_outb().
5c58b791 37866
1a477ed6 378672007-10-02 Robert Millan <rmh@aybabtu.com>
37868
37869 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
37870 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37871 Reported by Marcin Kurek.
37872
6b5d80fa 378732007-09-07 Robert Millan <rmh@aybabtu.com>
37874
37875 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
37876 SmartFirmware version updates (as released by Sven Luther), and avoid
37877 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
37878 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
37879 known broken.
37880
5618afbf 378812007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37882
37883 From Hitoshi Ozeki:
37884 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
37885 when merging two regions.
37886
6139dcd9 378872007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37888
508e39ee 37889 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
37890 * normal/completion.c (grub_normal_do_completion): Likewise.
37891 Reported by Hitoshi Ozeki.
37892
378932007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 37894
6139dcd9 37895 Do not use devices at boot in chainloading.
f19dbdb7 37896
6139dcd9 37897 * loader/i386/pc/chainloader.c (boot_drive): New variable.
37898 (boot_part_addr): Likewise.
37899 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
37900 with BOOT_DRIVE and BOOT_PART_ADDR.
37901 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
37902 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
37903
38da6516 379042007-08-29 Robert Millan <rmh@aybabtu.com>
37905
37906 Patch from Simon Peter <dn.tlp@gmx.net>:
37907 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
37908 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
37909 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
37910 util/i386/pc/grub-setup.c_DEPENDENCIES.
37911 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
37912 util/grub-probe.c_DEPENDENCIES.
37913 * conf/powerpc-ieee1275.rmk: Likewise.
37914
29d0928c 379152007-08-28 Robert Millan <rmh@aybabtu.com>
37916
37917 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
37918 to tell grub-mkdevicemap how to name devices.
37919 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
37920 feature).
37921
37922 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
37923 util/i386/get_disk_name.c.
37924 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
37925 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
37926 util/ieee1275/get_disk_name.c.
37927
37928 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
37929
37930 * DISTLIST: Add util/i386/get_disk_name.c and
37931 util/ieee1275/get_disk_name.c.
37932
37933 * util/grub-mkdevicemap.c: Replace device naming logic with
37934 grub_util_get_disk_name() calls.
37935
5a0d3cca 379362007-08-20 Robert Millan <rmh@aybabtu.com>
37937
37938 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
37939 (so that it works for both plural and singular quantities).
37940
8b72db2f 379412007-08-05 Robert Millan <rmh@aybabtu.com>
37942
37943 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
37944 so that [xz] isn't taken into account when determining order.
37945
352466bf 379462007-08-02 Marco Gerards <marco@gnu.org>
37947
37948 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
37949 `include/multiboot2.h', `include/grub/elfload.h',
37950 `include/multiboot.h', `include/grub/multiboot.h',
37951 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
37952 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
37953 `kern/elf.c', `loader/multiboot_loader.c',
37954 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
37955 `loader/i386/pc/multiboot2.c',
37956 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
37957 `util/i386/pc/grub-mkrescue.in'. Remove
37958 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
37959 `include/grub/i386/pc/util/biosdisk.h' and
37960 `include/grub/powerpc/ieee1275/multiboot.h'.
37961
8f096014 379622007-08-02 Bean <bean123ch@gmail.com>
37963
37964 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
37965 (ntfs_mod_SOURCES): New variable.
37966 (ntfs_mod_CFLAGS): Likewise.
37967 (ntfs_mod_LDFLAGS): Likewise.
37968
37969 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
37970 (grub_probe_SOURCES): Likewise.
37971 (grub_emu_SOURCES): Likewise.
37972
37973 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
37974 (grub_emu_SOURCES): Likewise.
37975
37976 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
37977 (grub_emu_SOURCES): Likewise.
f19dbdb7 37978
8f096014 37979 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
37980
37981 * fs/ntfs.c: New file.
37982
9959f7db 379832007-08-02 Bean <bean123ch@gmail.com>
37984
37985 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
37986
37987 * file.h (grub_file): Likewise.
37988
37989 * fshelp.h (grub_fshelp_read_file): Likewise.
37990
37991 * util/i386/pc/grub-setup.c (setup): Likewise.
37992 (save_first_sector): Likewise.
37993 (save_blocklists): Likewise.
f19dbdb7 37994
9959f7db 37995 * fs/affs.c (grub_affs_read_file): Likewise.
37996
37997 * fs/ext2.c (grub_ext2_read_file): Likewise.
37998
37999 * fs/fat.c (grub_fat_read_data): Likewise.
38000
38001 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
38002
38003 * fs/hfs.c (grub_hfs_read_file): Likewise.
38004
38005 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
38006
38007 * fs/jfs.c (grub_jfs_read_file): Likewise.
38008
38009 * fs/minix.c (grub_minix_read_file): Likewise.
38010
38011 * fs/sfs.c (grub_sfs_read_file): Likewise.
38012
38013 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 38014
9959f7db 38015 * fs/xfs.c (grub_xfs_read_file): Likewise.
38016
38017 * command/blocklist.c (read_blocklist): Likewise.
38018 (print_blocklist): Likewise.
38019
0a203f83 380202007-08-02 Marco Gerards <marco@gnu.org>
38021
38022 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
38023 `util/hostfs.c'.
38024
38025 * disk/host.c: New file.
38026
38027 * util/hostfs.c: Likewise.
38028
38029 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
38030 return `GRUB_ERR_BAD_FS'.
38031 * fs/sfs.c (grub_sfs_mount): Likewise.
38032 * fs/xfs.c (grub_xfs_mount): Likewise.
38033
38034 * include/grub/disk.h (enum grub_disk_dev_id): Add
38035 `GRUB_DISK_DEVICE_HOST_ID'.
38036
38037 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
38038
e5dfe777 380392007-07-24 Jerone Young <jerone@gmail.com>
38040
f19dbdb7 38041 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 38042 modules for compilation.
38043 * conf/powerpc-ieee1275.rmk: Likewise.
38044
38045 * include/multiboot.h: Move multiboot definitions to one file. Rename
38046 many definitions to not get grub specific.
38047 * include/multiboot2.h: Create header with multiboot 2 definitions.
38048 * include/grub/multiboot.h: Header for grub specific function
38049 prototypes and definitions.
38050 * include/grub/multiboot2.h: Likewise.
38051 * include/grub/multiboot_loader.h: Likewise.
38052 * include/grub/i386/pc/multiboot.h: Removed.
38053 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
38054
38055 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
38056 and 2 to allow for one multiboot and module commands.
38057 * loader/multiboot2.c: Add multiboot2 functionality.
38058 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
38059 and definition names.
38060 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
38061 2 functions.
38062 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
38063 ieee1275 specific multiboot2 code.
38064
38065 * kern/i386/pc/startup.S: Change headers and definition names for
38066 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
38067
daf0f0ba 380682007-07-22 Robert Millan <rmh@aybabtu.com>
38069
38070 * geninitheader.sh: Process file specified in first parameter rather
38071 than hardcoding grub_modules_init.lst.
fe6b695a 38072 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 38073 than hardcoding grub_modules_init.h.
38074
38075 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
38076 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
38077 grub_probe_init.[ch] and grub_setup_init.[ch].
38078
38079 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
38080 grub_modules_init.h with grub_emu_init.h.
38081 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
38082 grub_probe_init.[ch] files.
38083 * conf/i386-efi.rmk: Likewise.
38084 * conf/i386-pc.rmk: Likewise.
38085 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
38086 grub_setup_init.[ch] files.
38087
38088 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
38089 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
38090 to initialize modules rather than a list of hardcoded functions.
38091 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
38092 grub_init_all() to initialize modules rather than a list of hardcoded
38093 functions.
38094
54cdc1cc 380952007-07-22 Robert Millan <rmh@aybabtu.com>
38096
38097 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
38098 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
38099
ad0686cc 381002007-07-22 Robert Millan <rmh@aybabtu.com>
38101
38102 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
38103 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
38104 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
38105 flag when running on SmartFirmware.
38106 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
38107 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
38108 was set.
38109
38110 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
38111 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
38112 rather than decreasing it.
38113
38114 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
38115 there's not enough space to do it, fail in the same way as when it
38116 can't be done because there are no partitions.
38117
38118 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
38119 when nvsetenv failed.
38120
969c02ec 381212007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
38122
38123 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
38124 because this rule is automatically generated.
38125 (grub-mkrescue): Removed for the same reason as above.
38126
5a79f472 381272007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
38128
38129 Migrate to GNU General Public License Version 3.
f19dbdb7 38130
5a79f472 38131 * COPYING: Replaced with the plain text version of GPLv3.
38132
38133 * config.guess: Updated from gnulib.
38134 * config.sub: Likewise.
38135
38136 * geninit.sh: Output a GPLv3 copyright notice.
38137 * geninitheader.sh: Likewise.
38138 * genmodsrc.sh: Likewise.
38139 * gensymlist.sh.in: Likewise.
38140
38141 * boot/i386/pc/boot.S: Upgraded to GPLv3.
38142 * boot/i386/pc/diskboot.S: Likewise.
38143 * boot/i386/pc/pxeboot.S: Likewise.
38144 * commands/blocklist.c: Likewise.
38145 * commands/boot.c: Likewise.
38146 * commands/cat.c: Likewise.
38147 * commands/cmp.c: Likewise.
38148 * commands/configfile.c: Likewise.
38149 * commands/echo.c: Likewise.
38150 * commands/help.c: Likewise.
38151 * commands/ls.c: Likewise.
38152 * commands/search.c: Likewise.
38153 * commands/terminal.c: Likewise.
38154 * commands/test.c: Likewise.
38155 * commands/videotest.c: Likewise.
38156 * commands/i386/cpuid.c: Likewise.
38157 * commands/i386/pc/halt.c: Likewise.
38158 * commands/i386/pc/play.c: Likewise.
38159 * commands/i386/pc/reboot.c: Likewise.
38160 * commands/i386/pc/vbeinfo.c: Likewise.
38161 * commands/i386/pc/vbetest.c: Likewise.
38162 * commands/ieee1275/halt.c: Likewise.
38163 * commands/ieee1275/reboot.c: Likewise.
38164 * commands/ieee1275/suspend.c: Likewise.
38165 * disk/loopback.c: Likewise.
38166 * disk/lvm.c: Likewise.
38167 * disk/raid.c: Likewise.
38168 * disk/efi/efidisk.c: Likewise.
38169 * disk/i386/pc/biosdisk.c: Likewise.
38170 * disk/ieee1275/ofdisk.c: Likewise.
38171 * font/manager.c: Likewise.
38172 * fs/affs.c: Likewise.
38173 * fs/ext2.c: Likewise.
38174 * fs/fat.c: Likewise.
38175 * fs/fshelp.c: Likewise.
38176 * fs/hfs.c: Likewise.
38177 * fs/hfsplus.c: Likewise.
38178 * fs/iso9660.c: Likewise.
38179 * fs/jfs.c: Likewise.
38180 * fs/minix.c: Likewise.
38181 * fs/sfs.c: Likewise.
38182 * fs/ufs.c: Likewise.
38183 * fs/xfs.c: Likewise.
38184 * hello/hello.c: Likewise.
38185 * include/grub/acorn_filecore.h: Likewise.
38186 * include/grub/arg.h: Likewise.
38187 * include/grub/bitmap.h: Likewise.
38188 * include/grub/boot.h: Likewise.
38189 * include/grub/cache.h: Likewise.
38190 * include/grub/device.h: Likewise.
38191 * include/grub/disk.h: Likewise.
38192 * include/grub/dl.h: Likewise.
38193 * include/grub/elfload.h: Likewise.
38194 * include/grub/env.h: Likewise.
38195 * include/grub/err.h: Likewise.
38196 * include/grub/file.h: Likewise.
38197 * include/grub/font.h: Likewise.
38198 * include/grub/fs.h: Likewise.
38199 * include/grub/fshelp.h: Likewise.
38200 * include/grub/gzio.h: Likewise.
38201 * include/grub/hfs.h: Likewise.
38202 * include/grub/kernel.h: Likewise.
38203 * include/grub/loader.h: Likewise.
38204 * include/grub/lvm.h: Likewise.
38205 * include/grub/misc.h: Likewise.
38206 * include/grub/mm.h: Likewise.
38207 * include/grub/net.h: Likewise.
38208 * include/grub/normal.h: Likewise.
38209 * include/grub/parser.h: Likewise.
38210 * include/grub/partition.h: Likewise.
38211 * include/grub/pc_partition.h: Likewise.
38212 * include/grub/raid.h: Likewise.
38213 * include/grub/rescue.h: Likewise.
38214 * include/grub/script.h: Likewise.
38215 * include/grub/setjmp.h: Likewise.
38216 * include/grub/symbol.h: Likewise.
38217 * include/grub/term.h: Likewise.
38218 * include/grub/terminfo.h: Likewise.
38219 * include/grub/tparm.h: Likewise.
38220 * include/grub/types.h: Likewise.
38221 * include/grub/video.h: Likewise.
38222 * include/grub/efi/api.h: Likewise.
38223 * include/grub/efi/chainloader.h: Likewise.
38224 * include/grub/efi/console.h: Likewise.
38225 * include/grub/efi/console_control.h: Likewise.
38226 * include/grub/efi/disk.h: Likewise.
38227 * include/grub/efi/efi.h: Likewise.
38228 * include/grub/efi/pe32.h: Likewise.
38229 * include/grub/efi/time.h: Likewise.
38230 * include/grub/i386/linux.h: Likewise.
38231 * include/grub/i386/setjmp.h: Likewise.
38232 * include/grub/i386/types.h: Likewise.
38233 * include/grub/i386/efi/kernel.h: Likewise.
38234 * include/grub/i386/efi/loader.h: Likewise.
38235 * include/grub/i386/efi/time.h: Likewise.
38236 * include/grub/i386/pc/biosdisk.h: Likewise.
38237 * include/grub/i386/pc/boot.h: Likewise.
38238 * include/grub/i386/pc/chainloader.h: Likewise.
38239 * include/grub/i386/pc/console.h: Likewise.
38240 * include/grub/i386/pc/init.h: Likewise.
38241 * include/grub/i386/pc/kernel.h: Likewise.
38242 * include/grub/i386/pc/loader.h: Likewise.
38243 * include/grub/i386/pc/memory.h: Likewise.
38244 * include/grub/i386/pc/multiboot.h: Likewise.
38245 * include/grub/i386/pc/serial.h: Likewise.
38246 * include/grub/i386/pc/time.h: Likewise.
38247 * include/grub/i386/pc/vbe.h: Likewise.
38248 * include/grub/i386/pc/vbeblit.h: Likewise.
38249 * include/grub/i386/pc/vbefill.h: Likewise.
38250 * include/grub/i386/pc/vbeutil.h: Likewise.
38251 * include/grub/i386/pc/vga.h: Likewise.
38252 * include/grub/ieee1275/ieee1275.h: Likewise.
38253 * include/grub/ieee1275/ofdisk.h: Likewise.
38254 * include/grub/powerpc/libgcc.h: Likewise.
38255 * include/grub/powerpc/setjmp.h: Likewise.
38256 * include/grub/powerpc/types.h: Likewise.
38257 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
38258 * include/grub/powerpc/ieee1275/console.h: Likewise.
38259 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
38260 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
38261 * include/grub/powerpc/ieee1275/loader.h: Likewise.
38262 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
38263 * include/grub/powerpc/ieee1275/time.h: Likewise.
38264 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
38265 * include/grub/sparc64/libgcc.h: Likewise.
38266 * include/grub/sparc64/setjmp.h: Likewise.
38267 * include/grub/sparc64/types.h: Likewise.
38268 * include/grub/sparc64/ieee1275/console.h: Likewise.
38269 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
38270 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
38271 * include/grub/sparc64/ieee1275/time.h: Likewise.
38272 * include/grub/util/biosdisk.h: Likewise.
38273 * include/grub/util/getroot.h: Likewise.
38274 * include/grub/util/lvm.h: Likewise.
38275 * include/grub/util/misc.h: Likewise.
38276 * include/grub/util/raid.h: Likewise.
38277 * include/grub/util/resolve.h: Likewise.
38278 * io/gzio.c: Likewise.
38279 * kern/device.c: Likewise.
38280 * kern/disk.c: Likewise.
38281 * kern/dl.c: Likewise.
38282 * kern/elf.c: Likewise.
38283 * kern/env.c: Likewise.
38284 * kern/err.c: Likewise.
38285 * kern/file.c: Likewise.
38286 * kern/fs.c: Likewise.
38287 * kern/loader.c: Likewise.
38288 * kern/main.c: Likewise.
38289 * kern/misc.c: Likewise.
38290 * kern/mm.c: Likewise.
38291 * kern/parser.c: Likewise.
38292 * kern/partition.c: Likewise.
38293 * kern/rescue.c: Likewise.
38294 * kern/term.c: Likewise.
38295 * kern/efi/efi.c: Likewise.
38296 * kern/efi/init.c: Likewise.
38297 * kern/efi/mm.c: Likewise.
38298 * kern/i386/dl.c: Likewise.
38299 * kern/i386/efi/init.c: Likewise.
38300 * kern/i386/efi/startup.S: Likewise.
38301 * kern/i386/pc/init.c: Likewise.
38302 * kern/i386/pc/lzo1x.S: Likewise.
38303 * kern/i386/pc/startup.S: Likewise.
38304 * kern/ieee1275/ieee1275.c: Likewise.
38305 * kern/powerpc/cache.S: Likewise.
38306 * kern/powerpc/dl.c: Likewise.
38307 * kern/powerpc/ieee1275/cmain.c: Likewise.
38308 * kern/powerpc/ieee1275/crt0.S: Likewise.
38309 * kern/powerpc/ieee1275/init.c: Likewise.
38310 * kern/powerpc/ieee1275/openfw.c: Likewise.
38311 * kern/sparc64/cache.S: Likewise.
38312 * kern/sparc64/dl.c: Likewise.
38313 * kern/sparc64/ieee1275/init.c: Likewise.
38314 * kern/sparc64/ieee1275/openfw.c: Likewise.
38315 * loader/efi/chainloader.c: Likewise.
38316 * loader/efi/chainloader_normal.c: Likewise.
38317 * loader/i386/efi/linux.c: Likewise.
38318 * loader/i386/efi/linux_normal.c: Likewise.
38319 * loader/i386/pc/chainloader.c: Likewise.
38320 * loader/i386/pc/chainloader_normal.c: Likewise.
38321 * loader/i386/pc/linux.c: Likewise.
38322 * loader/i386/pc/linux_normal.c: Likewise.
38323 * loader/i386/pc/multiboot.c: Likewise.
38324 * loader/i386/pc/multiboot_normal.c: Likewise.
38325 * loader/powerpc/ieee1275/linux.c: Likewise.
38326 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38327 * normal/arg.c: Likewise.
38328 * normal/cmdline.c: Likewise.
38329 * normal/command.c: Likewise.
38330 * normal/completion.c: Likewise.
38331 * normal/execute.c: Likewise.
38332 * normal/function.c: Likewise.
38333 * normal/lexer.c: Likewise.
38334 * normal/main.c: Likewise.
38335 * normal/menu.c: Likewise.
38336 * normal/menu_entry.c: Likewise.
38337 * normal/misc.c: Likewise.
38338 * normal/parser.y: Likewise.
38339 * normal/script.c: Likewise.
38340 * normal/i386/setjmp.S: Likewise.
38341 * normal/powerpc/setjmp.S: Likewise.
38342 * normal/sparc64/setjmp.S: Likewise.
38343 * partmap/acorn.c: Likewise.
38344 * partmap/amiga.c: Likewise.
38345 * partmap/apple.c: Likewise.
38346 * partmap/gpt.c: Likewise.
38347 * partmap/pc.c: Likewise.
38348 * partmap/sun.c: Likewise.
38349 * term/gfxterm.c: Likewise.
38350 * term/terminfo.c: Likewise.
38351 * term/efi/console.c: Likewise.
38352 * term/i386/pc/console.c: Likewise.
38353 * term/i386/pc/serial.c: Likewise.
38354 * term/i386/pc/vesafb.c: Likewise.
38355 * term/i386/pc/vga.c: Likewise.
38356 * term/ieee1275/ofconsole.c: Likewise.
38357 * util/biosdisk.c: Likewise.
38358 * util/console.c: Likewise.
38359 * util/genmoddep.c: Likewise.
38360 * util/getroot.c: Likewise.
38361 * util/grub-emu.c: Likewise.
38362 * util/grub-mkdevicemap.c: Likewise.
38363 * util/grub-probe.c: Likewise.
38364 * util/lvm.c: Likewise.
38365 * util/misc.c: Likewise.
38366 * util/raid.c: Likewise.
38367 * util/resolve.c: Likewise.
38368 * util/update-grub.in: Likewise.
38369 * util/update-grub_lib.in: Likewise.
38370 * util/grub.d/00_header.in: Likewise.
38371 * util/grub.d/10_hurd.in: Likewise.
38372 * util/grub.d/10_linux.in: Likewise.
38373 * util/i386/efi/grub-install.in: Likewise.
38374 * util/i386/efi/grub-mkimage.c: Likewise.
38375 * util/i386/pc/grub-install.in: Likewise.
38376 * util/i386/pc/grub-mkimage.c: Likewise.
38377 * util/i386/pc/grub-mkrescue.in: Likewise.
38378 * util/i386/pc/grub-setup.c: Likewise.
38379 * util/i386/pc/misc.c: Likewise.
38380 * util/powerpc/ieee1275/grub-install.in: Likewise.
38381 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
38382 * util/powerpc/ieee1275/misc.c: Likewise.
38383 * video/bitmap.c: Likewise.
38384 * video/video.c: Likewise.
38385 * video/i386/pc/vbe.c: Likewise.
38386 * video/i386/pc/vbeblit.c: Likewise.
38387 * video/i386/pc/vbefill.c: Likewise.
38388 * video/i386/pc/vbeutil.c: Likewise.
38389 * video/readers/tga.c: Likewise.
38390
3572d015 383912007-07-02 Robert Millan <rmh@aybabtu.com>
38392
38393 * conf/i386-efi.rmk: Replace obsolete reference to
38394 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
38395 with util/getroot.c.
38396 * conf/powerpc-ieee1275.rmk: Likewise.
38397 * conf/sparc64-ieee1275.rmk: Likewise.
38398
38399 * util/grub-emu.c (main): Fix unchecked pointer handling.
38400
2c2a681b 384012007-07-02 Robert Millan <rmh@aybabtu.com>
38402
38403 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
38404 invocation to fail, in order to support partition-less media.
38405
38406 * util/i386/pc/grub-install.in: Likewise.
38407
38408 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
38409 which fs or partmap modules are needed (akin to its sister scripts).
38410
38411 Also use grub-probe to get rid of unportable /proc/mounts check.
38412
38413 Print the same informational message that the other scripts do, before
fe6b695a 38414 exiting.
2c2a681b 38415
6193defe 384162007-06-23 Robert Millan <rmh@aybabtu.com>
38417
fe6b695a 38418 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 38419 a font file can be found and, if so, echo the GRUB path to it.
38420
38421 * util/update-grub.in: Handle multiple terminals depending on user
38422 input, platform availability and font file presence. Propagate
38423 variables of our findings to /etc/grub.d/ children.
38424
38425 * util/grub.d/00_header.in: Handle multiple terminals, based on
38426 environment setup by update-grub.
38427
eface1dc 384282007-06-23 Robert Millan <rmh@aybabtu.com>
38429
ba50d28f 38430 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 38431
bf697e28 384322007-06-21 Robert Millan <rmh@aybabtu.com>
38433
38434 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
38435 indicate end of data section in kernel image.
38436 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
38437 GRUB_KERNEL_MACHINE_DATA_END.
38438
38439 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
38440 space for it.
38441 * kern/i386/efi/startup.S: Likewise.
38442
38443 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
38444 during image generation. Implement --prefix option to override this
38445 patch.
38446 * util/i386/efi/grub-mkimage.c: Likewise.
38447
38448 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
38449 code to make path relative to its root into a separate function.
38450
38451 * util/i386/pc/grub-install.in: Use newly provided
38452 make_system_path_relative_to_its_root() to convert ${grubdir}, then
38453 pass the result to grub-install --prefix.
38454
baa574b4 384552007-06-13 Robert Millan <rmh@aybabtu.com>
38456
38457 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
38458 DEFAULT_DEVICE_MAP.
38459 * util/grub-emu.c: Use above definitions from misc.h instead of
38460 defining them.
38461 * util/grub-mkdevicemap.c: Likewise.
38462 * util/i386/pc/grub-setup.c: Likewise.
38463 * util/grub-probe.c: Likewise.
38464 (probe): Abort with grub_util_error() when either
38465 grub_guess_root_device or grub_util_get_grub_dev fails.
38466
0215dcbf 384672007-06-12 Robert Millan <rmh@aybabtu.com>
38468
38469 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
38470 "pager" assignment.
38471 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
38472 "pcdata".
38473 * util/grub-probe.c (probe): Likewise for "drive_name".
38474
8af2ab7b 384752007-06-11 Robert Millan <rmh@aybabtu.com>
38476
38477 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
38478 not just the cdrom one.
38479
59d31694 384802007-06-11 Robert Millan <rmh@aybabtu.com>
38481
38482 * util/i386/pc/grub-mkrescue.in: Add "set -e".
38483 Add --pkglibdir=DIR option to override pkglibdir.
38484 Mention --image-type=TYPE in help output.
38485 Fix --grub-mkimage (it was a no-op).
fe6b695a 38486 Abort gracefully when no parameter is given.
59d31694 38487
7ee367e4 384882007-06-11 Robert Millan <rmh@aybabtu.com>
38489
38490 * util/i386/pc/grub-mkrescue.in: New file.
38491 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
38492 * Makefile.in: Handle bin_SCRIPTS.
38493
29b0ed46 384942007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
38495
38496 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
38497 list of video modes.
38498
c0f90770 384992007-06-06 Robert Millan <rmh@aybabtu.com>
38500
38501 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
38502 file doesn't exist, or if it is in a filesystem grub can't read.
38503
38504 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
38505 not abort if GRUB_DRIVE could not be defined. Rearrange generated
38506 header comment to fit in 80 columns when the variables are resolved.
38507
38508 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
38509 could be identified by update-grub. Remove redundant check for
fe6b695a 38510 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 38511 handles that).
38512
fb36dc26 385132007-06-04 Robert Millan <rmh@aybabtu.com>
38514
38515 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
38516
38517 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
38518
38519 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
38520
0c68c93e 385212007-06-04 Robert Millan <rmh@aybabtu.com>
38522
38523 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
38524
38525 * include/grub/partition.h: Declare grub_apple_partition_map_init and
38526 grub_apple_partition_map_fini.
38527
38528 * util/biosdisk.c
38529 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
38530 to access >2 TiB disks).
38531
38532 Print disk->total_sectors with %llu instead of %lu, since this
38533 variable is always 64-bit (prevents wrong disk size from being displayed
38534 on either >2 TiB disk or big-endian CPU).
38535
38536 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
38537 into a generic case that supports all (sane) partition maps.
38538
38539 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
38540 breaks big-endian.
38541
38542 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
38543 and grub_apple_partition_map_fini() after that.
38544
0f23eb74 385452007-06-01 Robert Millan <rmh@aybabtu.com>
38546
38547 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
38548
38549 * util/grub.d/00_header.in: Only enable gfxterm when
38550 convert_system_path_to_grub_path() succeeds.
38551
42c71976 385522007-05-20 Robert Millan <rmh@aybabtu.com>
38553
38554 * util/update-grub_lib.in: New file.
38555 * DISTLIST: Add update-grub_lib.in.
38556 * conf/common.rmk: Generate update-grub_lib and install it in
38557 $(lib_DATA).
38558 * Makefile.in: Add install routine for $(lib_DATA).
38559
38560 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
38561 function provided by update-grub_lib to support arbitrary paths of
38562 unifont.pff.
38563 * util/update-grub.in: Use convert_system_path_to_grub_path() to
38564 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
38565
5beb2291 385662007-05-19 Robert Millan <rmh@aybabtu.com>
38567
38568 * commands/i386/cpuid.c: New module.
38569 * DISTLIST: Add it.
38570 * conf/i386-efi.rmk: Enable cpuid.mod.
38571 * conf/i386-pc.rmk: Likewise.
38572
7262eca1 385732007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
38574
38575 * kern/disk.c (grub_disk_read): Check return value of
38576 grub_realloc().
38577
260ba823 385782007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
38579
38580 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
38581 arrays.
38582 * disk/raid.c (grub_raid_open): Likewise.
38583
1ecb6cf2 385842007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
38585
38586 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
38587 stack instead of on the heap.
38588
38589 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
38590 before doing a read on it.
38591
38592 * configure.ac: Only use -fno-stack-protector for the target
38593 environment.
f19dbdb7 38594
21c8cbb1 385952007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
38596
38597 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
38598 __attribute_ ((unused)) to mode_type argument.
38599
38600 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 38601
21c8cbb1 38602 * kern/misc.c (memcmp): Fix prototype.
38603
38604 * include/grub/partition.h [GRUB_UTIL]
38605 (grub_gpt_partition_map_init): Add prototype.
38606 (grub_gpt_partition_map_fini): Likewise.
38607
38608 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
38609 at the right place.
38610
38611 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
38612 (grub_fat_read_data): Likewise.
38613 (grub_fat_find_dir): Likewise.
38614
38615 * font/manager.c (find_glyph): Make table a const.
38616 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 38617
849d55d3 386182007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
38619
38620 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
38621 code, first search for device in /dev/mapper, then in /dev.
38622 (grub_util_get_grub_dev): New function.
38623 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
38624 prototype.
38625 * util/grub-probe.c (probe): Remove check for RAID, call
38626 grub_util_get_grub_dev() instead of
38627 grub_util_biosdisk_get_grub_dev().
38628 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
38629 grub_util_biosdisk_get_grub_dev().
38630 * util/i386/pc/grub-setup.c (main): Likewise.
38631
8fff7c2f 386322007-05-16 Robert Millan <rmh@aybabtu.com>
38633
38634 * DISTLIST: Update for the latest changes.
38635 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
38636 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
38637 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
38638 grub/util/biosdisk.h.
38639 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
38640 grub/util/biosdisk.h.
38641
48e12b52 386422007-05-16 Robert Millan <rmh@aybabtu.com>
38643
38644 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
38645
46b9d128 386462007-05-16 Robert Millan <rmh@aybabtu.com>
38647
38648 * util/i386/efi/grub-install.in: New.
38649 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
38650 newly added grub-install.
38651 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
38652 include.
38653 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
38654 grub/util/biosdisk.h.
38655 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
38656 grub/util/biosdisk.h.
38657
2d1a40a9 386582007-05-16 Robert Millan <rmh@aybabtu.com>
38659
38660 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
38661 * include/grub/util/biosdisk.h: ... here.
38662 * util/i386/pc/biosdisk.c: Moved to ...
38663 * util/biosdisk.c: ... here.
38664 * util/i386/pc/getroot.c: Moved to ...
38665 * util/getroot.c: ... here.
38666 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
38667 * util/grub-mkdevicemap.c: ... here.
38668 * util/i386/pc/grub-probe.c: Moved to ...
38669 * util/grub-probe.c: ... here.
38670
9e26e3bc 386712007-05-15 Robert Millan <rmh@aybabtu.com>
38672
38673 * util/update-grub.in: Remove duplicated line in grub.cfg header
38674 message.
38675
57f96397 386762007-05-13 Robert Millan <rmh@aybabtu.com>
38677
38678 * util/update-grub.in: Fix a few assumptions about the devices holding
38679 /, /boot and /boot/grub being the same.
38680 * util/grub.d/00_header.in: Likewise.
38681 * util/grub.d/10_hurd.in: Likewise.
38682 * util/grub.d/10_linux.in: Likewise.
38683
38684 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
38685 patterns. Use that to define the `.old' suffix as older than `'.
38686
38687 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
38688
38689 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
38690 the grub.cfg header message.
38691
2e610d62 386922007-05-11 Robert Millan <rmh@aybabtu.com>
38693
38694 * util/update-grub.in: Create device.map if it doesn't already exist,
38695 before attempting to run grub-probe.
38696 Check for grub-probe and grub-mkdevicemap with the same code
38697 grub-install is using.
38698 Remove test mode.
38699
3f6a10ef 387002007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
38701
38702 * Makefile.in: Add the datarootdir autoconf variable.
38703
02e7b75e 387042007-05-09 Robert Millan <rmh@aybabtu.com>
38705
38706 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 38707 fail gracefully if dev->disk->partition == NULL.
02e7b75e 38708
75f396cc 387092007-05-07 Robert Millan <rmh@aybabtu.com>
38710
38711 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
38712 determine partition map module.
38713 * util/i386/pc/grub-install.in: Use this feature to decide which
38714 partition module to load, instead of hardcoding pc and gpt.
38715
da65cb36 387162007-05-07 Robert Millan <rmh@aybabtu.com>
38717
38718 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
38719 source directory differs from build directory.
38720
b57d6a91 387212007-05-05 Robert Millan <rmh@aybabtu.com>
38722
38723 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
38724 initialisation.
38725
509d00f1 387262007-05-05 Robert Millan <rmh@aybabtu.com>
38727
38728 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
38729
c48f23ef 387302007-05-05 Robert Millan <rmh@aybabtu.com>
38731
38732 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
38733 command-line arguments via ${GRUB_CMDLINE_LINUX}.
38734
20b97658 387352007-05-05 Robert Millan <rmh@aybabtu.com>
38736
38737 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
38738 (grub_probe_SOURCES): Likewise.
38739 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
38740 GPT and initialize dos_part and bsd_part accordingly.
38741 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
38742 install_bsd_part.
38743 (main): Activate gpt module for use during partition identification,
38744 and deactivate it afterwards.
38745 * util/i386/pc/grub-install.in: Add gpt module to core.img.
38746 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
38747 partition identification, and deactivate it afterwards.
38748
99123174 387492007-05-05 Robert Millan <rmh@aybabtu.com>
38750
38751 * term/i386/pc/console.c (grub_console_fini): Call
38752 grub_term_set_current() before grub_term_unregister().
38753
ebd97f6e 387542007-05-04 Robert Millan <rmh@aybabtu.com>
38755
38756 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
38757 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
38758 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
38759 and update-grub_DATA.
38760 * conf/common.rmk: Build and install update-grub components.
38761 * conf/common.mk: Regenerate.
38762 * util/update-grub.in: New. Core of update-grub.
38763 * util/grub.d/00_header.in: New. Generates grub.cfg header.
38764 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
38765 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
38766 * util/grub.d/README: New. Document grub.d directory layout.
38767
b06a264d 387682007-05-01 Robert Millan <rmh@aybabtu.com>
38769
38770 * util/grub-emu.c: Move initialization functions
38771 grub_util_biosdisk_init() and grub_init_all() before
38772 grub_util_biosdisk_get_grub_dev(), which relies on them.
38773
41f0050e 387742007-04-19 Robert Millan <rmh@aybabtu.com>
38775
38776 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
38777 it is used later.
38778
04582bb3 387792007-04-18 Jerone Young <jerone@gmail.com>
38780
f19dbdb7 38781 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 38782 stanza.
38783
08db4632 387842007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 38785
08db4632 38786 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
38787 continue on and look for device node with real device name.
38788
801b76be 387892007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 38790
fe6b695a 38791 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 38792 ability.
38793 * Makefile.in: Add autoconf package transformation code.
38794 * util/i386/pc/grub-install.in: Likewise.
38795 * util/powerpc/ieee1275/grub-install.in: Likewise.
38796
6795c4e1 387972007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
38798
38799 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
38800 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
38801 (EXT2_REVISION): Likewise.
38802 (EXT2_INODE_SIZE): Likewise.
38803 (struct grub_ext2_block_group): Added a missing member
38804 "used_dirs".
38805 (grub_ext2_read_inode): Divide by the inode size in a superblock
38806 instead of 128 to obtain INODES_PER_BLOCK.
38807 Use the macro EXT2_INODE_SIZE instead of directly using
38808 SBLOCK->INODE_SIZE.
38809
d70af616 388102007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
38811
38812 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
38813 superblock instead of the structure size to compute an
38814 offset. This fixes the problem that GRUB could not read a
38815 filesystem when inode size is different from 128-byte.
38816
3b801603 388172007-03-05 Marco Gerards <marco@gnu.org>
38818
38819 * normal/main.c (read_config_file): When "menu" is not set, create
38820 an initial context.
38821
4785bfe4 388222007-02-21 Hollis Blanchard <hollis@penguinppc.org>
38823
38824 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
38825 (HEAP_LIMIT): New macro.
38826 (grub_claim_heap): Claim memory up to `heaplimit'.
38827
a0cbb023 388282007-02-21 Hollis Blanchard <hollis@penguinppc.org>
38829
38830 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
38831 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
38832 (_start): Likewise.
38833 (grub_arch_modules_addr): Return address after `_end'.
38834 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
38835 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
38836 (add_segments): Calculate `_end' from phdr size and location.
38837 (ALIGN_UP): Moved to ...
38838 * include/grub/misc.h: here.
38839 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
38840 New macro.
38841 (GRUB_IEEE1275_MODULE_BASE): Removed.
38842
fd7d8eba 388432007-02-20 Hollis Blanchard <hollis@penguinppc.org>
38844
38845 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
38846 loop boundary.
38847
9b09e6fc 388482007-02-20 Hollis Blanchard <hollis@penguinppc.org>
38849
38850 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
38851 All users updated.
38852 (grub_elf64_load_hook_t): Likewise.
38853 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
38854 debug output.
38855
3ce27299 388562007-02-20 Hollis Blanchard <hollis@penguinppc.org>
38857
38858 * kern/mm.c: Update copyright.
38859 (grub_mm_debug): Correct syntax error.
38860 (grub_mm_dump_free): New function.
38861 (grub_debug_free): Call `grub_free'.
38862 * include/grub/mm.h: Update copyright.
38863 (grub_mm_dump_free): Add declaration.
38864
077d5fee 388652007-02-12 Hollis Blanchard <hollis@penguinppc.org>
38866
38867 * include/grub/ieee1275/ieee1275.h: Update copyright.
38868 * kern/powerpc/ieee1275/init.c: Likewise.
38869 * kern/powerpc/ieee1275/openfw.c: Likewise.
38870
38871 * loader/powerpc/ieee1275/linux.c: Likewise.
38872 * include/grub/elfload.h: Likewise.
38873 * kern/elf.c: Likewise.
38874 (grub_elf32_load): Pass `base' and `size' parameters. Update all
38875 callers.
38876 (grub_elf64_load): Likewise.
38877 (grub_elf32_load_segment): Move to a nested function.
38878 (grub_elf64_load_segment): Likewise.
38879
dc946850 388802007-02-12 Hollis Blanchard <hollis@penguinppc.org>
38881
38882 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
38883 prototype.
38884 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
38885 (grub_heap_len): Likewise.
38886 (HEAP_SIZE): New macro.
38887 (grub_claim_heap): New function.
38888 (grub_machine_init): Don't claim heap directly. Call
38889 `grub_claim_heap'.
38890 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
38891 (grub_available_iterate): New function.
38892
baa2a121 388932007-02-03 Thomas Schwinge <tschwinge@gnu.org>
38894
38895 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
38896 * configure.ac: Use it for testing the HOST and TARGET compilers.
38897
4fe9862e 388982006-12-13 Thomas Schwinge <tschwinge@gnu.org>
38899
38900 * Makefile.in (enable_grub_emu): New variable.
38901 * configure.ac (--enable-grub-emu): New option.
38902 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
38903 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
38904 * conf/i386-pc.rmk: Likewise.
38905 * conf/powerpc-ieee1275.rmk: Likewise.
38906 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
38907
a8aa5762 389082006-12-12 Marco Gerards <marco@gnu.org>
38909
38910 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
38911
38912 * kern/env.c (grub_env_unset): Don't free the member `value' when
38913 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
38914 pointer.
38915
38916 * normal/main.c (current_menu): Removed.
38917 (free_menu): Unset the `menu' environment variable.
38918 (grub_normal_menu_addentry): Make use of the environment variable
38919 `menu', instead of using the global `current_menu'. Allocate
38920 memory for the sourcecode of this entry.
38921 (read_config_file): New argument `nested', changed all callers.
38922 Only in the case of a new context, initialize a new menu. Set the
38923 `menu' environment variable.
38924 (grub_normal_execute): Don't set and unset the environment
38925 variable `menu' here anymore. Only free the menu when leaving the
38926 context.
38927
38928 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
38929 leak.
38930
957b3a3e 389312006-12-11 Marco Gerards <marco@gnu.org>
38932
38933 * normal/menu_entry.c (run): Fix off by one bug so the last line
38934 is executed. Move the loader check to outside the loop.
38935
ef875714 389362006-12-08 Hollis Blanchard <hollis@penguinppc.org>
38937
38938 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
38939
4e739985 389402006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
38941
38942 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
38943 the number of sectors. Reported by Andrey Shuvikov
38944 <mr_hyro@yahoo.com>.
f19dbdb7 38945
790707f2 389462006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
38947
38948 * kern/disk.c (grub_disk_read): When there is a read error, always
38949 try to read only the necessary data.
f19dbdb7 38950
790707f2 38951 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
38952 disk/raid.c.
38953 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
38954 prototype.
38955 [GRUB_UTIL] (grub_raid_fini): Likewise.
38956 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 38957 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 38958 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
38959 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
38960 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
38961 and grub_raid_fini().
f19dbdb7 38962
03e58196 389632006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
38964
38965 * include/grub/types.h (__unused): Rename to UNUSED.
38966 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
38967 (grub_elf64_size): Likewise.
f19dbdb7 38968
ae4f23bf 389692006-11-03 Hollis Blanchard <hollis@penguinppc.org>
38970
38971 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
38972 grub_error_push and grub_error_pop in the error-handling path.
38973 (grub_elf32_load_segment): Only call grub_file_read with non-zero
38974 length.
38975
2166cc83 389762006-11-03 Hollis Blanchard <hollis@penguinppc.org>
38977
38978 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
38979 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38980 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38981 (kernel_elf_SOURCES): Likewise.
38982 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
38983 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
38984 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38985 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38986 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
38987 (elf_mod_SOURCES): New variable.
38988 (elf_mod_CFLAGS): Likewise.
38989 (elf_mod_LDFLAGS): Likewise.
38990 * include/grub/types.h (__unused): New macro.
38991 * include/grub/elfload.h: New file.
38992 * kern/elf.c: Likewise.
38993 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
38994 (ELF32_LOADMASK): New macro.
38995 (ELF64_LOADMASK): Likewise.
38996 (vmlinux): Removed.
38997 (grub_linux_load32): New function.
38998 (grub_linux_load64): Likewise.
38999 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
39000 Use grub_elf_t instead of grub_file_t.
39001
a09d5aa5 390022006-11-02 Hollis Blanchard <hollis@penguinppc.org>
39003
39004 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
39005 `catch_result' to struct set_color_args.
39006
d976fc51 390072006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
39008
39009 * normal/menu.c: Include grub/script.h.
39010 * normal/menu_entry.c: Likewise.
39011 * include/grub/normal.h: Do not include grub/script.h.
39012
67507549 390132006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39014
39015 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
39016
69203a99 390172006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39018
39019 * kern/disk.c (grub_disk_open): Print debug messages when opening a
39020 disk.
39021 (grub_disk_close): Print debug messages when closing a disk.
39022 (grub_disk_read): Print debug messages when disk read fails.
39023 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
39024 filesystem type.
39025 * kern/partition.c: Include misc.h.
39026 (grub_partition_iterate): Print debug messages when detecting
39027 partition type.
39028
e2b8278c 390292006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39030
39031 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
39032 is negative.
39033 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
39034
97b2f2ff 390352006-10-26 Hollis Blanchard <hollis@penguinppc.org>
39036
39037 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
39038 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
39039
6555d655 390402006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
39041
39042 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
39043 instead of sizeof(lv). Patch by Michael Guntsche.
39044
4d42b77f 390452006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
39046
39047 * disk/lvm.c: Rename VGS to VG_LIST.
39048 (grub_lvm_iterate): Change VGS->LV to VG-LV.
39049 (grub_lvm_open): Likewise.
39050 Thanks to Michael Guntsche for finding this bug.
39051
5d74d927 390522006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39053
39054 * configure.ac (AC_INIT): Bumped to 1.95.
39055
a1bb27e4 390562006-10-14 Robert Millan <rmh@aybabtu.com>
39057
39058 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
39059 with "/dev/.static/dev/md".
39060
e0994b8b 390612006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
39062
39063 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
39064 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
39065 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
39066 DRIVE_NAME are always freed.
39067
39068 * util/i386/pc/biosdisk.c (make_device_name): Add one into
39069 DOS_PART, as a DOS partition is counted from one instead of zero
39070 now. Reported by Robert Millan.
39071
ddd5cee9 390722006-10-14 Robert Millan <rmh@aybabtu.com>
39073
39074 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
39075 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
39076 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
39077 string returned by grub_guess_root_device.
39078 * util/i386/pc/grub-setup.c: Likewise.
39079 * util/i386/pc/grub-probefs.c: Likewise.
39080
39081 * util/i386/pc/grub-probefs.c: Rename to ...
39082 * util/i386/pc/grub-probe.c: ... this.
39083 * DISTLIST: Remove grub-probefs, add grub-probe.
39084 * conf/i386-efi.rmk: Likewise.
39085 * conf/i386-pc.rmk: Likewise.
39086 * util/i386/pc/grub-install.in: Likewise.
39087
39088 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
39089 choose which information we want to print.
39090
2b002173 390912006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
39092
39093 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
39094 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
39095 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
39096 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
39097 video/readers/tga.c and video/i386/pc/vbeutil.c.
39098
390992006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
39100
39101 Added support for RAID and LVM.
f19dbdb7 39102
2b002173 39103 * disk/lvm.c: New file.
39104 * disk/raid.c: Likewise.
39105 * include/grub/lvm.h: Likewise.
f19dbdb7 39106 * include/grub/raid.h: Likewise.
2b002173 39107 * include/grub/util/lvm.h: Likewise.
39108 * include/grub/util/raid.h: Likewise.
39109 * util/lvm.c: Likewise.
39110 * util/raid.c: Likewise.
39111
39112 * include/grub/disk.h (grub_disk_dev_id): Add
39113 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
39114 (grub_disk_get_size): New prototype.
39115 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
39116 returns a partition.
39117 (grub_disk_get_size): New function.
f19dbdb7 39118
2b002173 39119 * kern/i386/pc/init.c (make_install_device): Copy the prefix
39120 verbatim if grub_install_dos_part is -2.
39121
39122 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
39123 and LVM devices.
39124
39125 * util/i386/pc/grub-setup.c (setup): New argument
39126 MUST_EMBED. Force embedding of GRUB when the argument is
39127 true. Close FILE before returning.
39128 (main): Add support for RAID and LVM.
f19dbdb7 39129
2b002173 39130 * conf/common.rmk: Add RAID and LVM modules.
39131 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
39132 util/lvm.c.
39133 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
39134
39135 * kern/misc.c (grub_strstr): New function.
39136 * include/grub/misc.h (grub_strstr): New prototype.
39137
050548d0 391382006-10-10 Tristan Gingold <tristan.gingold@bull.net>
39139
39140 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
39141
da849d2d 391422006-10-05 Tristan Gingold <tristan.gingold@bull.net>
39143
39144 * kern/misc.c (grub_strtoull): Guess the base only if not
39145 specified.
39146
97b2f2ff 391472006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 39148
39149 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
39150 PowerMac support.
39151
97b2f2ff 391522006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 39153
39154 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
39155
39156 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
39157 Remove `flags' argument. All callers changed.
39158 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
39159 (IEEE1275_IHANDLE_INVALID): New variable.
39160 (IEEE1275_CELL_INVALID): New variable.
39161 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
39162 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
39163 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
39164 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
39165 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
39166 codes from Open Firmware. All callers updated.
39167 (grub_ieee1275_next_property): Directly return Open Firmware return
39168 code.
39169 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
39170 Standardize error checking from `grub_ieee1275_get_property'.
39171 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
39172 `devalias' to `aliases'. Correct comments. Consolidate error paths.
39173
97b2f2ff 391742006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 39175
39176 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
39177 `instance_to_package_args' to `instance_to_path_args'.
39178
39179 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
39180 `grub_ieee1275_chosen'.
39181
39182 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
39183 `grub_ieee1275_interpret'.
39184
97b2f2ff 391852006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 39186
39187 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
39188
97b2f2ff 391892006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 39190
39191 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
39192 (__cmpdi): Likewise.
39193
39194 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
39195 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
39196 `grub_ssize_t'.
39197
02bb8acc 39198 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 39199
39200 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
39201 to type `grub_ssize_t'.
39202 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
39203
7f9a8531 392042006-09-22 Marco Gerards <marco@gnu.org>
39205
39206 * normal/script.c (grub_script_create_cmdmenu): Skip leading
39207 newlines.
39208
b5ef1102 392092006-09-22 Marco Gerards <marco@gnu.org>
39210
39211 * commands/echo.c: New file.
39212
39213 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
39214
39215 * conf/common.rmk (echo_mod_SOURCES): New variable.
39216 (echo_mod_CFLAGS): Likewise.
39217 (echo_mod_LDFLAGS): Likewise.
39218
2cff3677 392192006-09-22 Marco Gerards <marco@gnu.org>
39220
39221 * normal/main.c (get_line): Malloc memory instead of using
39222 preallocated memory. Removed the arguments `cmdline' and
39223 `max_len'. Updated all callers.
39224
6ba4688b 392252006-09-22 Marco Gerards <marco@gnu.org>
39226
39227 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
39228 (normal_mod_DEPENDENCIES): Likewise.
39229
39230 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
39231 (normal_mod_DEPENDENCIES): Likewise.
39232
39233 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
39234
e02ac02c 392352006-09-22 Johan Rydberg <jrydberg@gnu.org>
39236
39237 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
39238 programs.
39239 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
39240 (normal_mod_DEPENDENCIES): Likewise.
39241 * conf/i386-pc.mk: Regenerate.
39242 * conf/i386-efi.mk: Likewise
39243 * conf/common.mk: Likewise.
39244 * conf/powerpc-ieee1275.mk: Likewise.
39245 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 39246
8d252e44 392472006-09-22 Robert Millan <rmh@aybabtu.com>
39248
39249 Sync with i386 version.
39250 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
39251 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
39252
209bf7ac 392532006-09-21 Robert Millan <rmh@aybabtu.com>
39254
39255 Import from GRUB Legacy (lib/device.c):
39256 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
39257 (init_device_map) [__linux__]: Add support for I2O devices.
39258
6b146090 392592006-09-14 Marco Gerards <marco@gnu.org>
39260
39261 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
39262 `-melf_i386'.
39263
e38600a8 392642006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 39265
39266 * util/i386/pc/grub-install.in: Skip menu.lst when removing
39267 /boot/grub/*.lst.
78fa1790 39268
2952da5d 39269 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 39270
2952da5d 39271 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
39272 before adding it to device.map.
39273
01b82a64 392742006-08-15 Johan Rydberg <jrydberg@gnu.org>
39275
fe6b695a 39276 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 39277 compiles a file; using the -MD option.
39278 * conf/common.mk: Regenerate.
39279 * conf/i386-pc.mk: Likewise.
39280 * conf/i386-efi.mk: Likewise.
39281 * conf/powerpc-ieee1275.mk: Likewise.
39282 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 39283
1064790d 392842006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
39285
39286 Move the prototypes of grub_setjmp and grub_longjmp to
39287 cpu/setjmp.h, so that each architecture may specify different
39288 attributes.
f19dbdb7 39289
1064790d 39290 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
39291 (grub_longjmp): Likewise.
39292 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
39293 (grub_longjmp): Likewise.
39294 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
39295 (grub_longjmp): Likewise.
39296
39297 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
39298 [!GRUB_UTIL] (grub_longjmp): Removed.
39299
29dda3ed 393002006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
39301
39302 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
39303 "color!" method does not return any value.
39304
ad2a06ed 393052006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
39306
39307 * include/grub/bitmap.h: New file.
39308
39309 * include/grub/i386/pc/vbeutil.h: Likewise.
39310
39311 * video/bitmap.c: Likewise.
39312
39313 * video/readers/tga.c: Likewise.
39314
39315 * video/i386/pc/vbeutil.c: Likewise.
39316
39317 * commands/videotest.c: Code cleanup and updated to reflect to new
39318 video API.
39319
39320 * term/gfxterm.c: Likewise.
39321
39322 * video/video.c: Likewise.
39323
39324 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
39325 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
39326 (bitmap_mod_SOURCES): New entry.
39327 (bitmap_mod_CFLAGS): Likewise.
39328 (bitmap_mod_LDFLAGS): Likewise.
39329 (tga_mod_SOURCES): Likewise.
39330 (tga_mod_CFLAGS): Likewise.
39331 (tga_mod_LDFLAGS): Likewise.
39332
39333 * include/grub/video.h (grub_video_blit_operators): New enum type.
39334 (grub_video_render_target): Changed as forward declaration and moved
39335 actual definition to be video driver specific.
39336 (grub_video_adapter.blit_bitmap): Added blitting operator.
39337 (grub_video_adapter.blit_render_target): Likewise.
39338 (grub_video_blit_bitmap): Likewise.
39339 (grub_video_blit_render_target): Likewise.
39340
39341 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
39342 driver specific render target definition.
39343 (grub_video_vbe_map_rgba): Added driver internal helper.
39344 (grub_video_vbe_unmap_color): Updated to use
39345 grub_video_i386_vbeblit_info.
39346 (grub_video_vbe_get_video_ptr): Likewise.
39347
39348 * include/grub/i386/pc/vbeblit.h
39349 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
39350 grub_video_i386_vbeblit_info.
39351 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
39352 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
39353 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
39354 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
39355 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
39356 (grub_video_i386_vbeblit_index_index): Likewise.
39357 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
39358 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
39359 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
39360 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
39361 operator.
39362 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
39363 operator.
39364
39365 * video/i386/pc/vbeblit.c: Updated to reflect changes on
39366 include/grub/i386/pc/vbeblit.h.
39367
39368 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
39369 Updated to use grub_video_i386_vbeblit_info.
39370 (grub_video_i386_vbefill_R8G8B8): Likewise.
39371 (grub_video_i386_vbefill_index): Likewise.
39372 (grub_video_i386_vbefill): Added generic filler.
39373
39374 * video/i386/pc/vbefill.c: Updated to reflect changes on
39375 include/grub/i386/pc/vbefill.h.
39376
39377 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
39378 grub_video_i386_vbeblit_info.
39379 (grub_video_vbe_unmap_color): Likewise.
39380 (grub_video_vbe_blit_glyph): Likewise.
39381 (grub_video_vbe_scroll): Likewise.
39382 (grub_video_vbe_draw_pixel): Removed function.
39383 (grub_video_vbe_get_pixel): Likewise.
39384 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
39385 updated code to use it.
39386 (common_blitter): Added common blitter for render target and bitmap.
39387 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
39388 (grub_video_vbe_blit_render_target): Likewise.
39389
bc8c036d 393902006-07-30 Johan Rydberg <jrydberg@gnu.org>
39391
39392 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
39393 is in text mode if there is no console control protocol instance
39394 available.
39395
684a8eff 393962006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
39397
39398 * include/grub/video.h: Code cleanup.
39399
39400 * include/grub/i386/pc/vbe.h: Likewise.
39401
39402 * video/i386/pc/vbe.c: Likewise.
39403
39404 * video/i386/pc/vbeblit.c: Likewise.
39405
39406 * video/i386/pc/vbefill.c: Likewise.
39407
39408 * video/video.c: Likewise. Also added more comments.
39409
5915059b 394102006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
39411
39412 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
39413 (struct grub_biosdisk_dap): Likewise.
39414
39415 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
39416 linkage settings for all functions.
39417
90ce5d56 394182006-07-12 Marco Gerards <marco@gnu.org>
39419
39420 * configure.ac (--enable-mm-debug): Fix typo.
39421
39422 * genkernsyms.sh.in: Use proper quoting for `CC'.
39423
43e7f879 394242006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
39425
39426 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
39427 (normal_mod_ASFLAGS): Remove "-m32".
39428
4889bdec 394292006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
39430
39431 * util/misc.c: Include config.h.
39432 [!HAVE_MEMALIGN]: Do not include malloc.h.
39433 (grub_memalign): Use posix_memalign, if present. Then, use
39434 memalign, if present. Otherwise, emit an error.
39435
39436 * util/grub-emu.c: Do not include malloc.h.
39437
39438 * include/grub/util/misc.h: Include unistd.h. This is required for
39439 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
39440 D. Eades III <hde@foobar-qux.org>.
39441
39442 * configure.ac (AC_GNU_SOURCE): Added.
39443 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
39444 type.
39445
fd39d4da 394462006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
39447
39448 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
39449 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
39450
b786f3b5 394512006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
39452
39453 * include/grub/types.h (grub_host_addr_t): Rename to
39454 grub_target_addr_t.
39455 (grub_host_off_t): Rename to grub_target_off_t.
39456 (grub_host_size_t): Rename to grub_target_size_t.
39457 (grub_host_ssize_t): Rename to grub_target_ssize_t.
39458 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
39459
39460 * include/grub/kernel.h (struct grub_module_header): Change type
39461 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
39462 (grub_module_info): Likewise.
f19dbdb7 39463
051988bb 394642006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
39465
39466 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
39467 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
39468 Velazquez <jesus.velazquez@gmail.com>.
39469
deae281b 394702006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
39471
39472 Count partitions from 1 instead of 0 in the string representation
39473 of partitions. Still use 0-based internally.
f19dbdb7 39474
deae281b 39475 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
39476 (sun_partition_map_iterate): Use grub_partition_t instead of
39477 struct grub_partition *. Cast DESC->START_CYLINDER to
39478 grub_uint64_t after converting the endian.
39479 (sun_partition_map_probe): Subtract 1 for PARTNUM.
39480 (sun_partition_map_get_name): Add 1 to P->INDEX.
39481
39482 * partmap/pc.c (grub_partition_parse): Subtract 1 for
39483 PCDATA->DOS_PART.
39484 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
39485
39486 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
39487 zero instead of one.
39488 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
39489 (gpt_partition_map_get_name): Add 1 into P->INDEX.
39490
39491 * partmap/apple.c (apple_partition_map_iterate): Change the type
39492 of POS to unsigned.
39493 (apple_partition_map_probe): Subtract 1 for PARTNUM.
39494 (apple_partition_map_get_name): Add 1 into P->INDEX.
39495
39496 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
39497 of POS to unsigned.
39498 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
39499 calculate the offset of a partition.
39500 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
39501 (amiga_partition_map_get_name): Add 1 into P->INDEX.
39502
39503 * partmap/acorn.c (acorn_partition_map_find): Change the type of
39504 SECTOR to grub_disk_addr_t.
39505 (acorn_partition_map_iterate): Likewise.
39506 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
39507 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
39508 top.
39509 (acorn_partition_map_get_name): Add 1 into P->INDEX.
39510
39511 * kern/i386/pc/init.c (make_install_device): Add 1 into
39512 GRUB_INSTALL_DOS_PART.
39513
39514 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
39515 conditional.
39516
524a1e6a 395172006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
39518
39519 Clean up the code to support 64-bit addressing in disks and
39520 files. This change is not enough for filesystems yet.
f19dbdb7 39521
524a1e6a 39522 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
39523 type of "start" to grub_uint64_t.
39524 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
39525 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
39526 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
39527 convert addresses.
39528
39529 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
39530 to grub_disk_addr_t.
39531
39532 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
39533 string.
39534
39535 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39536
39537 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
39538 to char *.
39539
39540 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
39541
39542 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
39543
39544 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
39545
39546 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
39547 to grub_off_t, to detect an error from grub_file_seek.
39548 (grub_multiboot_load_elf32): Likewise.
39549
39550 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
39551 maximum unsigned long value when an overflow is detected.
39552 (grub_strtoull): New function.
39553 (grub_divmod64): Likewise.
39554 (grub_lltoa): use grub_divmod64.
39555
39556 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
39557 grub_disk_addr_t.
39558 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
39559 the pointer to next character. Use grub_strtoull instead of
39560 grub_strtoul.
39561 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
39562 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
39563 respectively.
39564
fe6b695a 39565 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 39566 return value is signed.
39567 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
39568 test if OFFSET is less than zero, as OFFSET is unsigned now.
39569
39570 * kern/disk.c (struct grub_disk_cache): Change the type of
39571 "sector" to grub_disk_addr_t.
39572 (grub_disk_cache_get_index): Change the type of SECTOR to
39573 grub_disk_addr_t. Calculate the hash with SECTOR casted to
39574 unsigned after shifting.
39575 (grub_disk_cache_invalidate): Change the type of SECTOR to
39576 grub_disk_addr_t.
39577 (grub_disk_cache_unlock): Likewise.
39578 (grub_disk_cache_store): Likewise.
39579 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
39580 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
39581 grub_disk_addr_t and grub_uint64_t, respectively.
39582 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
39583 body, as the value of OFFSET is tweaked by
39584 grub_disk_check_range. Change the types of START_SECTOR, LEN and
39585 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
39586 respectively.
39587 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
39588 body, as the value of OFFSET is tweaked by
39589 grub_disk_check_range. Change the types of LEN and N to
39590 grub_size_t.
39591
39592 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
39593 and "saved_offset" to grub_off_t.
39594 (test_header): Cast BUF to char *.
39595 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
39596 to char *.
39597 (grub_gzio_read): Change the types of OFFSET and SIZE to
39598 grub_off_t and grub_size_t, respectively.
39599
39600 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
39601 Removed.
39602 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
39603 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
39604 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
39605 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
39606 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
39607
39608 * include/grub/types.h (grub_off_t): Unconditionally set to
39609 grub_uint64_t.
39610 (grub_disk_addr_t): Changed to grub_uint64_t.
39611
39612 * include/grub/partition.h (struct grub_partition): Change the
39613 types of "start", "len" and "offset" to grub_disk_addr_t,
39614 grub_uint64_t and grub_disk_addr_t, respectively.
39615 (grub_partition_get_start): Return grub_disk_addr_t.
39616 (grub_partition_get_len): Return grub_uint64_t.
39617
39618 * include/grub/misc.h (grub_strtoull): New prototype.
39619 (grub_divmod64): Likewise.
39620
39621 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
39622 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
39623 grub_off_t, respectively.
39624 All callers and references changed.
39625
39626 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
39627 grub_size_t in "read".
39628 All callers and references changed.
39629
39630 * include/grub/file.h (struct grub_file): Change the types of
39631 "offset" and "size" to grub_off_t and grub_off_t,
39632 respectively. Change the type of SECTOR to grub_disk_addr_t in
39633 "read_hook".
39634 (grub_file_read): Change the type of LEN to grub_size_t.
39635 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
39636 grub_off_t.
39637 (grub_file_size): Return grub_off_t.
39638 (grub_file_tell): Likewise.
39639 All callers and references changed.
39640
39641 * include/grub/disk.h (struct grub_disk_dev): Change the types of
39642 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
39643 "write".
39644 (struct grub_disk): Change the type of "total_sectors" to
39645 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 39646 "read_hook".
524a1e6a 39647 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
39648 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
39649 (grub_disk_write): Likewise.
39650 All callers and references changed.
39651
39652 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
39653 char * for grub_strncmp to silence gcc.
39654 (grub_iso9660_mount): Likewise.
39655 (grub_iso9660_mount): Likewise.
39656 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
39657 return statement.
39658 (grub_iso9660_iterate_dir): Likewise.
39659 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
39660
39661 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
39662 LEN to grub_disk_addr_t and grub_size_t, respectively.
39663
39664 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
39665
39666 * fs/jfs.c (grub_jfs_read_file): Likewise.
39667
39668 * fs/minix.c (grub_jfs_read_file): Likewise.
39669
39670 * fs/sfs.c (grub_jfs_read_file): Likewise.
39671
39672 * fs/ufs.c (grub_jfs_read_file): Likewise.
39673
39674 * fs/xfs.c (grub_jfs_read_file): Likewise.
39675
39676 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
39677 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
39678 respectively.
39679
39680 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
39681 BLKNR to -1 instead of returning GRUB_ERRNO.
39682 (grub_ext2_read_file): Change the types of SECTOR and
39683 LEN to grub_disk_addr_t and grub_size_t, respectively.
39684
39685 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
39686 LEN to grub_disk_addr_t and grub_size_t, respectively.
39687
39688 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
39689 grub_file_read.
39690
39691 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
39692 string. Do not cast SECTOR explicitly.
39693
39694 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
39695 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
39696 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
39697 grub_disk_addr_t and grub_size_t, respectively. If the sector is
39698 over 2TB and LBA mode is not supported, raise an error.
39699 (get_safe_sectors): New function.
39700 (grub_biosdisk_read): Use get_safe_sectors.
39701 (grub_biosdisk_write): Likewise.
39702
39703 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
39704 (grub_efidisk_write): Likewise.
39705
39706 * disk/loopback.c (delete_loopback): Cosmetic changes.
39707 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
39708 correctly.
39709 (grub_loopback_open): Likewise.
39710 (grub_loopback_read): Likewise. Also, change the type of POS to
39711 grub_off_t, and fix the usage of grub_memset.
39712
39713 * commands/i386/pc/play.c: Include grub/machine/time.h.
39714
39715 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
39716 print FILE->SIZE.
39717
39718 * commands/configfile.c: Include grub/env.h.
39719
39720 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
39721 GRUB_ERRNO directly instead. Change the type of POS to
39722 grub_off_t. Follow the coding standard.
39723
39724 * commands/blocklist.c: Include grub/partition.h.
39725 (grub_cmd_blocklist): Return an error if the underlying device is
39726 not a disk. Take the starting sector of a partition into account,
39727 if a partition is used.
39728
39729 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
39730 a length field.
39731 (lba_mode): Support 64-bit addresses.
39732 (chs_mode): Likewise.
39733 (copy_buffer): Adapted to the new offsets of a length field and a
39734 segment field.
39735 (blocklist_default_start): Allocate 64-bit space.
39736
39737 * boot/i386/pc/boot.S (force_lba): Removed.
39738 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 39739 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 39740 space.
39741 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
39742 is useless.
39743 (lba_mode): Refactored to support a 64-bit address. More size
39744 optimization.
39745 (setup_sectors): Likewise.
39746
53af98ad 397472006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
39748
39749 * DISTLIST: Added include/grub/i386/linux.h. Removed
39750 include/grub/i386/pc/linux.h
39751
39752 * configure.ac (AC_INIT): Bumped to 1.94.
39753
39754 * config.guess: Updated from gnulib.
39755 * config.sub: Likewise.
39756 * install-sh: Likewise.
39757 * mkinstalldirs: Likewise.
39758
b4c1940a 397592006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
39760
39761 * conf/common.rmk (grub_modules_init.lst): Depended on
39762 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
39763 MODSRCFILES.
39764
39765 * genmk.rb (PModule::rule): Reverted the previous change.
39766
cfca1cfd 397672006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
39768
39769 * conf/common.rmk (grub_modules_init.lst): Depends on
39770 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
39771 that the target does not exist before producing.
39772 (grub_modules_init.h): Remove the target before generating.
39773 (grub_emu_init.c): Likewise.
39774
39775 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
39776
aa6d7826 397772006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
39778
39779 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
39780 for the target-specific tests. Make sure that we also have the
39781 up-to-date target variables for those tests.
39782
26c607b9 397832006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
39784
39785 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
39786 (PModule::rule): Likewise.
39787
0162321a 397882006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
39789
39790 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
39791 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
39792 target-specific flags should be prefixed.
39793 (PModule::rule): Likewise.
39794
6c826348 397952006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
39796
39797 * configure.ac (CMP): Check if cmp is available explicitly.
39798
b977bf01 397992006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
39800
39801 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
39802 (target_cpu): New variable.
39803 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 39804
b977bf01 39805 * util/i386/pc/grub-install.in (host_cpu): Removed.
39806 (target_cpu): New variable.
39807 (pkglibdir): Use target_cpu instead of host_cpu.
39808
39809 * util/genmoddep.c: Removed.
f19dbdb7 39810
b977bf01 39811 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
39812 instead of GRUB_HOST_SIZEOF_VOID_P.
39813 * kern/dl.c: Likewise.
39814
39815 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
39816 ...
39817 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
39818 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
39819 (GRUB_TARGET_SIZEOF_LONG): ... this.
39820 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
39821 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
39822 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
39823 to ...
39824 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
39825 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
39826 (GRUB_TARGET_SIZEOF_LONG): ... this.
39827 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
39828 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
39829 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
39830 to ...
39831 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
39832 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
39833 (GRUB_TARGET_SIZEOF_LONG): ... this.
39834 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
39835 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
39836
39837 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
39838 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
39839 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
39840 instead of GRUB_HOST_SIZEOF_LONG.
39841 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
39842 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
39843 GRUB_CPU_WORDS_BIGENDIAN.
39844 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
39845 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
39846 grub_host_ssize_t.
39847
39848 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
39849 (genmoddep_SOURCES): Likewise.
39850 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
39851 (genmoddep_SOURCES): Likewise.
39852 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
39853 (genmoddep_SOURCES): Likewise.
39854 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
39855 Likewise.
39856 (genmoddep_SOURCES): Likewise.
39857
39858 * genmoddep.awk: New file.
39859
39860 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
39861 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
39862 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
39863 (PModule::rule): Likewise.
39864 (Program::rule): Likewise.
39865 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
39866 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
39867 respectively.
39868
39869 * configure.ac: Rewritten intensively to use host and target
39870 instead of build and host, respectively.
39871
39872 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
39873 (host_cpu): Removed.
39874 (target_cpu): New variable.
39875 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
39876 (BUILD_CC): Removed.
39877 (BUILD_CFLAGS): Likewise.
39878 (BUILD_CPPFLAGS): Likewise.
39879 (TARGET_CC): New variable.
39880 (TARGET_CFLAGS): Likewise.
39881 (TARGET_CPPFLAGS): Likewise.
39882 (TARGET_LDFLAGS): Likewise.
39883 (AWK): Likewise.
39884 (include): Use target_cpu instead of host_cpu.
39885 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 39886
b977bf01 39887 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
39888
f09771a1 398892006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
39890
39891 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
39892 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
39893 field 'false' to 'exec_on_false'.
39894 (grub_script_create_cmdif): Renamed argument names to reflect above
39895 changes.
39896
39897 * normal/execute.c (grub_script_execute_cmdif): Likewise.
39898
39899 * normal/script.c (grub_script_create_cmdif): Likewise.
39900
118f4fb3 399012006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
39902
39903 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
39904 top.
39905 (grub_hfsplus_btree_recptr): Likewise.
39906 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
39907 FILEBLOCK both to pass a block number and store next block
39908 number.
39909 (grub_hfsplus_read_block): Rewritten heavily to support an extent
39910 overflow file correctly. Specify errors appropriately, because
39911 fshelp expects that GRUB_ERRNO is set when fails. Reuse
39912 grub_hfsplus_btree_recptr to get the pointer to a found key.
39913 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
39914 is found.
39915
39916 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
39917 linux.mod.
39918 (_linux_mod_SOURCES): New variable.
39919 (_linux_mod_CFLAGS): Likewise.
39920 (_linux_mod_LDFLAGS): Likewise.
39921 (linux_mod_SOURCES): Likewise.
39922 (linux_mod_CFLAGS): Likewise.
39923 (linux_mod_LDFLAGS): Likewise.
39924
39925 * DISTLIST: Added loader/i386/efi/linux.c,
39926 loader/i386/efi/linux_normal.c and
39927 include/grub/i386/efi/loader.h.
39928
39929 * loader/i386/efi/linux.c: New file.
39930 * loader/i386/efi/linux_normal.c: Likewise.
39931 * include/grub/i386/efi/loader.h: Likewise.
39932
89a7d726 399332006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
39934
39935 * commands/blocklist.c: New file.
39936
39937 * DISTLIST: Added commands/blocklist.c.
39938
39939 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 39940 color for the background, and a darker color for the foreground.
89a7d726 39941 (grub_console_checkkey): Return READ_KEY.
39942 (grub_console_cls): Set the background to
39943 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
39944
39945 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
39946
39947 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
39948 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
39949
39950 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
39951 prototype.
39952
39953 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
39954 BG. The spec is wrong again.
39955
39956 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
39957 prototype.
39958 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
39959
39960 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
39961 commands/blocklist.c.
39962 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 39963
89a7d726 39964 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
39965 (blocklist_mod_SOURCES): New variable.
39966 (blocklist_mod_CFLAGS): Likewise.
39967 (blocklist_mod_LDFLAGS): Likewise.
39968
75c8f258 399692006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
39970
39971 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
39972 duplication.
39973 (lba_mode): Use %eax more intensively to reduce the code size.
39974
da2eb181 399752006-05-20 Marco Gerards <marco@gnu.org>
39976
39977 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
39978
39979 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
39980 for `menuentry'.
39981 (script): Accept leading newlines.
39982 (newlines): New rule to describe 0 or more newlines.
39983 (commands): Accept `command' with trailing newline. Fixed the
39984 order in which arguments were passed to `grub_script_add_cmd'.
39985 Accept commands separated by newlines.
39986 (function): Changed to accept newlines.
39987 (menuentry) Rewritten.
39988
39989 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
39990 front of the list, instead of to the end.
39991
577b4050 399922006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
39993
39994 * util/i386/pc/grub-install.in (bindir): New variable.
39995 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
39996 Shaver <lbgwjl@gmail.com>.
39997
0d6e1189 399982006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
39999
40000 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
40001 grub/machine/linux.h
40002 * loader/i386/pc/linux.c: Likewise.
40003
40004 * include/grub/i386/pc/linux.h: Moved to ...
40005 * include/grub/i386/linux.h: ... here.
40006
40007 * include/grub/i386/linux.h (struct linux_kernel_params): New
40008 struct.
f19dbdb7 40009
31b86e9f 400102006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
40011
40012 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
40013 checking.
40014 (grub_video_vbe_blit_glyph): Likewise.
40015 (grub_video_vbe_blit_bitmap): Likewise.
40016 (grub_video_vbe_blit_render_target): Likewise.
40017
83b984de 400182006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
40019
40020 * configure.ac (--with-platform): Properly quote the square
40021 brackets.
40022
5f0413bd 400232006-05-08 Marco Gerards <marco@gnu.org>
40024
40025 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
40026 this...
40027 (kernel_elf_HEADERS): ...to this. Updated all users.
40028 (grubof_symlist.c): Renamed from this...
40029 (kernel_elf_symlist.c): ...to this. Updated all users.
40030 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
40031 (grubof_SOURCES): Renamed from this...
40032 (kernel_elf_SOURCES): ...to this.
40033 (grubof_HEADERS): Renamed from this...
40034 (kernel_elf_HEADERS): ...to this.
40035 (grubof_CFLAGS): Renamed from this...
40036 (kernel_elf_CFLAGS): ...to this.
40037 (grubof_ASFLAGS): Renamed from this...
40038 (kernel_elf_ASFLAGS): ...to this.
40039 (grubof_LDFLAGS): Renamed from this...
40040 (kernel_elf_LDFLAGS): ...to this.
40041
40042 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
40043 this...
40044 (kernel_elf_HEADERS): ...to this. Updated all users.
40045 (grubof_symlist.c): Renamed from this...
40046 (kernel_elf_symlist.c): ...to this. Updated all users.
40047 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
40048 (grubof_SOURCES): Renamed from this...
40049 (kernel_elf_SOURCES): ...to this.
40050 (grubof_HEADERS): Renamed from this...
40051 (kernel_elf_HEADERS): ...to this.
40052 (grubof_CFLAGS): Renamed from this...
40053 (kernel_elf_CFLAGS): ...to this.
40054 (grubof_ASFLAGS): Renamed from this...
40055 (kernel_elf_ASFLAGS): ...to this.
40056 (grubof_LDFLAGS): Renamed from this...
40057 (kernel_elf_LDFLAGS): ...to this.
40058
40059 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
40060 `kernel.elf' instead of `grubof'.
40061
05568c2e 400622006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
40063
40064 Add --with-platform to configure. Use pkglibdir instead of
40065 pkgdatadir. This is reported by Roger Leigh.
40066
40067 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
40068 (host_vendor): Likewise.
40069 (host_os): Likewise.
40070 (pkgdatadir): Likewise.
40071 (platform): New variable.
40072 (pkglibdir): Likewise.
40073 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 40074
05568c2e 40075 * util/i386/pc/grub-install.in (datadir): Removed.
40076 (host_vendor): Likewise.
40077 (host_os): Likewise.
40078 (pkgdatadir): Likewise.
40079 (platform): New variable.
40080 (pkglibdir): Likewise.
40081 Use PKGLIBDIR instead of PKGDATADIR.
40082
40083 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
40084 instead of GRUB_DATADIR.
40085 (main): Likewise.
40086 * util/i386/pc/grub-mkimage.c (usage): Likewise.
40087 (main): Likewise.
40088 * util/i386/efi/grub-mkimage.c (usage): Likewise.
40089 (main): Likewise.
40090
40091 * configure.ac (--with-platform): New option.
40092 Use PLATFORM instead of HOST_VENDOR to specify a platform.
40093
40094 * Makefile.in: Include a makefile based on PLATFORM instead of
40095 HOST_VENDOR.
40096 (pkgdatadir): Not appended by the machine type.
40097 (pkglibdir): Appended by the machine type.
40098 (host_vendor): Removed.
40099 (platform): New variable.
40100 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
40101 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
40102 (uninstall): Likewise.
40103
4e93851c 401042006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
40105
40106 Use the environment context in the menu. Remove the commands
40107 "default" and "timeout", and use variables instead.
f19dbdb7 40108
4e93851c 40109 * normal/menu.c: Include grub/env.h.
40110 (print_entry): Cast TITLE to silence gcc.
40111 (get_timeout): New function.
40112 (set_timeout): Likewise.
40113 (get_entry_number): Likewise.
40114 (run_menu): Use a default entry, a fallback entry and a timeout
40115 in the environment variables "default", "fallback" and
40116 "timeout". Also, tweak the default entry if it is not within the
40117 current menu entries.
40118 (grub_menu_run): Use a fallback entry in the environment variable
40119 "fallback".
40120
40121 * normal/main.c (read_config_file): Do not initialize
40122 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
40123 NEWMENU->TIMEOUT.
40124 (grub_normal_execute): Use a data slot to store the menu.
40125
40126 * include/grub/normal.h (struct grub_menu): Removed default_entry,
40127 fallback_entry and timeout.
40128 (struct grub_menu_list): Removed.
40129 (grub_menu_list_t): Likewise.
40130 (struct grub_context): Likewise.
40131 (grub_context_t): Likewise.
40132 (grub_context_get): Likewise.
40133 (grub_context_get_current_menu): Likewise.
40134 (grub_context_push_menu): Likewise.
40135 (grub_context_pop_menu): Likewise.
40136 (grub_default_init): Likewise.
40137 (grub_default_fini): Likewise.
40138 (grub_timeout_init): Likewise.
40139 (grub_timeout_fini): Likewise.
40140
40141 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
40142 and timeout.mod.
40143 (normal_mod_SOURCES): Removed normal/context.c.
40144
40145 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
40146 commands/default.c, commands/timeout.c and normal/context.c.
40147 (normal_mod_SOURCES): Removed normal/context.c.
40148
40149 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
40150 commands/timeout.c and normal/context.c.
40151 (normal_mod_SOURCES): Removed normal/context.c.
40152
40153 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
40154 commands/default.c, commands/timeout.c and normal/context.c.
40155 (normal_mod_SOURCES): Removed normal/context.c.
40156
40157 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
40158 timeout.mod.
40159 (default_mod_SOURCES): Removed.
40160 (default_mod_CFLAGS): Likewise.
40161 (default_mod_LDFLAGS): Likewise.
40162 (timeout_mod_SOURCES): Removed.
40163 (timeout_mod_CFLAGS): Likewise.
40164 (timeout_mod_LDFLAGS): Likewise.
40165
40166 * DISTLIST: Removed commands/default.c, commands/timeout.c and
40167 normal/context.c.
40168
40169 * commands/default.c: Removed.
40170 * commands/timeout.c: Likewise.
40171 * normal/context.c: Likewise.
40172
1eb9cc1d 401732006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
40174
40175 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
40176
385bd9c1 401772006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
40178
40179 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
40180 "next" to "prev" for readability.
40181 (struct grub_env_sorted_var): New struct.
40182 (grub_env_context): Renamed to ...
40183 (initial_context): ... this.
40184 (grub_env_var_context): Renamed to ...
40185 (current_context): ... this.
40186 (grub_env_find): Look only at CURRENT_CONTEXT.
40187 (grub_env_context_open): Rewritten to copy exported variables from
40188 previous context.
40189 (grub_env_context_close): Rewritten according to the new
40190 scheme. Also, add an assertion to prevent the initial context from
40191 removed.
40192 (grub_env_insert): Removed the code for the sorted list.
40193 (grub_env_remove): Likewise.
40194 (grub_env_export): Simply mark the variable with
40195 GRUB_ENV_VAR_GLOBAL.
40196 (grub_env_set): A cosmetic change for naming consistency.
40197 (grub_env_get): Likewise.
40198 (grub_env_unset): Likewise.
40199 (grub_env_iterate): Rewritten to sort variables within this
40200 function.
40201 (grub_register_variable_hook): Fixed for naming consistency. Call
40202 grub_env_find again, only if NAME is not found at the first time.
40203 (mangle_data_slot_name): New function.
40204 (grub_env_set_data_slot): Likewise.
40205 (grub_env_get_data_slot): Likewise.
40206 (grub_env_unset_data_slot): Likewise.
40207
40208 * include/grub/env.h (grub_env_var_type): New enum.
40209 (GRUB_ENV_VAR_LOCAL): New constant.
40210 (GRUB_ENV_VAR_GLOBAL): Likewise.
40211 (GRUB_ENV_VAR_DATA): Likewise.
40212 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
40213 "type".
40214 (grub_env_set): Replace VAR with NAME for consistency.
40215 (grub_register_variable_hook): Likewise.
40216 (grub_env_export): Specify the name of the argument.
40217 (grub_env_set_data_slot): New prototype.
40218 (grub_env_get_data_slot): Likewise.
40219 (grub_env_unset_data_slot): Likewise.
40220
7f362539 402212006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
40222
40223 Extend the loader so that GRUB can accept a loader which comes
40224 back to GRUB when a loaded image exits. Also, this change adds
40225 support for a chainloader on EFI.
f19dbdb7 40226
7f362539 40227 * term/efi/console.c: Include grub/misc.h.
40228 (grub_console_checkkey): Display a scan code on the top for
40229 debugging. This will be removed once the EFI port gets stable.
40230 Correct the scan code mapping.
40231
40232 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
40233 allocate memory from larger regions, in order to reduce the number
40234 of allocated regions. Otherwise, the MacOSX loader panics.
40235 (filter_memory_map): Avoid less than 1MB for compatibility with
40236 other loaders.
40237 (add_memory_regions): Allocate from the tail of a region, if
40238 possible, to avoid allocating a region near to 1MB, for the MacOSX
40239 loader.
40240
40241 * kern/efi/init.c (grub_efi_set_prefix): Specify
40242 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
40243
40244 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
40245 argument IMAGE_HANDLE and specify it to get a loaded image.
40246 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
40247 grub_efi_get_loaded_image.
fe6b695a 40248 (grub_efi_get_filename): Divide the length by the size of
7f362539 40249 grub_efi_char16_t.
40250 (grub_efi_get_device_path): New function.
40251 (grub_efi_print_device_path): Print End Device Path nodes. Divide
40252 the length by the size of grub_efi_char16_t for a file path device
40253 path node.
40254
40255 * kern/loader.c (grub_loader_noreturn): New variable.
40256 (grub_loader_set): Accept a new argument NORETURN. Set
40257 GRUB_LOADER_NORETURN to NORETURN.
40258 All callers changed.
40259 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
40260 grub_machine_fini.
40261
40262 * include/grub/efi/efi.h (grub_efi_get_device_path): New
40263 prototype.
40264 (grub_efi_get_loaded_image): Take an argument to specify an image
40265 handle.
40266
40267 * include/grub/loader.h (grub_loader_set): Added one more argument
40268 NORETURN.
40269
40270 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
40271 instead of grub_efi_open_protocol.
40272 (grub_efidisk_get_device_name): Likewise.
40273 (grub_efidisk_close): Print a newline.
40274 (grub_efidisk_get_device_handle): Fixed to use
40275 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
40276 GRUB_EFI_DEVICE_PATH_TYPE.
40277
40278 * disk/efi/efidisk.c (device_path_guid): Moved to ...
40279 * kern/efi/efi.c (device_path_guid): ... here.
40280
40281 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
40282 chain.mod.
40283 (kernel_mod_HEADERS): Added efi/disk.h.
40284 (_chain_mod_SOURCES): New variable.
40285 (_chain_mod_CFLAGS): Likewise.
40286 (_chain_mod_LDFLAGS): Likewise.
40287 (chain_mod_SOURCES): Likewise.
40288 (chain_mod_CFLAGS): Likewise.
40289 (chain_mod_LDFLAGS): Likewise.
40290
40291 * DISTLIST: Added include/grub/efi/chainloader.h,
40292 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
40293
40294 * include/grub/efi/chainloader.h: New file.
40295 * loader/efi/chainloader.c: Likewise.
40296 * loader/efi/chainloader_normal.c: Likewise.
40297
c0111d6e 402982006-04-30 Marco Gerards <marco@gnu.org>
40299
40300 * commands/configfile.c (grub_cmd_source): New function.
40301 (GRUB_MOD_INIT): Register the commands `source' and `.'.
40302 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
40303
df5341da 403042006-04-30 Marco Gerards <marco@gnu.org>
40305
40306 * normal/execute.c (grub_script_execute_cmd): Change the return
40307 type to `grub_err_t'. Correctly return the error.
40308 (grub_script_execute_cmdline): In case a command line is not a
40309 command or a function, try to interpret it as an assignment.
40310
f85934bd 403112006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
40312
40313 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
40314 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
40315 skip a node whose name is obviously invalid as UTF-16,
40316 i.e. contains a NUL character. Stop the iteration when the last
40317 directory entry is found. Instead of using the return value of
40318 grub_hfsplus_btree_iterate_node, store the value in RET and use
40319 it, because the iterator can be stopped by the last directory
40320 entry.
40321
8f8a2cf8 403222006-04-30 Marco Gerards <marco@gnu.org>
40323
40324 * include/grub/env.h (grub_env_export): New prototype. Reported
40325 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
40326
a27e84ce 403272006-04-30 Marco Gerards <marco@gnu.org>
40328
40329 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
40330 size of the extents in a catalog file record.
40331
eaef0553 403322006-04-29 Marco Gerards <marco@gnu.org>
40333
40334 * commands/configfile.c (grub_cmd_configfile): Execute the
40335 configfile within its own context.
40336
40337 * include/grub/env.h (grub_env_context_open): New prototype.
40338 (grub_env_context_close): Likewise.
40339
40340 * kern/env.c (grub_env): Removed.
40341 (grub_env_sorted): Likewise.
40342 (grub_env_context): New variable.
40343 (grub_env_var_context): Likewise.
40344 (grub_env_find): Search both the active context and the global
40345 context.
40346 (grub_env_context_open): New function.
40347 (grub_env_context_close): Likewise.
40348 (grub_env_insert): Likewise.
40349 (grub_env_remove): Likewise.
40350 (grub_env_export): Likewise.
40351 (grub_env_set): Changed to use helper functions to avoid code
40352 duplication.
40353 (grub_env_iterate): Rewritten so both the current context and the
40354 global context are being used.
40355
40356 * normal/command.c (export_command): New function.
40357 (grub_command_init): Register the `export' function.
40358
7b455f4d 403592006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
40360
40361 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
40362 explicitly to suppress gcc's warnings.
40363 * fs/fat.c (grub_fat_find_dir): Likewise.
40364 (grub_fat_label): Likewise.
40365 * fs/xfs.c (grub_xfs_read_inode): Likewise.
40366 (grub_xfs_mount): Likewise.
40367 (grub_xfs_label): Likewise.
40368 * fs/affs.c (grub_affs_mount): Likewise.
40369 (grub_affs_label): Likewise.
40370 (grub_affs_iterate_dir): Likewise.
40371 * fs/sfs.c (grub_sfs_mount): Likewise.
40372 (grub_sfs_iterate_dir): Likewise.
40373 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
40374 * fs/hfs.c (grub_hfs_mount): Likewise.
40375 (grub_hfs_cmp_catkeys): Likewise.
40376 (grub_hfs_find_dir): Likewise.
40377 (grub_hfs_dir): Likewise.
40378 (grub_hfs_label): Likewise.
40379 * fs/jfs.c (grub_jfs_mount): Likewise.
40380 (grub_jfs_opendir): Likewise.
40381 (grub_jfs_getent): Likewise.
40382 (grub_jfs_lookup_symlink): Likewise.
40383 (grub_jfs_label): Likewise.
40384 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
40385 (grub_hfsplus_iterate_dir): Likewise.
40386 (grub_hfsplus_btree_iterate_node): Made static.
40387
40388 * util/grub-emu.c (prefix): New variable.
40389 (grub_machine_set_prefix): New function.
40390 (main): Do not set the environment variable "prefix" here. Only
40391 set PREFIX, which is used later by grub_machine_set_prefix.
40392
40393 * include/grub/video.h: Do not include grub/symbol.h.
40394 (grub_video_register): Not exported. This symbol is not defined in
40395 the kernel.
40396 (grub_video_unregister): Likewise.
40397 (grub_video_iterate): Likewise.
40398 (grub_video_setup): Likewise.
40399 (grub_video_restore): Likewise.
40400 (grub_video_get_info): Likewise.
40401 (grub_video_get_blit_format): Likewise.
40402 (grub_video_set_palette): Likewise.
40403 (grub_video_get_palette): Likewise.
40404 (grub_video_set_viewport): Likewise.
40405 (grub_video_get_viewport): Likewise.
40406 (grub_video_map_color): Likewise.
40407 (grub_video_map_rgb): Likewise.
40408 (grub_video_map_rgba): Likewise.
40409 (grub_video_fill_rect): Likewise.
40410 (grub_video_blit_glyph): Likewise.
40411 (grub_video_blit_bitmap): Likewise.
40412 (grub_video_blit_render_target): Likewise.
40413 (grub_video_scroll): Likewise.
40414 (grub_video_swap_buffers): Likewise.
40415 (grub_video_create_render_target): Likewise.
40416 (grub_video_delete_render_target): Likewise.
40417 (grub_video_set_active_render_target): Likewise.
40418
40419 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
40420 Undefined.
40421 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
40422
40423 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
40424 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
40425 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
40426 instead of $(srcdir)/genkernsyms.sh.
40427
40428 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
40429 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
40430 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
40431 instead of $(srcdir)/genkernsyms.sh.
40432
40433 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
40434 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
40435 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
40436 instead of $(srcdir)/genkernsyms.sh.
40437
40438 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
40439 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
40440 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
40441 instead of $(srcdir)/genkernsyms.sh.
40442
40443 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
40444 genkernsyms.sh.
40445
40446 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
40447 genkernsyms.sh.
40448 (gensymlist.sh): New target.
40449 (genkernsyms.sh): Likewise.
40450
40451 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
40452 genkernsyms.sh.in and gensymlist.sh.in.
40453
40454 * genkernsyms.sh: Removed.
40455 * gensymlist.sh: Likewise.
f19dbdb7 40456
7b455f4d 40457 * genkernsyms.sh.in: New file.
40458 * gensymlist.sh.in: Likewise.
40459
1885bb27 404602006-04-25 Hollis Blanchard <hollis@penguinppc.org>
40461
40462 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
40463 clobber "prefix", since we may have already set it manually.
40464
71538dff 404652006-04-25 Hollis Blanchard <hollis@penguinppc.org>
40466
40467 * kern/misc.c (abort): New alias for grub_abort.
40468
2965c7cc 404692006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
40470
40471 A new machine-specific function "grub_machine_set_prefix" is
40472 defined. This is called after loading modules, so that a prefix
40473 initialization can use modules. Also, this change adds an
40474 intensive debugging feature for the memory manager via the
40475 configure option "--enable-mm-debug".
f19dbdb7 40476
2965c7cc 40477 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
40478 PART.LEN.
40479
40480 * kern/sparc64/ieee1275/init.c (abort): Removed.
40481 (grub_stop): Likewise.
40482 (grub_exit): New function.
40483 (grub_set_prefix): Renamed to ...
40484 (grub_machine_set_prefix): ... this.
40485 (grub_machine_init): Do not call grub_set_prefix.
40486
40487 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
40488 (grub_machine_set_prefix): ... this.
40489 (grub_machine_init): Do not call grub_set_prefix.
40490
40491 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
40492 (grub_machine_init): Do not set the prefix here.
40493
40494 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
40495
40496 * kern/efi/init.c: Include grub/mm.h.
40497 (grub_efi_set_prefix): New function.
40498
40499 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
40500 (grub_efi_get_filename): New function.
40501 (grub_print_device_path): Renamed to ...
40502 (grub_efi_print_device_path): ... this.
40503
40504 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
40505 [MM_DEBUG] (grub_realloc): Likewise.
40506 [MM_DEBUG] (grub_free): Likewise.
40507 [MM_DEBUG] (grub_memalign): Likewise.
40508 [MM_DEBUG] (grub_mm_debug): New variable.
40509 [MM_DEBUG] (grub_debug_malloc): New function.
40510 [MM_DEBUG] (grub_debug_free): New function.
40511 [MM_DEBUG] (grub_debug_realloc): New function.
40512 [MM_DEBUG] (grub_debug_memalign): New function.
40513
40514 * kern/misc.c (grub_abort): Print a newline to distinguish
40515 the message.
40516
40517 * kern/main.c (grub_main): Call grub_machine_set_prefix and
40518 grub_set_root_dev after loading modules. This is necessary when
40519 setting a prefix depends on modules.
40520
40521 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
40522 (grub_efi_print_device_path): ... this.
40523 (grub_efi_get_filename): New prototype.
40524 (grub_efi_set_prefix): Likewise.
40525
40526 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
40527 and grub/disk.h.
40528 (grub_efidisk_get_device_handle): New prototype.
40529 (grub_efidisk_get_device_name): Likewise.
40530
40531 * include/grub/mm.h: Include config.h.
40532 (MM_DEBUG): Removed.
40533 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
40534 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
40535 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
40536 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
40537 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
40538 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
40539 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
40540 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
40541 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
40542
40543 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
40544
40545 * disk/efi/efidisk.c: Include grub/partition.h.
40546 (iterate_child_devices): New function.
40547 (add_device): First, compare only last device path nodes, so that
40548 devices are sorted by the types.
40549 (grub_efidisk_get_device_handle): New function.
40550 (grub_efidisk_get_device_name): Likewise.
40551
40552 * configure.ac (--enable-mm-debug): New option to enable the
40553 memory manager debugging feature. This makes the binary much
40554 bigger, so is disabled by default.
40555
9cacaa17 405562006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
40557
40558 Use grub_abort instead of grub_stop, and grub_exit must be
40559 define in each architecture now. Also, this change adds support
40560 for EFI disks.
f19dbdb7 40561
9cacaa17 40562 * util/i386/pc/grub-probefs.c: Include grub/term.h.
40563 (grub_getkey): New function.
40564 (grub_term_get_current): Likewise.
40565
40566 * util/i386/pc/grub-setup.c: Include grub/term.h.
40567 (grub_getkey): New function.
40568 (grub_term_get_current): Likewise.
40569
40570 * util/misc.c (grub_stop): Renamed to ...
40571 (grub_exit): ... this.
40572
40573 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
40574 (grub_exit): ... this.
40575 (grub_machine_init): Use grub_abort instead of abort.
40576 (grub_stop): Removed.
40577
40578 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
40579 abort.
40580
40581 * kern/i386/pc/startup.S (grub_exit): New function.
40582 (cold_reboot): New label.
40583
40584 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
40585 (grub_efi_init): Call grub_efidisk_init.
40586 (grub_efi_fini): Call grub_efidisk_fini.
40587
40588 * kern/efi/efi.c: Include grub/mm.h.
40589 (grub_efi_console_control_guid): Renamed to ...
40590 (console_control_guid): ... this.
40591 (grub_efi_loaded_image_guid): Renamed to ...
40592 (loaded_image_guid): ... this.
40593 (grub_efi_locate_handle): New function.
40594 (grub_efi_open_protocol): Likewise.
40595 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
40596 GRUB_EFI_CONSOLE_CONTROL_GUID.
40597 (grub_efi_exit): Removed.
40598 (grub_stop): Likewise.
40599 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
40600 (grub_exit): New function.
40601 (grub_print_device_path): Likewise.
40602
40603 * kern/rescue.c (grub_rescue_cmd_exit): New function.
40604 (grub_enter_rescue_mode): Register "exit".
40605
40606 * kern/misc.c (grub_real_dprintf): A cosmetic change.
40607 (grub_abort): New function.
40608
40609 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
40610
40611 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
40612
40613 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
40614
40615 * include/grub/efi/efi.h (grub_efi_exit): Removed.
40616 (grub_print_device_path): New prototype.
40617 (grub_efi_locate_handle): Likewise.
40618 (grub_efi_open_protocol): Likewise.
40619
40620 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
40621 * disk/efi/efidisk.c: Likewise.
40622
40623 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
40624
40625 * include/grub/efi/console_control.h
40626 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
40627
40628 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
40629 last 8 bytes as an array.
40630 (GRUB_EFI_DISK_IO_GUID): New macro.
40631 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
40632 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
40633 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
40634 grub_uint8_t.
40635 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
40636 (struct grub_efi_device_path): Rename the member "sub_type" to
40637 "subtype".
40638 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
40639 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
40640 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
40641 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
40642 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
40643 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
40644 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
40645 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
40646 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
40647 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
40648 (struct grub_efi_pci_device_path): New structure.
40649 (grub_efi_pci_device_path_t): New type.
40650 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
40651 (struct grub_efi_pccard_device_path): New structure.
40652 (grub_efi_pccard_device_path_t): New type.
40653 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
40654 (struct grub_efi_memory_mapped_device_path): New structure.
40655 (grub_efi_memory_mapped_device_path_t): New type.
40656 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
40657 (struct grub_efi_vendor_device_path): New structure.
40658 (grub_efi_vendor_device_path_t): New type.
40659 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
40660 (struct grub_efi_controller_device_path): New structure.
40661 (grub_efi_controller_device_path_t): New type.
40662 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
40663 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
40664 (struct grub_efi_acpi_device_path): New structure.
40665 (grub_efi_acpi_device_path_t): New type.
40666 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
40667 (struct grub_efi_expanded_acpi_device_path): New structure.
40668 (grub_efi_expanded_acpi_device_path_t): New type.
40669 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
40670 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
40671 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
40672 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
40673 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
40674 (struct grub_efi_atapi_device_path): New structure.
40675 (grub_efi_atapi_device_path_t): New type.
40676 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
40677 (struct grub_efi_fibre_channel_device_path): New structure.
40678 (grub_efi_fibre_channel_device_path_t): New type.
40679 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
40680 (struct grub_efi_1394_device_path): New structure.
40681 (grub_efi_1394_device_path_t): New type.
40682 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
40683 (struct grub_efi_usb_device_path): New structure.
40684 (grub_efi_usb_device_path_t): New type.
40685 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
40686 (struct grub_efi_usb_class_device_path): New structure.
40687 (grub_efi_usb_class_device_path_t): New type.
40688 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
40689 (struct grub_efi_i2o_device_path): New structure.
40690 (grub_efi_i2o_device_path_t): New type.
40691 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
40692 (struct grub_efi_mac_address_device_path): New structure.
40693 (grub_efi_mac_address_device_path_t): New type.
40694 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
40695 (struct grub_efi_ipv4_device_path): New structure.
40696 (grub_efi_ipv4_device_path_t): New type.
40697 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
40698 (struct grub_efi_ipv6_device_path): New structure.
40699 (grub_efi_ipv6_device_path_t): New type.
40700 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
40701 (struct grub_efi_infiniband_device_path): New structure.
40702 (grub_efi_infiniband_device_path_t): New type.
40703 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
40704 (struct grub_efi_uart_device_path): New structure.
40705 (grub_efi_uart_device_path_t): New type.
40706 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
40707 (struct grub_efi_vendor_messaging_device_path): New structure.
40708 (grub_efi_vendor_messaging_device_path_t): New type.
40709 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
40710 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
40711 (struct grub_efi_hard_drive_device_path): New structure.
40712 (grub_efi_hard_drive_device_path_t): New type.
40713 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
40714 (struct grub_efi_cdrom_device_path): New structure.
40715 (grub_efi_cdrom_device_path_t): New type.
40716 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
40717 (struct grub_efi_vendor_media_device_path): New structure.
40718 (grub_efi_vendor_media_device_path_t): New type.
40719 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
40720 (struct grub_efi_file_path_device_path): New structure.
40721 (grub_efi_file_path_device_path_t): New type.
40722 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
40723 (struct grub_efi_protocol_device_path): New structure.
40724 (grub_efi_protocol_device_path_t): New type.
40725 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
40726 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
40727 (struct grub_efi_bios_device_path): New structure.
40728 (grub_efi_bios_device_path_t): New type.
40729 (struct grub_efi_disk_io): New structure.
40730 (grub_efi_disk_io_t): New type.
40731 (struct grub_efi_block_io_media): New structure.
40732 (grub_efi_block_io_media_t): New type.
40733 (struct grub_efi_block_io): New structure.
40734 (grub_efi_block_io_t): New type.
40735
40736 * include/grub/misc.h (grub_stop): Removed.
40737 (grub_exit): New prototype.
40738 (grub_abort): Likewise.
40739
40740 * include/grub/disk.h (enum grub_disk_dev_id): Added
40741 GRUB_DISK_DEVICE_EFIDISK_ID.
40742
40743 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
40744 disk/efi/efidisk.c.
40745 (kernel_syms.lst): Remove the target if an error occurs.
40746
49986a9f 407472006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
40748
40749 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
40750 as it was simply too buggy.
40751
970d3b8a 407522006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
40753
40754 * kern/misc.c (grub_lltoa): New function.
40755 (grub_vsprintf): Added support for the long long suffix,
40756 i.e. "ll".
40757
ff04ec24 407582006-04-20 Hollis Blanchard <hollis@penguinppc.org>
40759
40760 * Makefile.in (LDFLAGS): Add variable.
40761 (LD): Remove variable.
40762 * configure.ac: Add -m32 to LDFLAGS.
40763 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
40764 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
40765 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
40766 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
40767 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
40768 variables.
40769 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
40770 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
40771 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
40772
37e5e1a4 407732006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
40774
40775 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
40776 length for unknown glyph.
40777
c352d8dd 407782006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
40779
2eab1c0d 40780 Add support for pre-loaded modules into the EFI port.
f19dbdb7 40781
2eab1c0d 40782 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
40783 completely. Accept one more argument DIR. The caller has changed.
40784
40785 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
40786
40787 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
40788 (grub_efi_loaded_image_guid): New variable.
40789 (grub_efi_get_loaded_image): New function.
40790 (grub_arch_modules_addr): Likewise.
40791
40792 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
40793 prototype.
40794
40795 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
40796 (struct grub_efi_loaded_image): New structure.
40797 (grub_efi_loaded_image_t): New type.
40798
407992006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 40800
c352d8dd 40801 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
40802 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
40803 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
40804
6d01d6b4 408052006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
40806
40807 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
40808
976a4ea0 408092006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
40810
40811 * DISTLIST: Added include/grub/efi/console.h,
40812 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
40813 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
40814
40815 * include/grub/efi/console.h: New file.
40816 * include/grub/efi/time.h: Likewise.
40817 * include/grub/i386/efi/kernel.h: Likewise.
40818 * kern/efi/init.c: Likewise.
40819 * kern/efi/mm.c: Likewise.
40820 * term/efi/console.c: Likewise.
f19dbdb7 40821
976a4ea0 40822 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
40823 (grub_stop): Removed.
40824 (grub_get_rtc): Likewise.
40825 (grub_machine_init): Simply call grub_efi_init.
40826 (grub_machine_fini): Call grub_efi_fini.
40827
40828 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
40829 (grub_efi_output_string): Removed.
40830 (grub_efi_stall): New function.
40831 (grub_stop): Likewise.
40832 (grub_get_rtc): Likewise.
40833
40834 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
40835 (grub_efi_stall): New prototype.
40836 (grub_efi_allocate_pages): Likewise.
40837 (grub_efi_free_pages): Likewise.
40838 (grub_efi_get_memory_map): Likewise.
40839 (grub_efi_mm_init): Likewise.
40840 (grub_efi_mm_fini): Likewise.
40841 (grub_efi_init): Likewise.
40842 (grub_efi_fini): Likewise.
40843
40844 * include/grub/i386/efi/time.h: Do not include
40845 grub/symbol.h. Include grub/efi/time.h.
40846 (GRUB_TICKS_PER_SECOND): Removed.
40847 (grub_get_rtc): Likewise.
40848
40849 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
40850 Added padding. The EFI spec is buggy.
40851 (GRUB_EFI_BLACK): New macro.
40852 (GRUB_EFI_BLUE): Likewise.
40853 (GRUB_EFI_GREEN): Likewise.
40854 (GRUB_EFI_CYAN): Likewise.
40855 (GRUB_EFI_RED): Likewise.
40856 (GRUB_EFI_MAGENTA): Likewise.
40857 (GRUB_EFI_BROWN): Likewise.
40858 (GRUB_EFI_LIGHTGRAY): Likewise.
40859 (GRUB_EFI_BRIGHT): Likewise.
40860 (GRUB_EFI_DARKGRAY): Likewise.
40861 (GRUB_EFI_LIGHTBLUE): Likewise.
40862 (GRUB_EFI_LIGHTGREEN): Likewise.
40863 (GRUB_EFI_LIGHTCYAN): Likewise.
40864 (GRUB_EFI_LIGHTRED): Likewise.
40865 (GRUB_EFI_LIGHTMAGENTA): Likewise.
40866 (GRUB_EFI_YELLOW): Likewise.
40867 (GRUB_EFI_WHITE): Likewise.
40868 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
40869 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
40870 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
40871 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
40872 (GRUB_EFI_BACKGROUND_RED): Likewise.
40873 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
40874 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
40875 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
40876 (GRUB_EFI_TEXT_ATTR): Likewise.
40877
40878 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
40879 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
40880 (kernel_mod_HEADERS): Added efi/time.h.
40881
83709125 408822006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
40883
40884 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
40885 include/grub/efi/api.h, include/grub/efi/console_control.h,
40886 include/grub/efi/efi.h, include/grub/efi/pe32.h,
40887 include/grub/i386/efi/time.h, kern/efi/efi.c,
40888 kern/i386/efi/init.c, kern/i386/efi/startup.S,
40889 and util/i386/efi/grub-mkimage.c.
40890
40891 * Makefile.in (RMKFILES): Added i386-efi.rmk.
40892
40893 * genmk.rb (PModule#rule): Do not export symbols if
40894 #{prefix}_EXPORTS is set to "no".
40895
40896 * conf/i386-efi.mk: New file.
40897 * conf/i386-efi.rmk: Likewise.
40898 * include/grub/efi/api.h: Likewise.
40899 * include/grub/efi/console_control.h: Likewise.
40900 * include/grub/efi/efi.h: Likewise.
40901 * include/grub/efi/pe32.h: Likewise.
40902 * include/grub/i386/efi/time.h: Likewise.
40903 * kern/efi/efi.c: Likewise.
40904 * kern/i386/efi/init.c: Likewise.
40905 * kern/i386/efi/startup.S: Likewise.
40906 * util/i386/efi/grub-mkimage.c: Likewise.
40907
409082006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 40909
40910 * include/grub/script.h: Include <grub/parser.h> and
40911 "grub_script.tab.h".
40912 (struct grub_lexer_param): New struct.
40913 (struct grub_parser_param): Likewise.
40914 (grub_script_create_arglist): Pass the state in an argument.
40915 (grub_script_add_arglist): Likewise.
40916 (grub_script_create_cmdline): Likewise.
40917 (grub_script_create_cmdblock): Likewise.
40918 (grub_script_create_cmdif): Likewise.
40919 (grub_script_create_cmdmenu): Likewise.
40920 (grub_script_add_cmd): Likewise.
40921 (grub_script_arg_add): Likewise.
40922 (grub_script_lexer_ref): Likewise.
40923 (grub_script_lexer_deref): Likewise.
40924 (grub_script_lexer_record_start): Likewise.
40925 (grub_script_lexer_record_stop): Likewise.
40926 (grub_script_mem_record): Likewise.
40927 (grub_script_mem_record_stop): Likewise.
40928 (grub_script_malloc): Likewise.
40929 (grub_script_yylex): Likewise.
40930 (grub_script_yyparse): Likewise.
40931 (grub_script_yyerror): Likewise.
40932 (grub_script_yylex): Likewise.
40933 (grub_script_lexer_init): Return the state.
40934
40935 * normal/lexer.c (grub_script_lexer_state): Removed variable.
40936 (grub_script_lexer_done): Likewise.
40937 (grub_script_lexer_getline): Likewise.
40938 (grub_script_lexer_refs): Likewise.
40939 (script): Likewise.
40940 (newscript): Likewise.
40941 (record): Likewise.
40942 (recording): Likewise.
40943 (recordpos): Likewise.
40944 (recordlen): Likewise.
40945 (grub_script_lexer_init): Return the state instead of setting
40946 global variables.
40947 (grub_script_lexer_ref): Use the newly added argument for state
40948 instead of globals.
40949 (grub_script_lexer_deref): Likewise.
40950 (grub_script_lexer_record_start): Likewise.
40951 (grub_script_lexer_record_stop): Likewise.
40952 (recordchar): Likewise.
40953 (nextchar): Likewise.
40954 (grub_script_yylex2): Likewise.
40955 (grub_script_yylex): Likewise.
40956 (grub_script_yyerror): Likewise.
40957
40958 * normal/parser.y (func_mem): Removed variable.
40959 (menu_entry): Likewise.
40960 (err): Likewise.
40961 (%lex-param): New parser option.
40962 (%parse-param): Likewise.
40963 (script): Always return the AST.
40964 (argument): Pass the state around.
40965 (arguments): Likewise.
40966 (grubcmd): Likewise.
40967 (commands): Likewise.
40968 (function): Likewise.
40969 (menuentry): Likewise.
40970 (if_statement): Likewise.
40971 (if): Likewise.
40972
40973 * normal/script.c (grub_script_memused): Removed variable.
40974 (grub_script_parsed): Likewise.
40975 (grub_script_malloc): Added a state argument. Use that instead of
40976 global variables.
40977 (grub_script_mem_record): Likewise.
40978 (grub_script_mem_record_stop): Likewise.
40979 (grub_script_arg_add): Likewise.
40980 (grub_script_add_arglist): Likewise.
40981 (grub_script_create_cmdline): Likewise.
40982 (grub_script_create_cmdif): Likewise.
40983 (grub_script_create_cmdmenu): Likewise.
40984 (grub_script_add_cmd): Likewise.
40985 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 40986
e2a8c904 409872006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 40988
40989 * normal/command.c (grub_command_init): Remove the title command.
40990
40991 * normal/lexer.c (grub_script_yylex): Renamed from this...
40992 (grub_script_yylex2): ... to this.
40993 (grub_script_yylex): New function. Temporary
40994 introduced to filter some tokens.
40995 (grub_script_yyerror): Print a newline.
40996
40997 * normal/main.c (read_config_file): Output information about the
40998 lines that contain errors. Wait for a key after all lines have
40999 been processed. Don't return an empty menu.
41000
41001 * normal/parser.y (func_mem): Don't initialize.
41002 (menu_entry): Likewise.
41003 (err): New variable.
41004 (script): Don't return anything when an error was encountered.
41005 (ws, returns): Removed rules.
41006 (argument): Disabled concatenated variable support.
41007 (arguments): Remove explicit separators.
41008 (grubcmd): Likewise.
41009 (function): Likewise.
41010 (menuentry): Likewise.
41011 (if): Likewise.
41012 (commands): Likewise. Add error handling.
41013
41014 * normal/script.c (grub_script_create_cmdline): If
41015 `grub_script_parsed' is 0, assume the parser encountered an error.
41016
c9a86192 410172006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
41018
41019 * configure.ac: Add support for EFI. Fix the typo
41020 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
41021
70f3b243 410222006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
41023
41024 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
41025 foreign multibyte characters should be shown correctly.
41026
65f201ad 410272006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
41028
41029 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
41030 calculation.
41031 (read_config_file): Made it to close file before returning.
41032
b4b93674 410332006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
41034
41035 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
41036 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
41037 video/i386/pc/vbefill.c.
41038
41039 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
41040 video/i386/pc/vbefill.c.
41041
41042 * include/grub/video.h (grub_video_blit_format): New enum.
41043 (grub_video_mode_info): Added new member blit_format.
41044 (grub_video_get_blit_format): New function prototype.
41045
41046 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
41047 function prototype.
41048 (grub_video_vbe_map_rgb): Likewise.
41049 (grub_video_vbe_unmap_color): Likewise.
41050
41051 * include/grub/i386/pc/vbeblit.h: New file.
41052
41053 * include/grub/i386/pc/vbefill.h: New file.
41054
41055 * video/video.c (grub_video_get_blit_format): New function.
41056 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
41057 (grub_video_vbe_map_rgb): Likewise.
41058 (grub_video_vbe_unmap_color): Likewise.
41059
41060 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
41061 optimized fills.
41062 (grub_video_vbe_blit_render_target): Changed to use more optimized
41063 blits.
41064 (grub_video_vbe_setup): Added detection for optimized settings.
41065 (grub_video_vbe_create_render_target): Likewise.
41066
41067 * video/i386/pc/vbeblit.c: New file.
41068
41069 * video/i386/pc/vbefill.c: New file.
41070
c2379b9c 410712006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
41072
41073 * font/manager.c (grub_font_get_glyph): Removed font fixup from
41074 here...
41075
41076 * util/unifont2pff.rb: ... and moved it to here. Improved argument
41077 parsing to support both hex and dec ranges. If filename was missing
41078 show usage information.
41079
bd0d7896 410802006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
41081
41082 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
41083 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
41084
41085 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
41086 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
41087 (video_mod_SOURCES): Added.
41088 (video_mod_CFLAGS): Likewise.
41089 (video_mod_LDFLAGS): Likewise.
41090 (gfxterm_mod_SOURCES): Likewise.
41091 (gfxterm_mod_CFLAGS): Likewise.
41092 (gfxterm_mod_LDFLAGS): Likewise.
41093 (videotest_mod_SOURCES): Likewise.
41094 (videotest_mod_CFLAGS): Likewise.
41095 (videotest_mod_LDFLAGS): Likewise.
41096 (vesafb_mod_SOURCES): Removed.
41097 (vesafb_mod_CFLAGS): Likewise.
41098 (vesafb_mod_LDFLAGS): Likewise.
41099 (vga_mod_SOURCES): Likewise.
41100 (vga_mod_CFLAGS): Likewise.
41101 (vga_mod_LDFLAGS): Likewise.
41102
41103 * commands/videotest.c: New file.
41104
41105 * font/manager.c (fill_with_default_glyph): Modified to use
41106 grub_font_glyph.
41107 (grub_font_get_glyph): Likewise.
41108 (fontmanager): Renamed from this...
41109 (font_manager): ... to this.
41110
41111 * include/grub/font.h (grub_font_glyph): Added new structure.
41112 (grub_font_get_glyph): Modified to use grub_font_glyph.
41113
41114 * include/grub/misc.h (grub_abs): Added as inline function.
41115
41116 * include/grub/video.h: New file.
41117
41118 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
41119 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
41120 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
41121 (grub_vbe_get_controller_info): Renamed from this...
41122 (grub_vbe_bios_get_controller_info): ... to this.
41123 (grub_vbe_get_mode_info): Renamed from this...
41124 (grub_vbe_bios_get_mode_info): ... to this.
41125 (grub_vbe_set_mode): Renamed from this...
41126 (grub_vbe_bios_set_mode): ... to this.
41127 (grub_vbe_get_mode): Renamed from this...
41128 (grub_vbe_bios_get_mode): ... to this.
41129 (grub_vbe_set_memory_window): Renamed from this...
41130 (grub_vbe_bios_set_memory_window): ... to this.
41131 (grub_vbe_get_memory_window): Renamed from this...
41132 (grub_vbe_bios_get_memory_window): ... to this.
41133 (grub_vbe_set_scanline_length): Renamed from this...
41134 (grub_vbe_set_scanline_length): ... to this.
41135 (grub_vbe_get_scanline_length): Renamed from this...
41136 (grub_vbe_bios_get_scanline_length): ... to this.
41137 (grub_vbe_set_display_start): Renamed from this...
41138 (grub_vbe_bios_set_display_start): ... to this.
41139 (grub_vbe_get_display_start): Renamed from this...
41140 (grub_vbe_bios_get_display_start): ... to this.
41141 (grub_vbe_set_palette_data): Renamed from this...
41142 (grub_vbe_bios_set_palette_data): ... to this.
41143 (grub_vbe_set_pixel_rgb): Removed.
41144 (grub_vbe_set_pixel_index): Likewise.
41145
41146 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
41147 from this...
41148 (grub_vbe_bios_get_controller_info): ... to this.
41149 (grub_vbe_get_mode_info): Renamed from this...
41150 (grub_vbe_bios_get_mode_info): ... to this.
41151 (grub_vbe_set_mode): Renamed from this...
41152 (grub_vbe_bios_set_mode): ... to this.
41153 (grub_vbe_get_mode): Renamed from this...
41154 (grub_vbe_bios_get_mode): ... to this.
41155 (grub_vbe_set_memory_window): Renamed from this...
41156 (grub_vbe_bios_set_memory_window): ... to this.
41157 (grub_vbe_get_memory_window): Renamed from this...
41158 (grub_vbe_bios_get_memory_window): ... to this.
41159 (grub_vbe_set_scanline_length): Renamed from this...
41160 (grub_vbe_set_scanline_length): ... to this.
41161 (grub_vbe_get_scanline_length): Renamed from this...
41162 (grub_vbe_bios_get_scanline_length): ... to this.
41163 (grub_vbe_set_display_start): Renamed from this...
41164 (grub_vbe_bios_set_display_start): ... to this.
41165 (grub_vbe_get_display_start): Renamed from this...
41166 (grub_vbe_bios_get_display_start): ... to this.
41167 (grub_vbe_set_palette_data): Renamed from this...
41168 (grub_vbe_bios_set_palette_data): ... to this.
41169 (grub_vbe_bios_get_controller_info): Fixed problem with registers
41170 getting corrupted after calling it. Added more pushes and pops.
41171 (grub_vbe_bios_set_mode): Likewise.
41172 (grub_vbe_bios_get_mode): Likewise.
41173 (grub_vbe_bios_get_memory_window): Likewise.
41174 (grub_vbe_bios_set_scanline_length): Likewise.
41175 (grub_vbe_bios_get_scanline_length): Likewise.
41176 (grub_vbe_bios_get_display_start): Likewise.
41177 (grub_vbe_bios_set_palette_data): Likewise.
41178
41179 * normal/cmdline.c (cl_set_pos): Refresh the screen.
41180 (cl_insert): Likewise.
41181 (cl_delete): Likewise.
41182
41183 * term/gfxterm.c: New file.
41184
41185 * term/i386/pc/vesafb.c: Removed file.
41186
41187 * video/video.c: New file.
41188
41189 * video/i386/pc/vbe.c (real2pm): Added new function.
41190 (grub_video_vbe_draw_pixel): Likewise.
41191 (grub_video_vbe_get_video_ptr): Likewise.
41192 (grub_video_vbe_get_pixel): Likewise
41193 (grub_video_vbe_init): Likewise.
41194 (grub_video_vbe_fini): Likewise.
41195 (grub_video_vbe_setup): Likewise.
41196 (grub_video_vbe_get_info): Likewise.
41197 (grub_video_vbe_set_palette): Likewise.
41198 (grub_video_vbe_get_palette): Likewise.
41199 (grub_video_vbe_set_viewport): Likewise.
41200 (grub_video_vbe_get_viewport): Likewise.
41201 (grub_video_vbe_map_color): Likewise.
41202 (grub_video_vbe_map_rgb): Likewise.
41203 (grub_video_vbe_map_rgba): Likewise.
41204 (grub_video_vbe_unmap_color): Likewise.
41205 (grub_video_vbe_fill_rect): Likewise.
41206 (grub_video_vbe_blit_glyph): Likewise.
41207 (grub_video_vbe_blit_bitmap): Likewise.
41208 (grub_video_vbe_blit_render_target): Likewise.
41209 (grub_video_vbe_scroll): Likewise.
41210 (grub_video_vbe_swap_buffers): Likewise.
41211 (grub_video_vbe_create_render_target): Likewise.
41212 (grub_video_vbe_delete_render_target): Likewise.
41213 (grub_video_vbe_set_active_render_target): Likewise.
41214 (grub_vbe_set_pixel_rgb): Remove function.
41215 (grub_vbe_set_pixel_index): Likewise.
41216 (index_color_mode): Remove static variable.
41217 (active_mode): Likewise.
41218 (framebuffer): Likewise.
41219 (bytes_per_scan_line): Likewise.
41220 (grub_video_vbe_adapter): Added new static variable.
41221 (framebuffer): Likewise.
41222 (render_target): Likewise.
41223 (initial_mode): Likewise.
41224 (mode_in_use): Likewise.
41225 (mode_list): Likewise.
41226
5f97350b 412272006-03-10 Marco Gerards <marco@gnu.org>
41228
41229 * configure.ac (AC_INIT): Bumped to 1.93.
41230
41231 * DISTLIST: Added `include/grub/hfs.h'.
41232
a3c5c6f8 412332006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
41234
41235 * boot/i386/pc/boot.S (general_error): Before looping, try INT
41236 18H, which might help the BIOS falling back to next boot media.
41237
6de53d26 412382006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
41239
41240 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
41241 Poe Chen <poe.poechen@gmail.com>.
41242
77c4a393 412432006-01-17 Marco Gerards <marco@gnu.org>
41244
41245 * include/grub/normal.h: Include <grub/script.h>.
41246 (grub_command_list): Removed struct.
41247 (grub_command_list_t): Removed type.
41248 (grub_menu_entry): Remove members `num' and `command_list'. Add
41249 members `commands' and `sourcecode'.
41250 * include/grub/script.h: Add inclusion guards.
41251 (grub_script_cmd_menuentry): New struct.
41252 (grub_script_execute_menuentry): New prototype.
41253 (grub_script_lexer_record_start): Likewise.
41254 (grub_script_lexer_record_stop): Likewise.
41255 * normal/execute.c (grub_script_execute_menuentry): New function.
41256 * normal/lexer.c (record, recording, recordpos, recordlen): New
41257 variables.
41258 (grub_script_lexer_record_start): New function.
41259 (grub_script_lexer_record_stop): Likewise.
41260 (recordchar): Likewise.
41261 (nextchar): Likewise.
41262 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
41263 2048 as the buffer size. Add the tokens `menuentry' and `@'.
41264 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
41265 (current_menu): New variable.
41266 (free_menu): Mainly rewritten.
41267 (grub_normal_menu_addentry): New function.
41268 (read_config_file): Rewritten.
41269 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 41270 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 41271 the menu entry.
41272 (run): Mainly rewritten.
41273 * normal/parser.y (menu_entry): New variable.
41274 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
41275 (menuentry): New rule.
41276 (command): Add `menuentry'.
41277 (if_statement): Allow additional returns before `fi'.
41278 * normal/script.c (grub_script_create_cmdmenu): New function.
41279
144f1f98 412802006-01-03 Marco Gerards <marco@gnu.org>
41281
41282 * INSTALL: GNU Bison is required.
41283 * configure.ac: Rewritten the test to detect Bison.
41284 * Makefile.in (YACC): New variable. Reported by Xun Sun
41285 <xun.sun.cn@gmail.com>.
41286
af4b2d89 412872006-01-03 Marco Gerards <marco@gnu.org>
41288
41289 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
41290 the HFS+ filesystem to filesystem blocks.
41291 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
41292 GCC warning is silenced.
41293
15643b71 412942006-01-03 Marco Gerards <marco@gnu.org>
41295
41296 * partmap/apple.c (apple_partition_map_iterate): Convert the data
41297 read from disk from big endian to host byte order.
41298
00905879 412992006-01-03 Hollis Blanchard <hollis@penguinppc.org>
41300
41301 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
41302 documentation.
41303 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
41304 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
41305 embedded HFS+ filesystem.
41306 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
41307 (grub_hfs_sblock): Move from here...
41308 * include/grub/hfs.h: To here... New file.
41309 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
41310 documentation.
41311 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
41312 New macros.
41313 (grub_hfsplus_volheader): Change type of member `magic' to
41314 `grub_uint16_t'.
41315 (grub_hfsplus_data): Add new member `embedded_offset'.
41316 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
41317 returned block.
41318 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
41319 Calculate the offset.
41320
8899bc3e 413212005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41322
41323 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
41324 Removed.
41325 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
41326
ae8c0277 413272005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41328
41329 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
41330 ENV->NAME is NULL after allocating ENV->VALUE.
41331
07084456 413322005-12-25 Marco Gerards <marco@gnu.org>
41333
41334 * kern/env.c (grub_env_set): Rewritten the error handling code.
41335
4750f5f1 413362005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41337
41338 * geninit.sh: Made more robust, and more portable.
41339
50214199 413402005-12-25 Marco Gerards <marco@gnu.org>
41341
41342 Add support for Apple HFS+ filesystems.
f19dbdb7 41343
50214199 41344 * fs/hfsplus.c: New file.
41345
41346 * DISTLIST: Added `fs/hfsplus.c'.
41347
41348 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
41349 (hfsplus_mod_SOURCES): New variable.
41350 (hfsplus_mod_CFLAGS): Likewise.
41351 (hfsplus_mod_LDFLAGS): Likewise.
41352 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
41353 (grub_setup_SOURCES): Likewise.
41354 (grub_mkdevicemap_SOURCES): Likewise.
41355 (grub_emu_SOURCES): Likewise.
41356 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41357
41358 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
41359
41360 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
41361
befaed6c 413622005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41363
41364 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
41365 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
41366 include/grub/parser.h, include/grub/script.h, kern/parser.c,
41367 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
41368 normal/lexer.c, normal/parser.y, normal/script.c, and
41369 partmap/gpt.c.
41370 Removed kern/sparc64/cache.c.
41371
41372 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
41373 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
41374 grub_emu_init.c.
41375
41376 * configure.ac (AC_INIT): Bumped to 1.92.
41377
6a124103 413782005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
41379
41380 * kern/err.c (grub_error_push): Added new function to support error
41381 stacks.
41382 (grub_error_pop): Likewise.
41383 (grub_error_stack_items): New local variable to support error stacks.
41384 (grub_error_stack_pos): Likewise.
41385 (grub_error_stack_assert): Likewise.
41386 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
41387 stack depth.
41388 (grub_print_error): Added support to print errors from error stack.
41389
41390 * include/grub/err.h (grub_error_push): Added function prototype.
41391 (grub_error_pop): Likewise.
41392
be973c1b 413932005-12-09 Hollis Blanchard <hollis@penguinppc.org>
41394
41395 * configure.ac: Accept `powerpc64' as host_cpu.
41396 (amd64): Rename to `biarch32'.
41397
41398 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
41399 non-cacheline-aligned addresses.
41400
41401 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
41402 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
41403 if `size' is non-zero.
41404
b04216ab 414052005-12-03 Marco Gerards <mgerards@xs4all.nl>
41406
41407 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
41408 and `cd' to make sure the filename is not prefixed with a
41409 directory name.
41410 (pkgdata_MODULES): Add `gpt.mod'.
41411 (gpt_mod_SOURCES): New variable.
41412 (gpt_mod_CFLAGS): Likewise.
41413 (gpt_mod_LDFLAGS): Likewise.
41414
41415 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
41416
41417 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
41418 New macro.
41419
41420 * partmap/gpt.c: New file.
41421
41422 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
41423 GPT partition map is detected.
41424
41730ed9 414252005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
41426
41427 * commands/i386/pc/play.c: New file.
41428 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
41429 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
41430 macros.
f19dbdb7 41431
95dc3643 414322005-11-27 Marco Gerards <mgerards@xs4all.nl>
41433
41434 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
41435 ((unused))' to silence gcc warning.
41436
1569ec51 414372005-11-26 Hollis Blanchard <hollis@penguinppc.org>
41438
41439 * configure.ac: Correct `AC_PROG_YACC' test.
41440
9abde152 414412005-11-22 Hollis Blanchard <hollis@penguinppc.org>
41442
41443 * util/powerpc/ieee1275/grub-install.in: Run the mount point
41444 check before installing files.
41445
44b83271 414462005-11-22 Mike Small <smallm@panix.com>
41447
41448 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
41449 number regex so multidigit numbers are recognized correctly.
41450
414512005-11-22 Mike Small <smallm@panix.com>
41452
41453 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
41454 debugging message before attempting to claim memory.
41455 (grub_rescue_cmd_initrd): Add a claim debugging message and try
41456 multiple addresses in case of failure.
41457
9c12956b 414582005-11-22 Hollis Blanchard <hollis@penguinppc.org>
41459
41460 * term/tparm.c (get_space): Remove empty `if' statement.
41461
41462 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
41463
41464 * kern/parser.c (check_varstate): Rename `state' to 's'.
41465
aeaf81d9 414662005-11-22 Hollis Blanchard <hollis@penguinppc.org>
41467
41468 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
41469 variable definitions to the beginning of each function. Sort stack
41470 variables by size.
41471 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
41472 `buf' argument to `char *'.
41473
79bbb63f 414742005-11-22 Hollis Blanchard <hollis@penguinppc.org>
41475
41476 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
41477 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 41478 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 41479 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
41480 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
41481 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
41482 configfile.mod, search.mod, gzio.mod and test.mod.
41483 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
41484 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
41485 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
41486 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
41487 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
41488 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
41489 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
41490 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
41491 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
41492 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
41493 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
41494 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
41495 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
41496 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
41497 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
41498 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
41499 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
41500 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
41501 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
41502 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
41503 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
41504 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
41505 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
41506
41507 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
41508 `grep --include'.
41509 (pkgdata_MODULES): Add test.mod.
41510
233b1628 415112005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41512
41513 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
41514 appending to variables with "+=".
41515 (PModule): Use full pathname to generate *.lst filenames.
41516
41517 * Makefile.in: Fixed list rules moved from genmk.rb.
41518 (.DELETE_ON_ERROR): New special target.
41519 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
41520
41521 * conf/i386-pc.rmk: Include conf/common.mk.
41522 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 41523 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 41524 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
41525 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
41526 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
41527 configfile.mod, search.mod, gzio.mod and test.mod.
41528 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
41529 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
41530 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
41531 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
41532 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
41533 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
41534 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
41535 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
41536 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
41537 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
41538 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
41539 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
41540 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
41541 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
41542 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
41543 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
41544 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
41545 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
41546 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
41547 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
41548 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
41549 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
41550 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
41551 here...
41552 * conf/common.rmk: ... to here. New file.
41553
41554 * conf/common.mk: New file.
41555
16f820c8 415562005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
41557
41558 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
41559 (grub_script.tab.c): ... here.
41560
41561 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
41562 (grub_script.tab.c): ... here.
41563
41564 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
41565 (grub_script.tab.c): ... here.
41566
41567 * normal/command.c (grub_command_find): Fixed a memory leak of
41568 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
41569
63ba1554 415702005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41571
41572 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
41573 "@" which marks the start of a comment on ARM.
41574 (VARIABLE): Likewise.
41575
7f67dc13 415762005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41577
79bbb63f 41578 Add support for Linux/ADFS partition tables.
7f67dc13 41579
41580 * partmap/acorn.c: New file.
41581
41582 * include/grub/acorn_filecore.h: Likewise.
41583
41584 * DISTLIST: Added `partmap/acorn.c' and
41585 `include/grub/acorn_filecore.h'.
f19dbdb7 41586
7f67dc13 41587 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41588 `partmap/acorn.c'.
41589 (pkgdata_MODULES): Add `acorn.mod'.
41590 (acorn_mod_SOURCES): New variable.
41591 (acorn_mod_CFLAGS): Likewise.
41592
41593 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
41594 `partmap/acorn.c'.
41595 (pkgdata_MODULES): Add `acorn.mod'.
41596 (acorn_mod_SOURCES): New variable.
41597 (acorn_mod_CFLAGS): Likewise.
41598
41599 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
41600 (pkgdata_MODULES): Add `acorn.mod'.
41601 (acorn_mod_SOURCES): New variable.
41602 (acorn_mod_CFLAGS): Likewise.
41603 (acorn_mod_LDFLAGS): Likewise.
41604
41605 * include/types.h (grub_disk_addr_t): New typedef.
41606
6d099807 416072005-11-13 Marco Gerards <mgerards@xs4all.nl>
41608
41609 * geninit.sh: New file.
41610
41611 * geninitheader.sh: Likewise.
41612
41613 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
41614 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
41615 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
41616 * commands/configfile.c (grub_configfile_init)
41617 (grub_configfile_fini): Likewise.
41618 * commands/default.c (grub_default_init, grub_default_fini):
41619 Likewise.
41620 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
41621 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
41622 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
41623 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
41624 Likewise.
41625 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
41626 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
41627 Likewise.
41628 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 41629 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 41630 Likewise.
41631 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
41632 Likewise.
fe6b695a 41633 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 41634 Likewise.
41635 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
41636 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
41637 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
41638 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
41639 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
41640 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
41641 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
41642 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
41643 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
41644 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
41645 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
41646 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
41647 * partmap/amiga.c (grub_amiga_partition_map_init)
41648 (grub_amiga_partition_map_fini): Likewise.
41649 * partmap/apple.c (grub_apple_partition_map_init)
41650 (grub_apple_partition_map_fini): Likewise.
41651 * partmap/pc.c (grub_pc_partition_map_init)
41652 (grub_pc_partition_map_fini): Likewise.
41653 * partmap/sun.c (grub_sun_partition_map_init,
41654 grub_sun_partition_map_fini): Likewise.
41655 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
41656 Likewise.
41657
41658 * util/grub-emu.c: Include <grub_modules_init.h>.
41659 (main): Don't initialize and de-initialize any modules directly,
41660 use `grub_init_all' and `grub_fini_all' instead.
41661
41662 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
41663 `grub_vesafb_mod_init'.
41664 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
41665 all users.
41666 * term/i386/pc/vga.c (grub_vga_init): Renamed to
41667 `grub_vga_mod_init'. Updated all users.
41668 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 41669
6d099807 41670 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
41671 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
41672 rules.
41673
41674 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
41675 Generate a function to initialize the module in utilities.
41676 Updated all callers.
41677 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
41678 initialize the module in utilities. Updated all callers.
41679
9046bcf0 416802005-11-09 Hollis Blanchard <hollis@penguinppc.org>
41681
41682 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
41683 escape sequence and a literal ^L to clear the screen.
41684
41685 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
41686 when returning from Open Firmware.
41687
d13ea639 416882005-11-09 Hollis Blanchard <hollis@penguinppc.org>
41689
41690 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
41691 (grub_ofconsole_height): Likewise.
41692 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
41693 manually insert a '\n'.
41694 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
41695 `grub_ofconsole_height'. Return early if these are already set.
41696
a8fcf206 416972005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
41698
41699 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
41700 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
41701 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
41702 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
41703 and `normal/script.c'.
41704 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
41705 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
41706 (test_mod_SOURCES): New variable.
41707 (test_mod_CFLAGS): Likewise.
41708 (test_mod_LDFLAGS): Likewise.
41709 (pkgdata_MODULES): Add `test.mod'.
41710 (grub_script.tab.c): New rule.
41711 (grub_script.tab.h): Likewise.
41712
b6b32745 417132005-11-07 Marco Gerards <mgerards@xs4all.nl>
41714
41715 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41716 `commands/test.c', `normal/execute.c', `normal/lexer.c',
41717 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
41718 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
41719 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
41720 (test_mod_SOURCES): New variable.
41721 (test_mod_CFLAGS): Likewise.
41722 (pkgdata_MODULES): Add `test.mod'.
41723 (grub_script.tab.c): New rule.
41724 (grub_script.tab.h): Likewise.
41725
daac212a 417262005-11-06 Marco Gerards <mgerards@xs4all.nl>
41727
41728 Add initial scripting support.
41729
41730 * commands/test.c: New file.
41731 * include/grub/script.h: Likewise.
41732 * normal/execute.c: Likewise.
41733 * normal/function.c: Likewise.
41734 * normal/lexer.c: Likewise.
41735 * normal/parser.y: Likewise.
41736 * normal/script.c: Likewise.
41737
41738 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 41739
daac212a 41740 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
41741 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
41742 `normal/function.c' and `normal/script.c'.
41743 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
41744 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 41745 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
41746 variables.
daac212a 41747 (pkgdata_MODULES): Add `test.mod'.
41748 (grub_script.tab.c): New rule.
41749 (grub_script.tab.h): Likewise.
41750
41751 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
41752
41753 * include/grub/normal.h (grub_test_init): New prototype.
41754 (grub_test_fini): Likewise.
f19dbdb7 41755
daac212a 41756 * normal/command.c: Include <grub/script.h>.
41757 (grub_command_execute): Rewritten.
f19dbdb7 41758
daac212a 41759 * util/grub-emu.c (main): Call `grub_test_init' and
41760 `grub_test_fini'.
41761
77500b2b 417622005-11-03 Hollis Blanchard <hollis@penguinppc.org>
41763
41764 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
41765 to 0.
41766 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
41767 there are no pending characters.
41768
e45deb9e 417692005-11-03 Hollis Blanchard <hollis@penguinppc.org>
41770
41771 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
41772 `grub_strndup' to drop device arguments. Replace unnecessary
41773 `grub_strndup' with `grub_strdup'.
41774
4ce32619 417752005-11-03 Hollis Blanchard <hollis@penguinppc.org>
41776
41777 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
41778 `debug' environment variable has been set.
41779
417802005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 41781
4ce32619 41782 * Makefile.in (install-local): Use $(DATA).
41783 (uninstall): Likewise.
41784 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
41785 (sbin_UTILITIES): ... to here.
41786 (sbin_SCRIPTS): New variable.
41787 (grub_install_SOURCES): New variable.
41788 * util/powerpc/ieee1275/grub-install.in: New file.
41789 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
41790 variable.
41791 (add_segments): Call `grub_util_get_path'.
41792
25fe6f03 417932005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
41794
41795 From Timothy Baldwin:
41796 * commands/ls.c (grub_ls_list_files): Close FILE with
41797 grub_file_close.
41798 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
41799
04ccf3ec 418002005-10-24 Marco Gerards <mgerards@xs4all.nl>
41801
41802 * include/grub/parser.h: New file.
41803
41804 * kern/parser.c: Likewise.
41805
41806 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
41807 (grub_setup_SOURCES): Likewise.
41808 (grub_probefs_SOURCES): Likewise.
41809 (grub_emu_SOURCES): Likewise.
41810 (kernel_img_HEADERS): Add `parser.h'.
41811
41812 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
41813 (grub_emu_SOURCES): Add `kern/parser.c'.
41814 (grubof_SOURCES): Likewise.
41815
41816 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
41817 (grubof_SOURCES): Add `kern/parser.c'.
41818
41819 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
41820
41821 * kern/misc.c (grub_split_cmdline): Removed function.
41822
41823 * kern/rescue.c: Include <grub/parser.h>.
41824 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
41825 of `grub_split_cmdline'.
41826
41827 * normal/command.c: Include <grub/parser.h>.
41828 (grub_command_execute): Use `grub_parser_split_cmdline' instead
41829 of `grub_split_cmdline'.
41830
41831 * normal/completion.c: Include <grub/parser.h>.
41832 (cmdline_state): New variable.
41833 (iterate_dir): End the filename with a quote depending on the
41834 command line state.
41835 (get_state): new function.
41836 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
41837 split the arguments and determine the current argument. When the
41838 argument string is not quoted, escape all spaces.
41839
6d8f4b0e 418402005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
41841
41842 * normal/sparc64/setjmp.S: New file.
41843
15cf03ed 418442005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
41845
41846 * include/grub/sparc64/libgcc.h: New file.
41847 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
41848 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
41849 normal/sparc64/setjmp.c.
41850
03e8661a 418512005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
41852
41853 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
41854 * kern/sparc64/cache.S: New file.
41855 * kern/sparc64/cache.c: Removed.
41856 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
41857 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
41858 -mtune=ultrasparc.
41859 (COMMON_LDFLAGS): Add -melf64_sparc.
41860 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
41861 (grubof_SOURCES): Use cache.S instead of cache.c.
41862 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
41863 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
41864 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
41865 commented though.
41866 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
41867 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
41868 (linux_mod_CFLAGS): Commented out.
41869 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
41870 out because module isn't built.
41871 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
41872 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
41873 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
41874 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
41875 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
41876 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
41877 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
41878 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
41879 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
41880 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
41881 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
41882 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
41883 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
41884 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
41885
34eeec8a 418862005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
41887
41888 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
41889 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
41890 longer, because HFS should not be used on PC.
41891
708367a3 418922005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41893
41894 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
41895 consistently within the loop.
41896
6fa1251a 418972005-10-15 Marco Gerards <mgerards@xs4all.nl>
41898
41899 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
41900 directory can not be read.
41901
4801580b 419022005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41903
41904 * configure.ac (AC_INIT): Increase the version number to 1.91.
41905
41906 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
41907 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
41908 term/i386/pc/serial.c.
41909
219ad426 419102005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41911
41912 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
41913 file size must be permitted.
41914
41915 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
41916 between %ah and %al.
41917
688e5699 419182005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
41919
41920 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
41921 grub_uint64_t.
41922 Call the hook with a NUL-terminated filename.
41923 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
41924 grub_cpu_to_be32.
41925
41926 * kern/term.c (cursor_state): New variable.
41927 (grub_term_set_current): Reset the cursor state on a new
41928 terminal.
41929 (grub_setcursor): Rewritten to use CURSOR_STATE.
41930 (grub_getcursor): New function.
41931
41932 * include/grub/term.h (grub_getcursor): New prototype.
41933
41934 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
41935 integers on ARM. Reported by Timothy Baldwin
41936 <T.E.Baldwin99@members.leeds.ac.uk>.
41937
bb34586c 419382005-10-11 Marco Gerards <mgerards@xs4all.nl>
41939
41940 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
41941 allocated.
41942 (grub_sfs_dir): Likewise.
41943
9a909877 419442005-10-09 Marco Gerards <mgerards@xs4all.nl>
41945
41946 Add support for the SFS filesystem.
41947
41948 * fs/sfs.c: New file.
41949
41950 * DISTLIST: Added `fs/sfs.c'.
41951
41952 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
41953 (grub_probefs_SOURCES): Likewise.
41954 (grub_emu_SOURCES): Likewise.
41955 (pkgdata_MODULES): Add `sfs.mod'.
41956 (sfs_mod_SOURCES): New variable.
41957 (sfs_mod_CFLAGS): Likewise.
41958 (sfs_mod_LDFLAGS): Likewise.
41959
41960 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
41961 (pkgdata_MODULES): Add `sfs.mod'.
41962 (sfs_mod_SOURCES): New variable.
41963 (sfs_mod_CFLAGS): Likewise.
41964
41965 * util/grub-emu.c (main): Call `grub_sfs_init' and
41966 `grub_sfs_fini'.
41967
41968 * include/grub/fs.h (grub_sfs_init): New prototype.
41969 (grub_sfs_fini): Likewise.
41970
57bdbde3 419712005-10-07 Marco Gerards <mgerards@xs4all.nl>
41972
41973 Add support for the AFFS filesystem.
41974
41975 * fs/affs.c: New file.
41976
41977 * DISTLIST: Added `fs/affs.c'.
41978
41979 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
41980 (grub_probefs_SOURCES): Likewise.
41981 (grub_emu_SOURCES): Likewise.
41982 (pkgdata_MODULES): Add `affs.mod'.
41983 (affs_mod_SOURCES): New variable.
41984 (affs_mod_CFLAGS): Likewise.
41985 (affs_mod_LDFLAGS): Likewise.
41986
41987 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
41988 (pkgdata_MODULES): Add `affs.mod'.
41989 (affs_mod_SOURCES): New variable.
41990 (affs_mod_CFLAGS): Likewise.
41991
41992 * util/grub-emu.c (main): Call `grub_affs_init' and
41993 `grub_affs_fini'.
41994
41995 * include/grub/fs.h (grub_affs_init): New prototype.
41996 (grub_affs_fini): Likewise.
41997
047b67e0 419982005-10-01 Marco Gerards <mgerards@xs4all.nl>
41999
42000 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
42001
59b8208a 420022005-10-01 Marco Gerards <mgerards@xs4all.nl>
42003
42004 * configure.ac: Accept `x86_64' as host_cpu. In that case add
42005 `-m32' to CFLAGS.
42006
42007 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
42008 linking.
f19dbdb7 42009
59b8208a 42010 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
42011 (COMMON_LDFLAGS): New variable.
42012 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
42013 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
42014 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
42015 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
42016 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
42017 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
42018 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
42019 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
42020 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
42021 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
42022 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
42023 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
42024 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
42025 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
42026 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
42027 variables.
42028 (normal_mod_ASFLAGS): Add `-m32'.
42029
42030 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
42031 (grub_host_size_t, grub_host_ssize_t): New types.
42032 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 42033 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 42034 `GRUB_HOST_SIZEOF_VOID_P'.
42035
42036 * include/grub/kernel.h (struct grub_module_header): Type of
42037 member offset changed to `grub_host_off_t'. Type of member size
42038 changed to `grub_host_size_t'.
42039 (struct grub_module_info): Type of member offset changed to
42040 `grub_host_off_t'. Type of member size changed to
42041 `grub_host_size_t'.
42042
b4093103 420432005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
42044
42045 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 42046
b4093103 42047 * kern/i386/pc/startup.S (multiboot_header): New label.
42048 (multiboot_entry): Likewise.
42049 (multiboot_trampoline): Likewise.
42050
42051 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42052 Increased to 0x4A0.
42053
42054 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
42055 put parentheses after a question mark.
42056 [!GRUB_UTIL] (my_mod): New variable.
42057
42058 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
42059
b2499b29 420602005-09-28 Marco Gerards <mgerards@xs4all.nl>
42061
42062 Adds support for the XFS filesystem. Btrees are not supported
42063 yet.
42064
42065 * fs/xfs.c: New file.
42066
42067 * DISTLIST: Added `fs/xfs.c'.
42068
42069 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
42070 (grub_probefs_SOURCES): Likewise.
42071 (grub_emu_SOURCES): Likewise.
42072 (pkgdata_MODULES): Add `xfs.mod'.
42073 (xfs_mod_SOURCES): New variable.
42074 (xfs_mod_CFLAGS): Likewise.
42075
42076 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
42077 (pkgdata_MODULES): Add `xfs.mod'.
42078 (xfs_mod_SOURCES): New variable.
42079 (xfs_mod_CFLAGS): Likewise.
42080
42081 * util/grub-emu.c (main): Call `grub_xfs_init' and
42082 `grub_xfs_fini'.
42083
42084 * include/grub/fs.h (grub_xfs_init): New prototype.
42085 (grub_xfs_fini): Likewise.
42086
f19dbdb7 42087
83d37a62 420882005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
42089
42090 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
42091 color modes, allow greater than 16 colors to be configured as
42092 a default palette.
42093
47d2d65e 420942005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42095
42096 * normal/completion.c (complete_arguments): Add the qualifier
42097 const into OPTIONS.
42098
42099 From Omniflux <omniflux+lists@omniflux.com>:
42100 * include/grub/terminfo.h: New file.
42101 * include/grub/tparm.h: Likewise.
42102 * include/grub/i386/pc/serial.h: Likewise.
42103 * term/terminfo.c: Likewise.
42104 * term/tparm.c: Likewise.
42105 * term/i386/pc/serial.c: Likewise.
42106 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
42107 serial.mod.
42108 (terminfo_mod_SOURCES): New variable.
42109 (terminfo_mod_CFLAGS): Likewise.
42110 (serial_mod_SOURCES): Likewise.
42111 (serial_mod_CFLAGS): Likewise.
42112
48b671ff 421132005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
42114
42115 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
42116 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
42117 and kern/powerpc/ieee1275/cmain.c, respectively.
42118
42119 * boot/powerpc/ieee1275/crt0.S: Moved to ...
42120 * kern/powerpc/ieee1275/crt0.S: ... here.
42121
42122 * boot/powerpc/ieee1275/cmain.c: Moved to ...
42123 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 42124
48b671ff 42125 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
42126 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
42127 instead of boot/powerpc/ieee1275/crt0.S and
42128 boot/powerpc/ieee1275/cmain.c, respectively.
42129
42130 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
42131 sectors. It was not used anyway.
42132
09fc77a7 421332005-08-30 Hollis Blanchard <hollis@penguinppc.org>
42134
42135 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
42136 `unused parameter' warning.
42137
003789c7 421382005-08-30 Hollis Blanchard <hollis@penguinppc.org>
42139
42140 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
42141 function.
42142 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
42143 getcharwidth.
42144
67f44c86 421452005-08-28 Marco Gerards <metgerards@student.han.nl>
42146
42147 * include/grub/normal.h (enum grub_completion_type): Added
42148 `GRUB_COMPLETION_TYPE_ARGUMENT'.
42149
42150 * normal/cmdline.c (print_completion): Handle
42151 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
42152 * normal/menu_entry.c (store_completion): Likewise.
42153
42154 * normal/completion.c (complete_arguments): New function.
42155 (grub_normal_do_completion): Call `complete_arguments' when the
42156 current words start with a dash.
42157
0b5abe02 421582005-08-27 Marco Gerards <metgerards@student.han.nl>
42159
42160 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
42161 `gzio.mod' instead of `io.mod').
42162
d9864ee1 421632005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
42164
42165 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
42166 (DISTDIRS): Added io and video.
42167 Rewrite the search routine to make an output consistently.
42168
42169 * DISTLIST: Added conf/sparc64-ieee1275.mk,
42170 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
42171 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
42172 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
42173 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
42174 util/powerpc/ieee1275/misc.c.
f19dbdb7 42175
d9864ee1 42176 * include/grub/gzio.h: New file.
42177 * io/gzio.c: Likewise.
f19dbdb7 42178
d9864ee1 42179 * kern/file.c (grub_file_close): Call grub_device_close only if
42180 FILE->DEVICE is not NULL.
42181
42182 * include/grub/mm.h [!NULL] (NULL): New macro.
42183
42184 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
42185
42186 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
42187 (pkgdata_MODULES): Added gzio.mod.
42188 (gzio_mod_SOURCES): New variable.
42189 (gzio_mod_CFLAGS): Likewise.
42190
42191 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
42192 (pkgdata_MODULES): Added gzio.mod.
42193 (gzio_mod_SOURCES): New variable.
42194 (gzio_mod_CFLAGS): Likewise.
42195
42196 * commands/cat.c: Include grub/gzio.h.
42197 (grub_cmd_cat): Use grub_gzfile_open instead of
42198 grub_file_open.
f19dbdb7 42199
d9864ee1 42200 * commands/cmp.c: Include grub/gzio.h.
42201 (grub_cmd_cmp): Use grub_gzfile_open instead of
42202 grub_file_open.
42203
42204 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
42205 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
42206 grub_file_open.
42207 (grub_rescue_cmd_module): Likewise.
42208
fa46f4b5 422092005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
42210
42211 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
42212 kern/sparc64/ieee1275/init.c because it contains _start.
42213 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
42214
e9211b5d 422152005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
42216
42217 * configure.ac: Add support for sparc64 host with ieee1275
42218 firmware.
42219 * configure: Generated from configure.ac.
42220 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
42221 instead of int.
42222 (grub_ofdisk_read): Likewise.
42223 (grub_ofdisk_open): Use %p to print pointer values, and cast the
42224 pointers as (void *) to remove a warning.
42225 (grub_ofdisk_close): Likewise.
42226 (grub_ofdisk_read): Likewise.
42227 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
42228 returns, so make it return void to remove a warning.
42229 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
42230 Corresponding prototype change.
42231 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
42232 values, and cast the pointers as (void *) to remove a warning.
42233 (grub_mm_dump): Likewise.
42234 * conf/sparc64-ieee1275.mk: New file.
42235 * conf/sparc64-ieee1275.rmk: Likewise.
42236 * include/grub/sparc64/setjmp.h: Likewise.
42237 * include/grub/sparc64/types.h: Likewise.
42238 * include/grub/sparc64/ieee1275/console.h: Likewise.
42239 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
42240 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
42241 * include/grub/sparc64/ieee1275/time.h: Likewise.
42242 * kern/sparc64/cache.c: Likewise.
42243 * kern/sparc64/dl.c: Likewise.
42244 * kern/sparc64/ieee1275/init.c: Likewise.
42245 * kern/sparc64/ieee1275/openfw.c: Likewise.
42246
385c6a92 422472005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
42248
42249 * util/console.c (grub_ncurses_putchar): If C is greater than
42250 0x7f, set C to a question mark.
42251 (grub_ncurses_getcharwidth): New function.
42252 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
42253 getcharwidth.
42254
42255 * normal/menu.c (print_entry): Made aware of Unicode. First,
42256 convert TITLE to UCS-4, and predict the cursor position by
42257 grub_getcharwidth.
42258
42259 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
42260 const to SRC.
42261 * kern/misc.c (grub_utf16_to_utf8): Likewise.
42262
16ccb8b1 422632005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
42264
42265 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
42266 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
42267 grub_strcat.
42268
42269 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
42270 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
42271 grub_strcpy and grub_strlen. Take it into account that a space
42272 character is inserted as a delimiter.
42273
6a85ce79 422742005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
42275
42276 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 42277 invalid magic in the error.
6a85ce79 42278
42279 * commands/search.c: New file.
f19dbdb7 42280
6a85ce79 42281 * util/grub-emu.c (main): Call grub_search_init and
42282 grub_search_fini.
42283
42284 * kern/rescue.c (grub_rescue_print_disks): Removed.
42285 (grub_rescue_print_devices): New function.
42286 (grub_rescue_cmd_ls): Use grub_device_iterate with
42287 grub_rescue_print_devices instead of grub_disk_dev_iterate with
42288 grub_rescue_print_disks.
42289
42290 * kern/partition.c (grub_partition_iterate): Return the result of
42291 PARTMAP->ITERATE instead of GRUB_ERRNO.
42292
42293 * kern/device.c: Include grub/partition.h.
42294 (grub_device_iterate): New function.
42295
42296 * include/grub/partition.h (grub_partition_iterate): Return int
42297 instead of grub_err_t.
42298
42299 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
42300 prototype.
42301 [GRUB_UTIL] (grub_search_fini): Likewise.
42302
42303 * include/grub/device.h (grub_device_iterate): New prototype.
42304
42305 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
42306 commands/search.c.
42307 (pkgdata_MODULES): Added search.mod.
42308 (search_mod_SOURCES): New variable.
42309 (search_mod_CFLAGS): Likewise.
42310
42311 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
42312 (pkgdata_MODULES): Added search.mod.
42313 (search_mod_SOURCES): New variable.
42314 (search_mod_CFLAGS): Likewise.
42315
42316 * commands/ls.c (grub_ls_list_disks): Renamed to ...
42317 (grub_ls_list_devices): ... this, and use grub_device_iterate.
42318 All callers changed.
42319
42320 * DISTLIST: Added commands/search.c.
42321
ef095434 423222005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
42323
42324 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
42325 conversion.
42326 (grub_getcharwidth): New function.
42327
42328 * kern/misc.c (grub_utf8_to_ucs4): New function.
42329
42330 * include/grub/term.h (struct grub_term): Added a new member
42331 "getcharwidth".
42332 (grub_getcharwidth): New prototype.
42333
42334 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
42335
42336 * term/i386/pc/console.c (map_char): New function. Segregated from
42337 grub_console_putchar.
42338 (grub_console_putchar): Use map_char.
42339 (grub_console_getcharwidth): New function.
42340 (grub_console_term): Specified grub_console_getcharwidth as
42341 getcharwidth.
42342
42343 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
42344 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
42345
42346 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
42347 GRUB_ERRNO.
42348 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
42349 on grub_strtoul completely.
42350 (write_char): Declare local variables in the beginning of the
42351 function.
42352 (grub_vesafb_getcharwidth): New function.
42353 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
42354 getcharwidth.
42355
1f0a95e4 423562005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
42357
42358 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
42359 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
42360 commands/i386/pc/vbetest.c.
42361
42362 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
42363 call grub_vbe_get_controller_info again, because the returned
42364 information is volatile.
42365 (grub_vbe_set_video_mode): Mostly rewritten.
42366 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
42367 grub_vbe_status_t correctly.
42368 (grub_vbe_get_video_mode_info): Likewise.
42369 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
42370 several if statements.
42371
42372 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
42373 * commands/i386/pc/vbeinfo.c: ... this.
42374
42375 * commands/i386/pc/vbe_test.c: Renamed to ...
42376 * commands/i386/pc/vbetest.c: ... this.
42377
42378 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
42379 ...
42380 (grub_cmd_vbeinfo): ... this. Save video modes before
42381 iterating. Skip a video mode, if it is not available, not enough
42382 information is given or it is monochrome. Show the memory
42383 model. Leave the interpretation of MODEVAR to grub_strtoul
42384 completely.
42385 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
42386 (GRUB_MOD_FINI): Likewise.
42387
42388 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
42389 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
42390 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
42391 duplicated grub_env_get. Leave the interpretation of MODEVAR to
42392 grub_strtoul completely.
42393 (real2pm): Removed.
42394 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
42395 (GRUB_MOD_FINI): Likewise.
42396
42397 * normal/misc.c: Include grub/mm.h.
42398
42399 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
42400 vbe_list_modes with vbetest.mod and vbeinfo.mod.
42401 (vbe_list_modes_mod_SOURCES): Removed.
42402 (vbe_list_modes_mod_CFLAGS): Likewise.
42403 (vbe_test_mod_SOURCES): Likewise.
42404 (vbe_test_mod_CFLAGS): Likewise.
42405 (vbeinfo_mod_SOURCES): New variable.
42406 (vbeinfo_mod_CFLAGS): Likewise.
42407 (vbetest_mod_SOURCES): Likewise.
42408 (vbetest_mod_CFLAGS): Likewise.
42409
992ffbbe 424102005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
42411
42412 * normal/misc.c: New file.
42413
42414 * DISTLIST: Added normal/misc.c.
f19dbdb7 42415
992ffbbe 42416 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
42417 DISK to HOOK. Call HOOK with DISK.
42418 * partmap/apple.c (apple_partition_map_iterate): Likewise.
42419 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42420 * partmap/sun.c (sun_partition_map_iterate): Likewise.
42421
42422 * normal/menu_entry.c (struct screen): Added a new member
42423 "completion_shown".
42424 (completion_buffer): New global variable.
42425 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
42426 (store_completion): New function.
42427 (complete): Likewise.
42428 (clear_completions): Likewise.
42429 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
42430 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
42431 a tab, call complete.
42432
42433 * normal/completion.c (disk_dev): Removed.
42434 (print_simple_completion): Likewise.
42435 (print_partition_completion): Likewise.
42436 (print_func): New global variable.
42437 (add_completion): Do not take the arguments WHAT or PRINT any
42438 longer. Added a new argument TYPE. Instead of printing directly,
42439 call PRINT_FUNC if not NULL.
42440 All callers changed.
42441 (complete_device): Use a local variable DEV instead of
42442 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
42443 (grub_normal_do_completion): Take a new argument HOOK. Do not
42444 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
42445 empty string, return NULL instead.
42446 All callers changed.
42447
42448 * normal/cmdline.c (print_completion): New function.
42449
42450 * kern/partition.c (grub_partition_iterate): Add an argument DISK
42451 to HOOK.
42452 All callers changed.
42453
42454 * kern/disk.c (grub_print_partinfo): Removed.
42455
42456 * include/grub/partition.h (struct grub_partition_map): Add a new
42457 argument DISK into HOOK of ITERATE.
42458 (grub_partition_iterate): Add a new argument DISK to HOOK.
42459
42460 * include/grub/normal.h (enum grub_completion_type): New enum.
42461 (grub_completion_type_t): New type.
42462 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
42463 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
42464 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
42465 (GRUB_COMPLETION_TYPE_FILE): Likewise.
42466 (grub_normal_do_completion): Added a new argument HOOK.
42467 (grub_normal_print_device_info): New prototype.
42468
42469 * include/grub/disk.h (grub_print_partinfo): Removed.
42470
42471 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
42472 (normal_mod_SOURCES): Likewise.
42473 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42474 (normal_mod_SOURCES): Likewise.
42475
42476 * commands/ls.c (grub_ls_list_disks): Use
42477 grub_normal_print_device_info instead of grub_print_partinfo. Free
42478 PNAME.
42479 (grub_ls_list_files): Use grub_normal_print_device_info instead of
42480 duplicating the code.
42481
0bd41162 424822005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
42483
42484 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 42485 follow GCS more precisely.
42486 * commands/i386/pc/vbe_test.c: Likewise.
42487 * include/grub/i386/pc/vbe.h: Likewise.
42488 * term/i386/pc/vesafb.c: Likewise.
42489 * video/i386/pc/vbe.c: Likewise.
0bd41162 42490
6323696a 424912005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
42492
42493 * DISTLIST: Added term/i386/pc/vesafb.c
42494 DISTLIST: Added video/i386/pc/vbe.c
42495 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
42496 DISTLIST: Added commands/i386/pc/vbe_test.c.
42497 * commands/i386/pc/vbe_list_modes.c: New file.
42498 * commands/i386/pc/vbe_test.c: Likewise.
42499 * term/i386/pc/vesafb.c: Likewise.
42500 * video/i386/pc/vbe.c: Likewise.
42501 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
42502 (grub_vbe_probe) Added prototype.
42503 (grub_vbe_set_video_mode) Likewise.
42504 (grub_vbe_get_video_mode) Likewise.
42505 (grub_vbe_get_video_mode_info) Likewise.
42506 (grub_vbe_set_pixel_rgb) Likewise.
42507 (grub_vbe_set_pixel_index) Likewise.
42508 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
42509 (pkgdata_MODULES): Added vesafb.mod.
42510 (pkgdata_MODULES): Added vbe_list_modes.mod.
42511 (pkgdata_MODULES): Added vbe_test.mod.
42512 (vbe_mod_SOURCES): Added.
42513 (vbe_mod_CFLAGS): Likewise.
42514 (vesafb_mod_SOURCES): Likewise.
42515 (vesafb_mod_CFLAGS): Likewise.
42516 (vbe_list_modes_mod_SOURCES): Likewise.
42517 (vbe_list_modes_mod_CFLAGS): Likewise.
42518 (vbe_test_mod_SOURCES): Likewise.
42519 (vbe_test_mod_CFLAGS): Likewise.
42520
0a74e62f 425212005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
42522
0a74e62f 42523 * normal/command.c (grub_command_execute): If INTERACTIVE is
42524 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
42525 CMDLINE. Disable the pager if INTERACTIVE is true.
42526 All callers are changed.
42527
42528 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
42529 before reading a config file.
42530 * normal/main.c (read_config_file): Even if a command is not
42531 found, register it if it is within an entry.
42532
42533 * util/grub-emu.c: Include sys/types.h and unistd.h.
42534 (options): Added --hold.
42535 (struct arguments): Added a new member "hold".
42536 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
42537 missing.
42538 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
42539 cleared by a debugger, if it is not zero.
42540
42541 * include/grub/normal.h (grub_command_execute): Add an argument
42542 INTERACTIVE.
42543
e51f85ae 425442005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
42545
42546 * DISTLIST: Added include/grub/i386/pc/vbe.h.
42547
e9c6f39b 425482005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
42549
42550 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
42551 program with another one, because the old one didn't detect a bug
42552 in gcc-3.4. Always use regparm 2, because the new test is still
42553 not enough for gcc-4.0. Someone must investigate a simple test
42554 case which detects a bug in gcc-4.0.
42555
8de3495c 425562005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
42557
42558 * DISTLIST: Added normal/completion.c.
42559
42560 * normal/completion.c: New file.
f19dbdb7 42561
8de3495c 42562 * term/i386/pc/console.c (grub_console_getwh): New function.
42563 (grub_console_term): Assign grub_console_getwh to getwh.
42564
42565 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
42566 function is defined in normal/completion.c as
42567 grub_normal_do_completion.
42568 (grub_cmdline_get): Use grub_normal_do_completion instead of
42569 grub_tab_complete.
42570
42571 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
42572 returns non-zero, otherwise return 0.
42573 (grub_partition_iterate): First, probe the partition map. Then,
42574 call ITERATE only for this partition map.
42575
42576 * kern/misc.c (grub_strncmp): Rewritten.
42577
42578 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
42579 returns non-zero. Otherwise return 0.
42580
42581 * include/grub/partition.h (grub_partition_map_iterate): Return
42582 int instead of void.
42583
42584 * include/grub/normal.h (grub_normal_do_completion): New prototype.
42585
42586 * include/grub/misc.h (grub_strncmp): Change the type of N to
42587 grub_size_t.
42588
42589 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
42590 of void.
42591
42592 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 42593 unsigned explicitly before comparing it with I.
8de3495c 42594
42595 * kern/main.c (grub_env_write_root): Add the attribute unused into
42596 VAR.
42597
42598 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
42599 normal/completion.c.
42600 (normal_mod_SOURCES): Likewise.
42601 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42602 (normal_mod_SOURCES): Likewise.
42603
42604 * normal/command.c (grub_iterate_commands): If ITERATE returns
42605 non-zero, return one immediately.
42606
e85e144b 426072005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
42608
42609 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
42610 * kern/i386/pc/startup.S: Updated Global Descriptor table's
42611 descriptions.
42612 (grub_vbe_get_controller_info): New function.
42613 (grub_vbe_get_mode_info): Likewise.
42614 (grub_vbe_set_mode): Likewise.
42615 (grub_vbe_get_mode): Likewise.
42616 (grub_vbe_set_memory_window): Likewise.
42617 (grub_vbe_get_memory_window): Likewise.
42618 (grub_vbe_set_scanline_length): Likewise.
42619 (grub_vbe_get_scanline_length): Likewise.
42620 (grub_vbe_set_display_start): Likewise.
42621 (grub_vbe_get_display_start): Likewise.
42622 (grub_vbe_set_palette_data): Likewise.
42623 * include/grub/i386/pc/vbe.h: New file.
42624
c46153d2 426252005-08-08 Hollis Blanchard <hollis@penguinppc.org>
42626
42627 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
42628 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
42629 * DISTLIST: Likewise.
42630 * kern/ieee1275/of.c: Moved to ...
42631 * kern/ieee1275/ieee1275.c: ... here.
42632
0cb90c45 426332005-08-08 Hollis Blanchard <hollis@penguinppc.org>
42634
42635 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
42636 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
42637 Pass 0 as `end' parameter to grub_strtoul().
42638
a19fb360 426392005-08-08 Hollis Blanchard <hollis@penguinppc.org>
42640
42641 * include/grub/powerpc/ieee1275/console.h: Do not include
42642 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
42643 ifdef.
42644 (grub_console_cur_color): Remove i386-specific prototype.
42645 (grub_console_real_putchar): Likewise.
42646 (grub_console_checkkey): Likewise.
42647 (grub_console_getkey): Likewise.
42648 (grub_console_getxy): Likewise.
42649 (grub_console_gotoxy): Likewise.
42650 (grub_console_cls): Likewise.
42651 (grub_console_setcursor): Likewise.
42652 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
42653 Include <grub/machine/console.h>.
42654 * term/ieee1275/ofconsole.c: Likewise.
42655
4ac9bd04 426562005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
42657
42658 * Makefile.in (LIBLZO): New variable.
42659
42660 * configure.ac: Check for LZO version 2.
42661
42662 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
42663 lzo/lzo1x.h instead of lzo1x.h.
42664
42665 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
42666 of -llzo.
42667
42668 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
42669 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
42670
42671 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
42672 copying the data from PARTITION to P.
42673
f4917dfd 426742005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
42675
42676 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
42677 negative, unload the module.
42678
42679 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
42680 map is "pc_partition_map" but not "pc".
42681 (usage): Fix the description. The options are --boot-image and
42682 --core-image but not --boot-file or --core-file.
42683 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
42684 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
42685 DEFAULT_DIRECTORY.
42686
42687 * util/i386/pc/grub-install.in: Do not specify --boot-file or
42688 --core-file. Specify INSTALL_DEVICE as an argument.
42689
42690 * util/console.c: Include config.h.
42691 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
42692 [HAVE_NCURSES_H]: Include ncurses.h.
42693 [HAVE_CURSES_H]: Include curses.h.
42694 [!A_NORMAL] (A_NORMAL): Defined as zero.
42695 [!A_STANDOUT] (A_STANDOUT): Likewise.
42696
42697 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
42698 -lncurses.
42699 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
42700
42701 * configure.ac: Check for curses libraries and headers.
42702
42703 * Makefile.in (LIBCURSES): New variable.
42704
42705 * genmk.rb (Script::rule): Set the executable bits.
42706
42707 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
42708 name of the PC partition map is "pc_partition_map" but not "pc".
42709
0e143073 427102005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
42711
42712 * util/i386/pc/grub-install.in (grub_probefs): New variable.
42713 (modules): Likewise.
42714 (usage): Added descriptions for --modules and --grub-probefs.
42715 Handle --modules and --grub-probefs. Save the arguments in MODULES
42716 and GRUB_PROBEFS, respectively.
42717 Auto-detect a filesystem module against GRUBDIR. If the result is
42718 empty and modules are not specified explicitly, abort the
42719 installation. Add the result to MODULES.
42720
42721 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
42722 disk/powerpc/ieee1275/ofdisk.c,
42723 include/grub/powerpc/ieee1275/init.h and
42724 term/powerpc/ieee1275/ofconsole.c.
42725 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
42726 term/ieee1275/ofconsole.c.
42727
42728 * include/grub/powerpc/ieee1275/console.h: Resurrected.
42729
42730 * COPYING: Upgraded to the latest version. Only the address of the
42731 FSF office has changed.
f19dbdb7 42732
efd6e6d5 427332005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
42734
42735 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
42736 kern/ieee1275.c with kern/ieee1275/of.c.
42737
42738 * kern/ieee1275.c: Moved to ...
42739 * kern/ieee1275/of.c: ... here.
42740
8ceafda2 427412005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
42742
42743 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 42744 readability.
8ceafda2 42745
42746 * config.guess: Updated to the latest version from gnulib.
42747 * config.sub: Likewise.
42748 * install.sh: Likewise.
42749 * mkinstalldirs: Likewise.
42750
42751 * include/grub/console.h: Removed. This file is arch-specific. Do
42752 not put this in include/grub.
42753
42754 * include/grub/i386/pc/console.h: Resurrected.
42755
42756 * util/console.c: Include grub/machine/console.h instead of
42757 grub/console.h.
42758 * util/grub-emu.c: Likewise.
42759
267f6cd9 427602005-08-04 Marco Gerards <metgerards@student.han.nl>
42761
42762 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
42763 hardcoded value.
f19dbdb7 42764
267f6cd9 42765 From Vincent Pelletier <subdino2004@yahoo.fr>
42766 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
42767 Redefined to use grub_getwh.
42768 (grub_term): New member named getwh.
42769 (grub_getwh): New prototype.
42770 * kern/term.c (grub_getwh): New function.
42771 * term/i386/pc/console.c (grub_console_getwh): New function.
42772 (grub_console_term): New member `getwh'.
42773 * term/i386/pc/vga.c (grub_vga_getwh): New function.
42774 (grub_vga_term): New member `getwh'.
0b5abe02 42775 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 42776 grub_ssize_t.
42777 (grub_ofconsole_getw): New function.
42778 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
42779 (grub_ofconsole_term): New field named getwh and new initial
42780 value.
42781
3be7266d 427822005-08-03 Hollis Blanchard <hollis@penguinppc.org>
42783
42784 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
42785 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
42786 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
42787 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
42788 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
42789 of <grub/machine/ieee1275.h>.
42790 * commands/ieee1275/reboot.c: Likewise.
42791 * boot/powerpc/ieee1275/ieee1275.c: Move ...
42792 * kern/ieee1275.c: ... to here. All users updated. Change all
42793 parameter structs to use new type `grub_ieee1275_cell_t'.
42794 * term/powerpc/ieee1275/ofconsole.c: Move ...
42795 * term/ieee1275/ofconsole.c: ... to here. All users updated.
42796 * disk/powerpc/ieee1275/ofdisk.c: Move ...
42797 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
42798 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
42799 to return int.
42800 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
42801 Remove unused prototypes. All users updated.
42802 * include/grub/powerpc/ieee1275/console.h: Removed.
42803 * include/grub/powerpc/ieee1275/ieee1275.h: Define
42804 `grub_ieee1275_cell_t'.
42805 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
42806 Cast comparisons with -1 to the correct type.
42807 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
42808 type to match `grub_ieee1275_entry_fn'.
42809
8b5f3938 428102005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
42811
42812 * DISTLIST: Added util/i386/pc/grub-probefs.c.
42813
42814 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
42815 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
42816 partmap/sun.c.
42817 (grub_probefs_SOURCES): New variable.
42818
42819 * util/i386/pc/grub-probefs.c: New file.
42820
42821 * util/i386/pc/grub-setup.c (main): Call
42822 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
42823 grub_hfs_init and grub_jfs_init to initialize the system. Call
42824 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
42825 grub_pc_partition_map_fini to finish the system.
42826
ea409713 428272005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
42828
42829 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
42830 function.
42831 (grub_multiboot_load_elf32): Likewise.
42832 (grub_multiboot_is_elf64): Likewise.
42833 (grub_multiboot_load_elf64): Likewise.
42834 (grub_multiboot_load_elf): Likewise.
42835 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
42836 an ELF32 or ELF64 file.
42837 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
42838
42839 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
42840 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
42841 NULL before calling FS->LABEL.
42842 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
42843 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
42844 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
42845 before calling FS->LABEL.
42846
141a288b 428472005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
42848
42849 * util/i386/pc/grub-install.in (datadir): New variable.
42850 (libdir): Removed.
42851 (pkgdatadir): New variable.
42852 (pkglibdir): Removed.
42853
0d5f8a54 428542005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
42855
42856 * DISTLIST: Added util/i386/pc/grub-install.in.
42857
42858 * util/i386/pc/grub-install.in: New file.
42859
42860 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
42861 (grub_install_SOURCES): Likewise.
42862
42863 * genmk.rb: Added support for scripts.
42864 (Script): New class.
42865 (scripts): New variable.
42866
42867 * Makefile.in (install-local): Install sbin_SCRIPTS by
42868 INSTALL_SCRIPT.
42869 (uninstall): Remove sbin_SCRIPTS.
42870
42871 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
42872 device, try to get a GRUB device by
42873 grub_util_biosdisk_get_grub_dev.
42874 Free DEST_DEV.
42875
42876 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
42877 description for --device-map.
42878
5f968e1e 428792005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
42880
42881 Change the semantics of variable hooks. They now return strings
42882 instead of error values.
f19dbdb7 42883
5f968e1e 42884 * util/i386/pc/grub-setup.c: Include grub/env.h.
42885 (setup): Use grub_device_set_root instead of grub_env_set.
42886
42887 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
42888 grub_env_get instead of grub_device_set_root and
42889 grub_device_get_root, respectively.
42890
42891 * kern/main.c (grub_env_write_root): New function.
42892 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
42893 grub_env_set instead of grub_device_set_root.
42894
42895 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
42896 many variables.
42897 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
42898 rather than calling ENV->WRITE_HOOK afterwards.
42899 (grub_env_get): Return the result of ENV->READ_HOOK rather than
42900 passing a pointer of a pointer.
42901 (grub_register_variable_hook): Change the types of "read_hook" and
42902 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
42903 respectively.
42904 Allocate the default empty string on the heap, because this string
42905 may be freed later.
42906
42907 * kern/device.c: Include grub/env.h.
42908 (grub_device_set_root): Removed.
42909 (grub_device_get_root): Likewise.
42910 (grub_device_open): Use grub_env_get instead of
42911 grub_device_get_root.
42912
42913 * include/grub/env.h (grub_env_read_hook_t): New type.
42914 (grub_env_write_hook_t): Likewise.
42915 (grub_env_var): Change the types of "read_hook" and "write_hook"
42916 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
42917 (grub_register_variable_hook): Likewise.
42918
42919 * include/grub/device.h (grub_device_set_root): Removed.
42920 (grub_device_set_root): Likewise.
42921
42922 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
42923 make sure that DIRNAME terminates with '/', so that
42924 grub_fat_find_dir will fail if PATH is not a directory.
42925
42926 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
42927 from DIRNAME.
42928 Use the qualifier auto for print_files and print_files_long.
42929 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
42930 as a regular file.
42931 Put a newline only if there is no error.
42932 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
42933 used.
42934
896f0afd 429352005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
42936
42937 * kern/partition.c (grub_partition_probe): Initialize PART to
42938 NULL. Otherwise, when no partition map is registered, this returns
42939 a garbage.
42940
b28b81b2 429412005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
42942
42943 * partmap/apple.c (apple_partition_map_iterate): Check if POS
42944 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
42945 valid.
42946
5f3607e0 429472005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
42948
42949 * commands/ls.c (grub_ls_list_disks): Print the filesystem
42950 information on each device, if it does not have partitions. Print
42951 "Device" instead of "Disk", because this function is not specific
42952 to disk devices.
42953
42954 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
42955 static to ensure that it is put on the memory rather than a
42956 register.
42957
502c87e8 429582005-07-17 Yoshinori Okuji <okuji@enbug.org>
42959
42960 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
42961 (grub_cat_init): Likewise.
42962 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
42963 (options): Likewise.
42964 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
42965 (grub_configfile_init): Likewise.
42966 * font/manager.c (GRUB_MOD_INIT): Likewise.
42967 * commands/help.c (GRUB_MOD_INIT): Likewise.
42968 (grub_help_init): Likewise.
42969 * normal/command.c (grub_command_init): Likewise.
42970 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
42971 * disk/loopback.c (grub_loop_init): Likewise.
42972 (GRUB_MOD_INIT): Likewise.
42973 * commands/ls.c (grub_ls_init): Likewise.
42974 (GRUB_MOD_INIT): Likewise.
42975 (options): Likewise.
42976 * commands/boot.c (grub_boot_init): Likewise.
42977 (GRUB_MOD_INIT): Likewise.
42978 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
42979 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
42980 (GRUB_MOD_INIT): Likewise.
42981 * commands/cmp.c (grub_cmp_init): Likewise.
42982 (GRUB_MOD_INIT): Likewise.
42983
42984 * normal/arg.c: Use <> instead of "" to include header files.
42985 (SHORT_ARG_HELP): New macro.
42986 (SHORT_ARG_USAGE): Likewise.
42987 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
42988 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
42989 descriptions.
42990 (find_short): Check if C is 'h' or 'u' explicitly.
42991 (grub_arg_show_help): Use space characters instead of tabs. Treat
42992 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
42993 are shown with --help and --usage only if they are not used for
42994 the command itself.
42995 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
42996 'h' and 'u'.
42997
42998 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
42999 const into "longarg". Change the type of "shortarg" to int.
43000
f806d18e 430012005-07-17 Yoshinori Okuji <okuji@enbug.org>
43002
43003 * boot/i386/pc/boot.S (boot_drive_check): New label.
43004
43005 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
43006 macro.
43007
43008 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
43009 which do not pass a boot drive correctly. Copied from GRUB Legacy.
43010
e293232b 430112005-07-17 Yoshinori Okuji <okuji@enbug.org>
43012
43013 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
43014 When turning off Gate A20, skip the check and return immediately,
43015 because this is not fatal usually.
43016
ebedfd00 430172005-07-17 Yoshinori Okuji <okuji@enbug.org>
43018
43019 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
43020 be 0x7C00 instead of 0x8000.
43021
43022 * boot/i386/pc/pxeboot.S: Rewritten.
43023
43024 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
43025 EXT_C.
43026 (gate_a20_check_state): Read a byte from 0x108000. Invert the
43027 result.
43028
654fc59f 430292005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
43030
43031 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
43032 robustness. This routine now supports a BIOS call and System
43033 Control Port A to modify the gate A20.
43034
43035 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43036 Increased to 0x440.
43037
09f9923f 430382005-07-12 Hollis Blanchard <hollis@penguinppc.org>
43039
43040 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
43041 device path and resulting ihandle.
43042 (grub_ofdisk_close): dprintf the ihandle being closed.
43043 (grub_ofdisk_read): dprintf function parameters.
43044 * kern/mm.c (grub_mm_init_region): Likewise.
43045 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
43046 (grub_linux_boot): dprintf the Linux entry point, initrd address and
43047 size, and boot arguments.
43048 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
43049 before loading into memory.
43050 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
43051 before loading into memory.
43052
7ef504d8 430532005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
43054
43055 * kern/mm.c: Added much documentation.
43056 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
43057 8, set to 5 instead of 8.
43058
e0f050c2 430592005-07-10 Yoshinori Okuji <okuji@enbug.org>
43060
43061 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
43062
43063 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
43064 (grub_mkdevicemap_SOURCES): New variable.
43065
43066 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
43067 lib/device.c of GRUB Legacy.
43068
7224189a 430692005-07-10 Yoshinori Okuji <okuji@enbug.org>
43070
43071 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
43072 instead of PATH is NULL.
43073
68c864eb 430742005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
43075
43076 * commands/cmp.c (BUFFER_SIZE): New macro.
43077 (grub_cmd_cmp): Close the right file at the right time. Compare
43078 only data just read. Don't report files of different size as
43079 identical. Dynamically allocate buffers. Move variable
43080 declarations at the beginning of function.
43081
e6f3e614 430822005-07-09 Yoshinori Okuji <okuji@enbug.org>
43083
43084 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
43085 reverse.
43086
f8f1559a 430872004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
43088
43089 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
43090 when backspace is pressed at beginning of line.
43091
39c9d41d 430922005-07-03 Yoshinori Okuji <okuji@enbug.org>
43093
43094 * DISTLIST: Added genfslist.sh.
43095
43096 * normal/main.c (fs_module_list): New variable.
43097 (autoload_fs_module): New function.
43098 (read_fs_list): Likewise.
43099 (grub_normal_execute): Call read_fs_list.
43100
43101 * kern/fs.c (grub_fs_autoload_hook): New variable.
43102 (grub_fs_probe): Added support for auto-loading.
43103
43104 * include/grub/normal.h (struct grub_fs_module_list): New struct.
43105 (grub_fs_module_list_t): New type.
43106
43107 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
43108 (grub_fs_autoload_hook): New prototype.
43109
43110 * genfslist.sh: New file.
f19dbdb7 43111
39c9d41d 43112 * genmk.rb: Added a rule to generate a filesystem list.
43113
121c1d83 431142005-06-30 Marco Gerards <metgerards@student.han.nl>
43115
43116 * configure.ac: Fix the test for cross-compiling.
43117
43118 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
43119 define GRUB_UTIL anymore.
43120
43121 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
43122 so this function works on other systems than just big endian.
43123 (load_modules): Likewise.
43124 (add_segments): Likewise.
43125
e75d76e1 431262005-06-23 Hollis Blanchard <hollis@penguinppc.org>
43127
43128 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
43129 contains `l' modifier, get a long from va_arg().
43130
50b5a0a7 431312005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
43132
43133 * kern/mm.c (grub_free): If the next free block which is being
43134 merged is the first free block, set the first block to the block
43135 being freed.
43136 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
43137
89371b20 431382005-05-08 Hollis Blanchard <hollis@penguinppc.org>
43139
43140 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
43141 `grub_ieee1275_chosen'.
43142
168d6e58 431432005-05-08 Hollis Blanchard <hollis@penguinppc.org>
43144
43145 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
43146 (grub_ieee1275_chosen): New variable.
43147 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
43148 `chosen'.
43149 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
43150 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
43151 Rename first argument to `phandle' for consistency.
43152 (grub_ieee1275_get_property_length): Likewise.
43153 (grub_ieee1275_next_property): Likewise. Change type of first argument
43154 to grub_ieee1275_phandle_t.
43155 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
43156 Move export next to declaration.
43157 (grub_ieee1275_chosen): New variable.
43158 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
43159 Correct cosmetic typo.
43160 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
43161 `grub_ieee1275_chosen'.
43162 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
43163 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
43164 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
43165 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
43166 `grub_ieee1275_chosen'.
43167
ca5baa3f 431682005-05-10 Hollis Blanchard <hollis@penguinppc.org>
43169
43170 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
43171 /chosen/bootargs.
43172 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
43173 /chosen/bootargs as "variable=value" pairs.
43174
708b345f 431752005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
43176
43177 * include/grub/misc.h (grub_dprintf): New macro.
43178 (grub_real_dprintf): New prototype.
43179 (grub_strword): Likewise.
43180 (grub_iswordseparator): Likewise.
43181 * kern/misc.c (grub_real_dprintf): New function.
43182 (grub_strword): Likewise.
43183 (grub_iswordseparator): Likewise.
43184
f4c5e67c 431852005-04-30 Hollis Blanchard <hollis@penguinppc.org>
43186
43187 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
43188 (roundup): Remove macro.
43189 (grub_ieee1275_flags): Make static.
43190 (grub_ieee1275_realmode): Remove.
43191 (grub_ieee1275_test_flag): New function.
43192 (grub_ieee1275_set_flag): Likewise.
43193 (find_options): Rename to `grub_ieee1275_find_options'; update
43194 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
43195 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
43196 (cmain): New prototype.
43197 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
43198 `grub_ieee1275_flags' directly.
43199 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
43200 machine/biosdisk.h.
43201 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
43202 Don't include grub/machine/init.h.
43203 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
43204 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
43205 Remove prototype.
43206 (grub_ieee1275_realmode): Likewise.
43207 (grub_ieee1275_flag): New enum.
43208 (grub_ieee1275_test_flag): New prototype.
43209 (grub_ieee1275_set_flag): New prototype.
43210 * include/grub/powerpc/ieee1275/init.h: Remove file.
43211 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
43212 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
43213 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
43214 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
43215 comment.
43216 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
43217 `grub_ieee1275_test_flag'.
43218 (grub_ieee1275_encode_devname): Likewise.
43219
ed16607e 432202005-04-21 Hollis Blanchard <hollis@penguinppc.org>
43221
43222 * include/grub/powerpc/ieee1275/ieee1275.h
43223 (grub_ieee1275_encode_devname): New prototype.
43224 (grub_ieee1275_get_filename): Likewise.
43225 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
43226 function.
43227 (grub_set_prefix): Likewise.
43228 (grub_machine_init): Call grub_set_prefix.
43229 * kern/powerpc/ieee1275/openfw.c: Fix typos.
43230 (grub_parse_type): New enum.
43231 (grub_ieee1275_get_devargs): New function.
43232 (grub_ieee1275_get_devname): Likewise.
43233 (grub_ieee1275_parse_args): Likewise.
43234 (grub_ieee1275_get_filename): Likewise.
43235 (grub_ieee1275_encode_devname): Likewise.
43236
be369920 432372005-03-30 Marco Gerards <metgerards@student.han.nl>
43238
43239 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
43240 `grub_loader_unset'.
43241
a5ce3a4a 432422005-03-26 Hollis Blanchard <hollis@penguinppc.org>
43243
43244 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
43245 instead of grub_ieee1275_interpret.
43246 (grub_halt_init): New function.
43247 (grub_halt_fini): Likewise.
43248 (GRUB_MOD_INIT): Correct message grammar.
43249 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
43250 instead of grub_ieee1275_interpret.
43251 (grub_reboot_init): New function.
43252 (grub_reboot_fini): Likewise.
43253 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
43254 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
43255 util/i386/pc/misc.c with commands/ieee1275/halt.c,
43256 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
43257 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
43258 function.
43259 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
43260 Add prototype.
43261 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
43262 prototype.
43263 (grub_halt): Likewise.
43264 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
43265 (cmain): Remove __attribute__((unused)).
43266 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
43267 (grub_heap_len): Likewise.
43268 (grub_machine_fini): New function.
43269 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
43270 (grub_halt): Likewise.
43271 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
43272 function.
43273 * util/powerpc/ieee1275/misc.c: New file.
43274
0058f771 432752005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
43276
43277 * DISTLIST: New file.
43278 * gendistlist.sh: Likewise.
f19dbdb7 43279
0058f771 43280 * Makefile.in (COMMON_DISTFILES): Removed.
43281 (BOOT_DISTFILES): Likewise.
43282 (CONF_DISTFILES): Likewise.
43283 (DISK_DISTFILES): Likewise.
43284 (FS_DISTFILES): Likewise.
43285 (INCLUDE_DISTFILES): Likewise.
43286 (KERN_DISTFILES): Likewise.
43287 (LOADER_DISTFILES): Likewise.
43288 (TERM_DISTFILES): Likewise.
43289 (UTIL_DISTFILES): Likewise.
43290 (DISTFILES): Likewise.
43291 (uninstall): Uninstall files in $(pkgdata_DATA).
43292 (DISTLIST): New target.
43293 (distdir): Use the contents of the file DISTLIST to get a list of
43294 distributed files.
43295
46b3b8a5 432962005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
43297
43298 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
43299 descriptor. This is ported from GRUB Legacy.
43300
43301 * gencmdlist.sh: Added an extra semicolon to make it work with
43302 old sed versions. Reported by Robert Bihlmeyer
43303 <robbe@orcus.priv.at>.
43304
5822ff87 433052005-03-08 Yoshinori Okuji <okuji@enbug.org>
43306
43307 Automatic loading of commands is supported.
f19dbdb7 43308
5822ff87 43309 * normal/main.c (read_command_list): New function.
43310 (grub_normal_execute): Call read_command_list.
43311
43312 * normal/command.c (grub_register_command): Return zero or CMD.
43313 Allocate CMD->NAME from the heap.
43314 Initialize CMD->MODULE_NAME to zero.
43315 Find the same name as well. If the same command is found and it is
43316 a dummy command, overwrite members. If it is not a dummy command,
43317 return zero.
43318 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
43319 (grub_command_find): If a dummy command is found, load a module
43320 and retry to find a command only once.
43321
43322 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
43323 make sure that each command is loaded.
43324
43325 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
43326 macro.
43327 (struct grub_command): Remove const from the member `name'.
43328 Add a new member `module_name'.
43329 (grub_register_command): Return grub_command_t.
43330
43331 * commands/help.c (grub_cmd_help): Call grub_command_find to make
43332 sure that each command is loaded.
43333
43334 * genmk.rb (PModule::rule): Specify a module name without the
43335 suffix ".mod" to gencmdlist.sh.
43336
7b1f4b57 433372005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
43338
43339 * gencmdlist.sh: New file.
f19dbdb7 43340
7b1f4b57 43341 * genmk.rb (PModule::rule): Generate a rule for a command list.
43342 Clean command.lst.
43343 Generate command.lst from $(COMMANDFILES).
43344
43345 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
43346 (DATA): Added $(pkgdata_DATA).
43347 (install-local): Install files in $(pkgdata_DATA).
43348
062aaf39 433492005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
43350
43351 * term/i386/pc/vga.c (debug_command): Removed.
43352 (GRUB_MOD_INIT): Do not register the command "debug".
43353
43354 From Hollis Blanchard:
43355 * commands/configfile.c: New file.
43356 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43357 commands/configfile.c.
43358 (pkgdata_MODULES): Added configfile.mod.
43359 (configfile_mod_SOURCES): New variable.
43360 (configfile_mod_CFLAGS): Likewise.
43361 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43362 commands/configfile.c.
43363 (pkgdata_MODULES): Added configfile.mod.
43364 (configfile_mod_SOURCES): New variable.
43365 (configfile_mod_CFLAGS): Likewise.
43366 * util/grub-emu.c (main): Call grub_configfile_init and
43367 grub_configfile_fini.
43368 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
43369 prototype.
43370 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 43371
cee01aa6 433722005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
43373
43374 * normal/arg.c (grub_arg_show_help): Do not show the bug report
43375 address.
43376
43377 * commands/help.c (grub_cmd_help): Do not print newlines after
43378 the last command in print_command_help.
43379
93f3a1d8 433802005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
43381
43382 * commands/default.h: New file.
43383 * commands/timeout.h: Likewise.
43384 * normal/context.c: Likewise.
f19dbdb7 43385
93f3a1d8 43386 * util/misc.c: Do not include sys/times.h.
43387 Include sys/time.h and grub/machine/time.h.
43388 (grub_get_rtc): Rewritten with gettimeofday.
43389
43390 * util/grub-emu.c (main): Call grub_default_init and
43391 grub_timeout_init before grub_normal_init, and call
43392 grub_timeout_fini and grub_default_fini after grub_main.
43393
43394 * util/console.c (grub_ncurses_checkkey): Return the read
43395 character or -1.
43396
43397 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
43398 timeouts.
43399
43400 * normal/main.c (read_config_file): Push MENU. If this fails,
43401 print an error and wait for a user input.
43402 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
43403 If a menu is empty or an error occurs, pop MENU.
43404 (grub_normal_execute): Pop and free MENU after grub_menu_run
43405 returns.
43406
43407 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
43408
43409 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
43410 include time.h.
43411 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
43412 without GRUB_UTIL.
43413 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
43414 time.h.
43415 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
43416 without GRUB_UTIL.
43417
43418 * include/grub/normal.h (struct grub_menu_list): New struct.
43419 (grub_menu_list_t): New type.
43420 (struct grub_context): New struct.
43421 (grub_context_t): New type.
43422 (grub_register_command): Got rid of EXPORT_FUNC.
43423 (grub_unregister_command): Likewise.
43424 (grub_context_get): New prototype.
43425 (grub_context_get_current_menu): Likewise.
43426 (grub_context_push_menu): Likewise.
43427 (grub_context_pop_menu): Likewise.
43428 [GRUB_UTIL] (grub_default_init): Likewise.
43429 [GRUB_UTIL] (grub_default_fini): Likewise.
43430 [GRUB_UTIL] (grub_timeout_init): Likewise.
43431 [GRUB_UTIL] (grub_timeout_fini): Likewise.
43432
43433 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
43434 commands/timeout.c and normal/context.c.
43435 (pkgdata_MODULES): Added default.mod and timeout.mod.
43436 (normal_mod_SOURCES): Added normal/context.c.
43437 (default_mod_SOURCES): New variable.
43438 (default_mod_CFLAGS): Likewise.
43439 (timeout_mod_SOURCES): Likewise.
43440 (timeout_mod_CFLAGS): Likewise.
43441 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
43442 conf/i386-pc.rmk.
43443 (pkgdata_MODULES): Added default.mod and timeout.mod.
43444 (normal_mod_SOURCES): Added normal/context.c.
43445 (default_mod_SOURCES): New variable.
43446 (default_mod_CFLAGS): Likewise.
43447 (timeout_mod_SOURCES): Likewise.
43448 (timeout_mod_CFLAGS): Likewise.
43449
43450 * Makefile.in (all-local): Added $(MKFILES).
43451
4ed2e1dd 434522005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
43453
43454 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
43455 (grub_emu_SOURCES): Likewise.
43456 (pkgdata_MODULES): Add `sun.mod'.
43457 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
43458 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43459 `partmap/sun.c'.
43460 (pkgdata_MODULES): Add `sun.mod'.
43461 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
43462 * include/grub/partition.h (grub_sun_partition_map_init): New
43463 prototype.
43464 (grub_sun_partition_map_fini): Likewise.
43465 * partmap/sun.c: New file.
43466 * util/grub-emu.c (main): Initialize and de-initialize the sun
43467 partitionmap support.
43468
4d4e372e 434692005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
43470
43471 This implements an Emacs-like menu entry editor.
f19dbdb7 43472
4d4e372e 43473 * normal/menu_entry.c: New file.
f19dbdb7 43474
4d4e372e 43475 * util/console.c (grub_ncurses_putchar): Translate some Unicode
43476 characters to ASCII.
43477 (saved_char): New variable.
43478 (grub_ncurses_checkkey): Rewritten completely.
43479 (grub_ncurses_getkey): Likewise.
43480 (grub_ncurses_init): Call raw instead of cbreak.
43481
43482 * normal/menu.c (print_entry): Do not put a space.
43483 (init_page): Renamed to ...
43484 (grub_menu_init_page): ... this. All callers changed.
43485 (edit_menu_entry): Removed.
43486 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
43487
43488 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
43489
43490 * kern/misc.c (grub_vprintf): Call grub_refresh.
43491
43492 * normal/menu.c (DISP_LEFT): Renamed to ...
43493 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
43494 * normal/menu.c (DISP_UP): Renamed to ...
43495 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
43496 * normal/menu.c (DISP_RIGHT): Renamed to ...
43497 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
43498 * normal/menu.c (DISP_DOWN): Renamed to ...
43499 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
43500 * normal/menu.c (DISP_HLINE): Renamed to ...
43501 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
43502 * normal/menu.c (DISP_VLINE): Renamed to ...
43503 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
43504 * normal/menu.c (DISP_UL): Renamed to ...
43505 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
43506 * normal/menu.c (DISP_UR): Renamed to ...
43507 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
43508 * normal/menu.c (DISP_LL): Renamed to ...
43509 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
43510 * normal/menu.c (DISP_LR): Renamed to ...
43511 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
43512 * normal/menu.c (TERM_WIDTH): Renamed to ...
43513 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
43514 * normal/menu.c (TERM_HEIGHT): Renamed to ...
43515 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
43516 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
43517 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
43518 * normal/menu.c (TERM_MARGIN): Renamed to ...
43519 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
43520 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
43521 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
43522 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
43523 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
43524 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
43525 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
43526 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
43527 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
43528 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
43529 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
43530 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
43531 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
43532 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
43533 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
43534 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
43535 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
43536 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
43537 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
43538 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
43539 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
43540 All callers changed.
43541
43542 * include/grub/normal.h: New prototype.
43543
43544 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43545 normal/menu_entry.c.
43546 (normal_mod_SOURCES): Likewise.
43547 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43548 (normal_mod_SOURCES): Likewise.
43549
e6b92c8a 435502005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
43551
43552 * include/grub/normal.h (grub_halt_init): New prototype.
43553 (grub_halt_fini): Likewise.
43554 (grub_reboot_init): Likewise.
43555 (grub_reboot_fini): Likewise.
43556
43557 * util/grub-emu.c: Include signal.h.
43558 (main_env): New global variable.
43559 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
43560 catch C-c.
43561 (grub_machine_fini): New function.
43562 (main): Call grub_halt_init and grub_reboot_init before
43563 grub_main, and grub_reboot_fini and grub_halt_fini after it.
43564 Call setjmp with MAIN_ENV to go back afterwards.
43565 Call grub_machine_fini right before return.
43566
43567 * include/grub/util/misc.h: Include setjmp.h.
43568 (main_env): New prototype.
43569
43570 * include/grub/kernel.h (grub_machine_fini): New prototype.
43571 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
43572 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
43573
43574 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
43575 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
43576 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 43577
e6b92c8a 43578 * util/i386/pc/misc.c: New file.
f19dbdb7 43579
e6b92c8a 43580 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43581 util/i386/pc/misc.c, commands/i386/pc/halt.c and
43582 commands/i386/pc/reboot.c.
43583
c642636f 435842005-02-14 Guillem Jover <guillem@hadrons.org>
43585
43586 * include/grub/dl.h (grub_dl_check_header): New prototype.
43587 (grub_arch_dl_check_header): Change return type to grub_err_t,
43588 remove size parameter and export function. Update all callers.
43589 * kern/dl.c (grub_dl_check_header): New function.
43590 (grub_dl_load_core): Use `grub_dl_check_header' instead of
43591 `grub_arch_dl_check_header'. Check ELF type. Check if sections
43592 are inside the core.
43593 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
43594 independent ELF header checks.
43595 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
43596 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
43597 `grub_dl_check_header' instead of explicit checks. Check for the
43598 ELF type.
43599 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
43600 `grub_dl_check_header' instead of explicit checks. Remove arch
43601 specific ELF header checks.
43602
e6b92c8a 43603 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
43604 argument SIZE.
43605
5eabe94b 436062005-02-13 Hollis Blanchard <hollis@penguinppc.org>
43607
43608 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
43609 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
43610
1b14a681 436112005-02-12 Hollis Blanchard <hollis@penguinppc.org>
43612
43613 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 43614 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 43615 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 43616 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 43617 * partmap/amiga.c (amiga_partition_map_iterate): Return
43618 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
43619 * partmap/apple.c (apple_partition_map_iterate): Likewise.
43620
aca108aa 436212005-02-01 Guillem Jover <guillem@hadrons.org>
43622
43623 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
43624 help info.
43625
c9f9c556 436262005-01-31 Marco Gerards <metgerards@student.han.nl>
43627
43628 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
43629 Removed prototype.
43630 (grub_rescue_cmd_linux): New prototype.
43631 (grub_rescue_cmd_initrd): Likewise.
43632 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
43633 `bi_rec'.
43634 (grub_linux_release_mem): Release the memory for the initrd.
43635 (grub_load_linux): Renamed from this...
43636 (grub_rescue_cmd_linux): ...To this. Changed all callers.
43637 Changed `entry' not to be static. Loop over memory regions to
43638 find another one when the default fails.
43639 (grub_rescue_cmd_initrd): New function.
43640 (grub_linux_init): Remove function.
43641 (grub_linux_fini): Likewise.
43642 (GRUB_MOD_INIT): Register `initrd'.
43643 (GRUB_MOD_FINI): Unregister `initrd'.
43644 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
43645 Function removed.
43646 (grub_linux_normal_fini): Likewise.
43647 (GRUB_MOD_INIT): Register `initrd'.
43648 (GRUB_MOD_FINI): Unregister `initrd'.
43649
990cf3aa 436502005-01-31 Marco Gerards <metgerards@student.han.nl>
43651
43652 * commands/help.c: New file.
43653 * normal/arg.c (show_help): Renamed to...
43654 (grub_arg_show_help): ... this.
43655 * commands/i386/pc/halt.c: New file.
43656 * commands/i386/pc/reboot.c: Likewise.
43657 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
43658 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
43659 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
43660 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
43661 variables.
43662 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43663 `commands/help.c'.
43664 (pkgdata_MODULES): Add `help.mod'.
43665 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
43666 * grub/i386/pc/init.h (grub_reboot): New prototype.
43667 (grub_halt): Likewise.
43668 * include/grub/normal.h (grub_arg_show_help): New prototype.
43669 (grub_help_init): Likewise.
43670 (grub_help_fini): Likewise.
43671 * util/grub-emu.c (main): Initialize and deinitialize the help
43672 command.
43673
43674 * normal/cmdline.c (grub_cmdline_get): Doc fix.
43675
43676 * normal/command.c (grub_command_init): Fixed the description of
43677 the `set' and `unset' commands.
43678
436792005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 43680
43681 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
43682 function.
43683 * commands/ieee1275/halt.c: New file.
43684 * commands/ieee1275/reboot.c: Likewise.
43685 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
43686 `__attribute__ ((unused))'. Some GCS related fixed.
43687 (grub_suspend_init) [GRUB_UTIL]: Function removed.
43688 (grub_suspend_fini): Likewise.
43689 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
43690 and `halt.mod'.
43691 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
43692 (halt_mod_CFLAGS): New variables.
43693 * include/grub/powerpc/ieee1275/ieee1275.h
43694 (grub_ieee1275_interpret): New prototype.
43695
1ab09cc7 436962005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
43697
43698 * include/grub/misc.h (memmove): New prototype.
43699 (memcpy): Likewise.
43700
8b8cbdb2 437012005-01-22 Hollis Blanchard <hollis@penguinppc.org>
43702
43703 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
43704 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
43705
e3741a27 437062005-01-22 Marco Gerards <metgerards@student.han.nl>
43707
43708 * kern/misc.c (grub_strndup): Function rewritten.
43709
776bd780 437102005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
43711
43712 * normal/menu.c (TERM_WIDTH): Macro redefined.
43713 (TERM_TOP_BORDER_Y): Likewise.
43714 (draw_border): Replaced while-loop by a for-loop. Make the number
43715 of lines consistent with the number of lines displayed in
43716 print_entries. Added a margin below the rectangle.
43717 (print_entry): Make the entry fit in the rectangle.
43718 (print_entries): Display the scroll arrows next to the right
43719 border.
43720
78026bce 437212005-01-21 Marco Gerards <metgerards@student.han.nl>
43722
43723 * fs/minix.c (grub_minix_find_file): Reserve more space for
43724 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
43725 `grub_strncpy' to copy `path' into it.
43726
67bbaf0f 437272005-01-21 Marco Gerards <metgerards@student.han.nl>
43728
43729 Add the loopback device, a device via which files can be accessed
43730 as devices.
f19dbdb7 43731
67bbaf0f 43732 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
43733 (pkgdata_MODULES): Add loopback.mod.
43734 (loopback_mod_SOURCES): New variable.
43735 (loopback_mod_CFLAGS): Likewise.
43736 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43737 `disk/loopback.c'.
43738 (pkgdata_MODULES): Add loopback.mod.
43739 (loopback_mod_SOURCES): New variable.
43740 (loopback_mod_CFLAGS): Likewise.
43741 * disk/loopback.c: new file.
43742 * include/grub/normal.h (grub_loop_init): New prototype.
43743 (grub_loop_fini): New prototype.
43744 * util/grub-emu.c (main): Initialize and de-initialize loopback
43745 support.
43746 * include/grub/disk.h (grub_disk_dev_id): Add
43747 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
43748
6f1c18bd 437492005-01-20 Hollis Blanchard <hollis@penguinppc.org>
43750
43751 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
43752 function.
43753 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
43754 (suspend_mod_SOURCES): New variable.
43755 (suspend_mod_CFLAGS): Likewise.
43756 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
43757 New prototype.
43758 * commands/ieee1275/suspend.c: New file.
43759
b38551da 437602005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43761
43762 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 43763 ((unused))' to `__attribute__ ((used))'.
b38551da 43764 (GRUB_MOD_FINI): Likewise.
43765 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
43766 * genmk.rb (PModule): Assign space to common symbols when linking
43767 modules.
43768
777aff39 437692005-01-20 Marco Gerards <metgerards@student.han.nl>
43770
43771 * include/grub/mm.h (grub_mm_init_region): Change the type of the
43772 `unsigned' arguments to `grub_size_t'.
43773 (grub_malloc): Likewise.
43774 (grub_realloc): Likewise.
43775 (grub_memalign): Likewise.
43776 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
43777 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
43778 * util/misc.c (grub_malloc): Likewise.
43779 (grub_realloc): Likewise.
43780 * kern/mm.c (get_header_from_pointer): Change the casts to
43781 `unsigned' into a cast to `grub_size_t'.
43782
43783 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
43784 point to `currnode' when `currnode' is changed.
43785
43786 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
43787 Schottelius <nico-linux@schottelius.org>.
43788
d0ff18e1 437892005-01-09 Hollis Blanchard <hollis@penguinppc.org>
43790
43791 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
43792 (note_path): Remove variable.
43793 (GRUB_IEEE1275_NOTE_NAME): New macro.
43794 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
43795 (grub_ieee1275_note_hdr): New structure.
43796 (grub_ieee1275_note_desc): Likewise.
43797 (grub_ieee1275_note): Likewise.
43798 (load_note): Remove `dir' argument. All callers updated. Remove
43799 `note_img' and `path'. Do not load a file from `note_path'.
43800 Initialize a struct grub_ieee1275_note and write that to `out'.
43801 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
43802
4ca7004c 438032005-01-05 Marco Gerards <metgerards@student.han.nl>
43804
43805 * util/misc.c (grub_util_read_image): Revert last change. It
43806 called `grub_util_read_at', which seeks from the beginning of the
43807 file.
43808
0b412211 438092005-01-04 Hollis Blanchard <hollis@penguinppc.org>
43810
43811 * TODO: Add note about endianness in grub-mkimage.
43812 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
43813 section.
43814 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
43815 (grub_mkimage_SOURCES): New target.
43816 * include/grub/kernel.h (grub_start_addr): Remove variable.
43817 (grub_end_addr): Likewise.
43818 (grub_total_module_size): Likewise.
43819 (grub_kernel_image_size): Likewise.
43820 (GRUB_MODULE_MAGIC): New constant.
43821 (grub_module_info): New structure.
43822 (grub_arch_modules_addr): New prototype.
43823 (grub_get_end_addr): Remove prototype.
43824 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
43825 * include/grub/powerpc/ieee1275/kernel.h: New file.
43826 * include/grub/util/misc.h (grub_util_get_fp_size): New
43827 prototype.
43828 (grub_util_read_at): Likewise.
43829 (grub_util_write_image_at): Likewise.
43830 * kern/main.c (grub_get_end_addr): Remove function.
43831 (grub_load_modules): Call grub_arch_modules_addr instead of using
43832 grub_end_addr. Look for a grub_module_info struct in memory. Use
43833 the grub_module_info fields instead of calling grub_get_end_addr
43834 as loop conditions. Move grub_add_unused_region code here.
43835 (grub_add_unused_region): Remove function.
43836 * kern/i386/pc/init.c: Include grub/cache.h.
43837 (grub_machine_init): Remove call to grub_get_end_addr. Remove
43838 one call to add_mem_region.
43839 (grub_arch_modules_addr): New function.
43840 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
43841 (grub_total_module_size): Likewise.
43842 Include grub/machine/kernel.h.
43843 (grub_arch_modules_addr): New function.
43844 * util/grub-emu.c (grub_end_addr): Remove variable.
43845 (grub_total_module_size): Likewise.
43846 (grub_arch_modules_addr): New function.
43847 * util/misc.c: Include unistd.h.
43848 (grub_util_get_fp_size): New function.
43849 (grub_util_read_at): Likewise.
43850 (grub_util_write_image_at): Likewise.
43851 (grub_util_read_image): Call grub_util_read_at.
43852 (grub_util_write_image): Call grub_util_write_image_at.
43853 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
43854 additional memory in kernel_img for a struct grub_module_info.
43855 Fill in that grub_module_info.
43856 * util/powerpc/ieee1275/grub-mkimage.c: New file.
43857
458786f8 438582005-01-03 Hollis Blanchard <hollis@penguinppc.org>
43859
43860 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
43861 New function.
43862 * include/grub/powerpc/ieee1275/ieee1275.h
43863 (grub_ieee1275_milliseconds): New prototype.
43864 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
43865 Change to 1000.
43866 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
43867 grub_ieee1275_milliseconds.
43868
ac507d1b 438692005-01-03 Hollis Blanchard <hollis@penguinppc.org>
43870
43871 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
43872 variable.
43873 (find_options): New function.
43874 (cmain): Call find_options.
43875 * include/grub/powerpc/ieee1275/ieee1275.h
43876 (grub_ieee1275_realmode): New extern variable.
43877 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
43878 grub_map if grub_ieee1275_realmode is false.
43879
6b8fd1c4 438802004-12-29 Marco Gerards <metgerards@student.han.nl>
43881
43882 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
43883 lines are inserted and make it work like readline. Reported by
43884 Vincent Pelletier <subdino2004@yahoo.fr>.
43885
8514a1e0 438862004-12-28 Marco Gerards <metgerards@student.han.nl>
43887
43888 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
43889
43890 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
43891 `kern/powerpc/cache.S'.
43892
924b6140 438932004-12-27 Marco Gerards <metgerards@student.han.nl>
43894
43895 * genmk.rb: Handle the `Program' class in the main loop. Written
43896 by Johan Rydberg <jrydberg@gnu.org>.
43897 (Program): New class.
43898 (programs): New variable.
43899 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
43900 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
43901 instead of "grub/kernel.h". Include <grub/machine/init.h>.
43902 (help_arch): Function removed.
43903 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
43904 `powerpc/libgcc.h' and `loader.h'.
43905 (pkgdata_PROGRAMS): New variable.
43906 (sbin_UTILITIES): Variable removed.
43907 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
43908 (grubof_SOURCES): Variable re-defined so it only includes the
43909 core functionality.
43910 (grubof_CFLAGS): Remove `-DGRUBOF'.
43911 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
43912 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
43913 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
43914 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
43915 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
43916 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
43917 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
43918 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
43919 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
43920 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
43921 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
43922 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
43923 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
43924 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
43925 (pc_mod_CFLAGS): New variables.
43926 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
43927 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
43928 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
43929 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
43930 Moved from here...
43931 * include/grub/i386/pc/init.h (grub_os_area_addr)
43932 (rub_os_area_size): ... to here.
43933 * include/grub/powerpc/ieee1275/ieee1275.h
43934 (grub_ieee1275_entry_fn): Export symbol.
43935 * include/grub/powerpc/ieee1275/init.h: New file.
43936 * include/grub/powerpc/libgcc.h: Likewise.
43937 * include/grub/cache.h: Likewise.
43938 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
43939 <hollis@penguinppc.org>.
43940 * kern/dl.c: Include <grub/cache.h>.
43941 (grub_dl_flush_cache): New function.
43942 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
43943 for this module.
43944 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
43945 (grub_console_init): Removed prototypes.
43946 (grub_machine_init): Don't initialize the modules anymore.
43947 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
43948 static.
43949 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
43950 Macro undef removed.
43951 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
43952 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
43953 relocation `R_PPC_REL32'. Return an error when the relocation is
43954 unknown.
43955 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
43956 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
43957 * util/misc.c (grub_arch_sync_caches): Likewise.
43958
e4b47e0c 439592004-12-19 Marco Gerards <metgerards@student.han.nl>
43960
43961 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
43962 `symlist.c', add `grubof_symlist.c'.
43963 (symlist.c): Variable removed.
43964 (grubof_HEADERS): Variable added.
43965 (grubof_symlist.c): New target.
43966 (kernel_syms.lst): Use `grubof_HEADERS' instead of
43967 `kernel_img_HEADERS'.
43968 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
43969 * kern/powerpc/dl.c: New file.
43970 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
43971 Function removed.
43972 (grub_arch_dl_relocate_symbols): Likewise.
43973 (grub_register_exported_symbols): Likewise.
43974
4ceb3636 439752004-12-13 Marco Gerards <metgerards@student.han.nl>
43976
43977 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
43978 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
43979 to fail instead. Reported by Vincent Pelletier
43980 <subdino2004@yahoo.fr>.
43981
43982 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
43983 it is not allocated. Reported by Vincent Pelletier
43984 <subdino2004@yahoo.fr>.
43985
43986 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
43987 output so the output looks better.
f19dbdb7 43988
3f1578fe 439892004-12-04 Marco Gerards <metgerards@student.han.nl>
43990
43991 Modulize the partition map support and add support for the amiga
43992 partition map.
f19dbdb7 43993
3f1578fe 43994 * commands/ls.c: Include <grub/partition.h> instead of
43995 <grub/machine/partition.h>.
43996 * kern/disk.c: Likewise.
43997 * kern/rescue.c: Likewise.
43998 * loader/i386/pc/chainloader.c: Likewise.
43999 * normal/cmdline.c: Likewise.
44000 * kern/powerpc/ieee1275/init.c: Likewise.
44001 (grub_machine_init): Call `grub_pc_partition_map_init',
44002 `grub_amiga_partition_map_init' and
44003 `grub_apple_partition_map_init'.
44004 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
44005 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
44006 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
44007 `partition.h' and `pc_partition.h'.
44008 (grub_setup_SOURCES): Remove
44009 `disk/i386/pc/partition.c'. Add `kern/partition.c',
44010 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
44011 (grub_emu_SOURCES): Likewise.
44012 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
44013 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
44014 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
44015 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
44016 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
44017 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
44018 (grubof_SOURCES): Likewise.
44019 * disk/i386/pc/partition.c: File removed.
44020 * disk/powerpc/ieee1275/partition.c: Likewise.
44021 * include/grub/powerpc/ieee1275/partition.h: Likewise.
44022 * include/grub/i386/pc/partition.h: Likewise.
44023 * kern/partition.c: New file.
44024 * partmap/amiga.c: Likewise.
44025 * partmap/apple.c: Likewise.
44026 * partmap/pc.c: Likewise.
44027 * include/grub/partition.h: Likewise..
44028 * include/grub/pc_partition.h: Likewise.
44029 * util/grub-emu.c: Include <grub/partition.h> instead of
44030 <grub/machine/partition.h>.
44031 (main): Call `grub_pc_partition_map_init',
44032 `grub_amiga_partition_map_init' and
44033 `grub_apple_partition_map_init' and deinitialize afterwards.
44034 * util/i386/pc/biosdisk.c: Include `#include
44035 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
44036 `<grub/machine/partition.h>'.
44037 * util/i386/pc/grub-setup.c: Likewise.
44038 * util/i386/pc/biosdisk.c: Likewise.
44039 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
44040 partition information in case of a PC partition.
44041 * util/i386/pc/grub-setup.c: Include `#include
44042 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
44043 `<grub/machine/partition.h>'.
44044 (setup): Only access the PC specific partition information in case
44045 of a PC partition.
44046
0ef4ced9 440472004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 44048
0ef4ced9 44049 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
44050 (grub_longjmp): Likewise.
44051 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
44052 20.
44053 * normal/powerpc/setjmp.S: New file.
44054 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
44055 `normal/powerpc/setjmp.S'.
44056 (grubof_CFLAGS): Add `-DGRUBOF'.
44057 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
44058 [GRUB_UTIL && !GRUBOF].
f19dbdb7 44059
19950e29 440602004-11-16 Marco Gerards <metgerards@student.han.nl>
44061
44062 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
44063 property named `name'. Correctly handle the error returned by
44064 `grub_ieee1275_finddevice' if a device can not be opened.
44065
a2fea427 440662004-11-02 Hollis Blanchard <hollis@penguinppc.org>
44067
44068 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
44069 `actual' for negativity.
44070 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
44071 kern/fshelp.c.
44072
41ea0ea3 440732004-11-01 Marco Gerards <metgerards@student.han.nl>
44074
44075 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
44076 (PAGE_OFFSET): New macro.
44077 (CRTC_ADDR_PORT): Likewise.
44078 (CRTC_DATA_PORT): Likewise.
44079 (START_ADDR_HIGH_REGISTER): Likewise.
44080 (START_ADDR_LOW_REGISTER): Likewise.
44081 (GRAPHICS_ADDR_PORT): Likewise.
44082 (GRAPHICS_DATA_PORT): Likewise.
44083 (READ_MAP_REGISTER): Likewise.
44084 (INPUT_STATUS1_REGISTER): Likewise.
44085 (INPUT_STATUS1_VERTR_BIT): Likewise.
44086 (page): New variable.
44087 (wait_vretrace): New function.
44088 (set_read_map): Likewise.
44089 (set_start_address): Likewise.
44090 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
44091 the right page.
44092 (check_vga_mem): Take the page into account.
44093 (write_char): Likewise.
44094 (write_cursor): Likewise.
44095 (scroll_up): Likewise. Copy the page to the page that is not
44096 shown and switch between both pages.
44097 (grub_vga_putchar): Fix off by one error.
44098 (grub_vga_cls): Wait for the vertical retrace. Take the page into
44099 account.
44100
ad0bd20b 441012004-11-01 Marco Gerards <metgerards@student.han.nl>
44102
44103 Add support for iso9660 (including rockridge).
f19dbdb7 44104
ad0bd20b 44105 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
44106 (iso9660_mod_SOURCES): New variable.
44107 (iso9660_mod_CFLAGS): Likewise.
44108 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
44109 * include/grub/fs.h (grub_iso9660_init): New prototype.
44110 * util/grub-emu.c (main): Call `grub_iso9660_init'.
44111 * fs/iso9660.c: New file.
44112
44113 * include/grub/misc.h (grub_strncat): New prototype.
44114 * kern/misc.c (grub_strncat): New function.
f19dbdb7 44115
ad0bd20b 44116 * fs/hfs.c (grub_hfs_mount): Translate the error
44117 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
44118 * fs/jfs.c (grub_jfs_mount): Likewise.
44119 * fs/ufs.c (grub_ufs_mount): Likewise.
44120
a5477a59 441212004-10-28 Hollis Blanchard <hollis@penguinppc.org>
44122
44123 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
44124 which initialized BAT registers.
44125 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
44126 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
44127 Move from here...
44128 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
44129 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
44130 ... to here.
44131 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
44132 (grub_mapclaim): Likewise.
44133 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
44134 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
44135 hand.
44136
9304c1f8 441372004-10-19 Hollis Blanchard <hollis@penguinppc.org>
44138
44139 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
44140 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
44141 -ffreestanding and -msoft-float.
44142
86f4ae25 441432004-10-15 Hollis Blanchard <hollis@penguinppc.org>
44144
44145 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
44146 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
44147 set in grub_ieee1275_flags.
44148
38912228 441492004-10-14 Hollis Blanchard <hollis@penguinppc.org>
44150
44151 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
44152 prototype.
44153 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
44154 grub_console_init first.
44155 Change the memory range used for grub_ieee1275_claim and
44156 grub_mm_init_region.
44157 Print an error message if the claim fails.
44158 Include <grub/misc.h>.
44159
d1923dc8 441602004-10-13 Hollis Blanchard <hollis@penguinppc.org>
44161
44162 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
44163 Call grub_children_iterate for device nodes of type `scsi',
44164 `ide', or `ata'.
44165 (grub_ofdisk_open): Remove manual device alias resolution.
44166 Fix memory leak when device cannot be opened.
f19dbdb7 44167 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 44168 (grub_children_iterate): New prototype.
44169 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
44170 New function.
44171 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
44172 Return -1 if args.size was -1.
44173
4512e4f3 441742004-10-11 Hollis Blanchard <hollis@penguinppc.org>
44175
44176 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
44177 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
44178 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
44179 Open Firmware's memory for it; claim memory from _start to _end.
44180 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
44181 (_end): New extern.
44182 (_start): Zero BSS from __bss_start to _end.
44183 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
44184 New extern.
44185 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
44186
4d61feb0 441872004-10-11 Hollis Blanchard <hollis@penguinppc.org>
44188
ad0bd20b 44189 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
44190 -1 if args.base was -1.
4d61feb0 44191
026fa2f9 441922004-10-08 Hollis Blanchard <hollis@penguinppc.org>
44193
44194 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
44195 escape sequence instead of a literal ^L. Also call
44196 grub_ofconsole_gotoxy.
44197
9f2220ef 441982004-10-03 Hollis Blanchard <hollis@penguinppc.org>
44199
44200 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
44201 void * arguments to grub_addr_t. All callers updated. Also make
44202 the `result' argument optional.
44203 (grub_ieee1275_release): change void * arguments to grub_addr_t.
44204 All callers updated.
44205
8a572cd7 442062004-09-22 Hollis Blanchard <hollis@penguinppc.org>
44207
44208 * commands/ls.c (grub_ls_list_files): Use the string following the
44209 initial ')', if present, as the filesystem path.
44210 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
44211
44212 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
44213
18aa81f2 442142004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
44215
44216 Make the source code of the menu interface more readable.
f19dbdb7 44217
18aa81f2 44218 * normal/menu.c: Include grub/mm.h.
44219 (TERM_WIDTH): New macro.
44220 (TERM_HEIGHT): Likewise.
44221 (TERM_INFO_HEIGHT): Likewise.
44222 (TERM_MARGIN): Likewise.
44223 (TERM_SCROLL_WIDTH): Likewise.
44224 (TERM_TOP_BORDER_Y): Likewise.
44225 (TERM_LEFT_BORDER_X): Likewise.
44226 (TERM_BORDER_WIDTH): Likewise.
44227 (TERM_MESSAGE_HEIGHT): Likewise.
44228 (TERM_BORDER_HEIGHT): Likewise.
44229 (TERM_NUM_ENTRIES): Likewise.
44230 (TERM_FIRST_ENTRY_Y): Likewise.
44231 (TERM_ENTRY_WIDTH): Likewise.
44232 (TERM_CURSOR_X): Likewise.
44233 (draw_border): Use macros instead of magic numbers.
44234 (print_entry): Likewise.
44235 (print_entries): Likewise.
44236 (run_menu): Likewise. Also, handle the key 'e'.
44237 (run_menu_entry): Ignore empty command lines.
44238 (print_message): Added a new argument EDIT. If EDIT is true,
44239 print a different message.
44240 (init_page): Likewise.
44241 (edit_menu_entry): New function. Not implemented yet.
44242
b47efe30 442432004-09-17 Marco Gerards <metgerards@student.han.nl>
44244
44245 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
44246 can be loaded from normal mode.
f19dbdb7 44247
b47efe30 44248 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
44249 `multiboot.mod'.
44250 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
44251 (multiboot_mod_CFLAGS): New variables.
44252 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 44253 * loader/i386/pc/multiboot_normal.c: Likewise.
44254
b47efe30 44255 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
44256 attribute `unused'.
f19dbdb7 44257
b47efe30 44258 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
44259 `fdiro' to read the mode information from instead of `diro'.
44260
44261 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
44262 looking up a symlink.
44263
44264 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
44265 macro.
44266 * normal/command.c (grub_command_execute): Don't parse the
44267 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
44268 flags of the command.
44269
44270 * normal/menu.c (grub_menu_run): Fix typo.
44271
da75ac71 442722004-09-14 Hollis Blanchard <hollis@penguinppc.org>
44273
44274 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
44275
44276 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
44277 `y + 1' instead of `y - 1'.
44278
44279 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 44280
062b24c2 442812004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
44282
44283 From Hollis Blanchard <hollis@penguinppc.org>:
44284 * kern/misc.c (memmove): New alias for grub_memmove.
44285 (memcmp): New alias for grub_memcmp.
44286 (memset): New alias for grub_memset.
f19dbdb7 44287 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 44288 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 44289 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 44290 (grub_ieee1275_get_property): Likewise.
f19dbdb7 44291
8ddad845 442922004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
44293
44294 Added normal mode command `chainloader' as module chain.mod, which
44295 depends on normal.mod and _chain.mod.
f19dbdb7 44296
8ddad845 44297 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
44298 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
44299 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
44300 Deleted prototype.
44301 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
44302 but arguments parsing moved to ...
44303 (grub_chainloader_cmd): ... here. New function.
44304 * include/grub/i386/pc/chainloader.h: New file.
44305 * loader/i386/pc/chainloader_normal.c: Likewise.
44306
2c1f4ce3 443072004-09-11 Marco Gerards <metgerards@student.han.nl>
44308
44309 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
44310 (grub_mkimage_LDFLAGS): Likewise.
44311 (grub_emu_SOURCES): Likewise.
44312 (kernel_img_HEADERS): Added fshelp.h.
44313 * fs/ext2.c: Include <grub/fshelp.h>.
44314 (FILETYPE_REG): New macro.
44315 (FILETYPE_INO_REG): Likewise.
44316 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
44317 Changed all users.
44318 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
44319 all users.
44320 (grub_fshelp_node): New struct.
44321 (grub_ext2_data): Added member `diropen'. Changed member `inode'
44322 to a pointer.
44323 (grub_ext2_get_file_block): Removed function.
44324 (grub_ext2_read_block): New function.
44325 (grub_ext2_read_file): Replaced parameter `data' by `node'.
44326 This function was written.
44327 (grub_ext2_mount): Read the root inode. Create a diropen struct.
44328 (grub_ext2_find_file): Removed function.
44329 (grub_ext2_read_symlink): New function.
44330 (grub_ext2_iterate_dir): Likewise.
44331 (grub_ext2_open): Rewritten.
44332 (grub_ext2_dir): Rewritten.
44333 * include/grub/fshelp.h: New file.
44334 * fs/fshelp.c: Likewise.
44335
3c52136a 443362004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
44337
44338 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
44339 (print_message): Add a missing newline.
44340 (run_menu): Added timeout support.
44341 (run_menu_entry): New local function.
44342 (grub_menu_run): Added support for booting.
44343
44344 * kern/loader.c (grub_loader_is_loaded): New function.
44345
44346 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
44347 (grub_get_rtc): Exported.
44348
44349 * include/grub/i386/pc/time.h: Include grub/symbol.h.
44350 (grub_get_rtc): Exported.
44351
44352 * include/grub/normal.h (struct grub_command_list): Remove
44353 constant from the member `command'.
44354
44355 * include/grub/loader.h (grub_loader_is_loaded): Declared.
44356
44357 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
44358
44359 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
44360
aa033560 443612004-08-28 Marco Gerards <metgerards@student.han.nl>
44362
44363 Add support for the JFS filesystem.
44364
44365 * fs/jfs.c: New file.
44366 * include/grub/fs.h (grub_jfs_init): New prototype.
44367 (grub_jfs_fini): New prototype.
44368 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
44369 (grub_emu_SOURCES): Likewise.
44370 (pkgdata_MODULES): Add jfs.mod.
44371 (jfs_mod_SOURCES): New variable.
44372 (jfs_mod_CFLAGS): Likewise.
44373 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
44374 (grubof_SOURCES): Likewise.
44375 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
44376
44377 * fs/fat.c (grub_fat_find_dir): Convert the filename little
44378 endian to the host endian.
44379 (grub_fat_utf16_to_utf8): Move function from there...
44380 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 44381 the endianness of the source string anymore.
aa033560 44382 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
44383
94bc45af 443842004-08-24 Marco Gerards <metgerards@student.han.nl>
44385
44386 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
44387 (grub_boot_fini) [GRUB_UTIL]: Likewise.
44388 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
44389 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 44390
94bc45af 44391 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
44392 (grub_hfs_iterate_dir): Make the function static. Add prototypes
44393 for `node_found' and `it_dir'.
44394 (grub_hfs_dir): Add prototype for `dir_hook'.
44395
44396 * fs/minix.c (grub_minix_get_file_block): Add prototype for
44397 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
44398 and `indir32' to silence a gcc warning.
44399
44400 * include/grub/fs.h (grub_hfs_init): New prototype.
44401 (grub_hfs_fini): Likewise.
f19dbdb7 44402
44403
97543f08 444042004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
44405
44406 Each disk device has its own id now. This is useful to make use
44407 of multiple disk devices.
f19dbdb7 44408
97543f08 44409 * include/grub/disk.h (grub_disk_dev_id): New enum.
44410 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
44411 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
44412
44413 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
44414 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
44415
44416 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
44417 GRUB_DISK_DEVICE_OFDISK_ID as an id.
44418
44419 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
44420 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
44421
44422 * include/grub/disk.h (struct grub_disk_dev): Added a new member
44423 "id" which is used by the cache manager.
44424
44425 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
44426 of just "GRUB".
44427
64372eb4 444282004-08-18 Marco Gerards <metgerards@student.han.nl>
44429
44430 * fs/hfs.c: New file.
44431 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
44432 (grub_emu_SOURCES): Likewise.
44433 (pkgdata_MODULES): Add hfs.mod.
44434 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
44435 (grubof_SOURCES): Likewise.
44436 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
44437
44438 * include/grub/misc.h (grub_strncasecmp): Add prototype.
44439 * kern/misc.c (grub_strncasecmp): Add function.
44440
cc61b58f 444412004-08-14 Marco Gerards <metgerards@student.han.nl>
44442
44443 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
44444 with parentheses.
44445
44446 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
44447 (grub_ext2_dir): In case the directory entry type is unknown, read
44448 it from the inode.
44449
0ef123f6 444502004-08-02 Peter Bruin <pjbruin@dds.nl>
44451
44452 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
44453 grub_load_linux instead of grub_rescue_cmd_linux as second
44454 argument of grub_rescue_register_command.
44455
44456 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
44457
a447c5df 444582004-07-27 Marco Gerards <metgerards@student.han.nl>
44459
44460 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
44461 function.
44462 * commands/boot.c: Remove the check for `GRUB_UTIL'.
44463 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
44464 `loader/powerpc/ieee1275/linux.c',
44465 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
44466 * include/grub/powerpc/ieee1275/ieee1275.h
44467 (grub_ieee1275_release): New prototype.
44468 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
44469 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
44470 normal, boot, linux and linux_normal.
44471 * loader/powerpc/ieee1275/linux.c: New file.
44472 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
44473
5a9e3546 444742004-07-12 Marco Gerards <metgerards@student.han.nl>
44475
44476 * normal/arg.c (grub_arg_parse): Correct error handling after
44477 reallocating the argumentlist (check if `argl' is not null instead
44478 of checking if `args' is not null).
44479 * kern/mm.c (grub_realloc): Return the same pointer when using the
44480 same region, instead of returning the header address.
44481
e15199cb 444822004-07-11 Marco Gerards <metgerards@student.han.nl>
44483
44484 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
44485 one block instead of two when looking for the initial partition.
44486 (grub_partition_probe): Initialize the local variable `p' with 0.
44487 Use base 10 for the grub_strtoul call.
44488 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
44489 need for one local variable.
44490 (grub_strtoul): Don't add the new value to `num', instead of that
44491 just assign it.
44492
020616c2 444932004-07-11 Marco Gerards <metgerards@student.han.nl>
44494
44495 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
44496 (pxeboot_img_SOURCES): New variable.
44497 (pxeboot_img_ASFLAGS): Likewise.
44498 (pxeboot_img_LDFLAGS): Likewise.
44499 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
44500 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
44501 <lode_leroy@hotmail.com>.
44502
6c51eb64 445032004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
44504
44505 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
44506 there was no input.
44507
cfb12aff 445082004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
44509
44510 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
44511 the history buffer logic.
44512
6eabba74 445132004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
44514
44515 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
44516 (FILETYPE_INO_SYMLINK): New macros.
44517 (grub_ext2_find_file): Check if the node is a directory using the
44518 inode stat information instead of using the filetype in the
44519 dirent. Exclude the first character of an absolute symlink.
44520 (grub_ext2_dir): Mask out the filetype part of the mode member of
44521 the inode.
44522
66e19ef8 445232004-05-24 Marco Gerards <metgerards@student.han.nl>
44524
44525 Add support for UFS version 1 and 2. Add support for the minix
44526 filesystem version 1 and 2, both the variants with 14 and 30 long
44527 filenames.
f19dbdb7 44528
66e19ef8 44529 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
44530 fs/minix.c.
44531 (grub_emu_SOURCES): Likewise.
44532 (pkgdata_MODULES): Add ufs.mod and minix.mod.
44533 (ufs_mod_SOURCES): New variable.
44534 (ufs_mod_CFLAGS): Likewise.
44535 (minix_mod_SOURCES): Likewise.
44536 (minix_mod_CFLAGS): Likewise.
44537 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
44538 fs/minix.c.
44539 (grubof_SOURCES): Likewise.
44540 * fs/ufs.c: New file.
44541 * fs/minix.c: New file.
44542 * include/grub/fs.h (grub_ufs_init): New prototype.
44543 (grub_ufs_fini): Likewise.
44544 (grub_minix_init): Likewise.
44545 (grub_minix_fini): Likewise.
44546 * util/grub-emu.c (main): Initialize and deinitialize UFS and
44547 minix fs.
44548
cc2e748a 445492004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
44550
44551 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
44552 commands/ls.c, commands/terminal.c, commands/boot.c,
44553 commands/cmp.c and commands/cat.c.
44554 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
44555
44556 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
44557 "env.h"
44558
4b13b216 445592004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
44560
44561 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
44562 and grub_, respectively. Because the conversion is trivial and
44563 mechanical, I omit the details here. Please refer to the CVS
44564 if you need more information.
44565
6a142551 445662004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
44567
44568 * include/pupa: Renamed to ...
44569 * include/grub: ... this.
44570 * util/i386/pc/pupa-mkimage.c: Renamed to ...
44571 * util/i386/pc/grub-mkimage.c: ... this.
44572 * util/i386/pc/pupa-setup.c: Renamed to ...
44573 * util/i386/pc/grub-setup.c: ... this.
44574 * util/pupa-emu.c: Renamed to ...
44575 * util/grub-emu.c: ... this.
44576
e56cdf21 445772004-03-29 Marco Gerards <metgerards@student.han.nl>
44578
44579 Add support for the newworld apple macintosh (PPC). This has been
44580 tested on the powerbook 2000 only. It only adds support for
44581 generic ieee1275 functions, console and disk support. This should
44582 be easy to port to other architectures with support for Open
44583 Firmware.
f19dbdb7 44584
e56cdf21 44585 * configure.ac: Accept the powerpc as host_cpu. In the case of
44586 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
44587 specific tests are only executed while building for the i386.
44588 Inverse test for crosscompile.
44589 * genmk.rb (Utility): Allow assembler files.
44590 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
44591 * conf/powerpc-ieee1275.rmk: New file.
44592 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
44593 * disk/powerpc/ieee1275/partition.c: Likewise.
44594 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
44595 * include/pupa/powerpc/ieee1275/console.h: Likewise.
44596 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
44597 * include/pupa/powerpc/ieee1275/time.h: Likewise.
44598 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
44599 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
44600 * include/pupa/powerpc/ieee1275/loader.h
44601 * include/pupa/powerpc/setjmp.h: Likewise.
44602 * include/pupa/powerpc/types.h: Likewise.
44603 * kern/powerpc/ieee1275/init.c: Likewise.
44604 * kern/powerpc/ieee1275/openfw.c: Likewise.
44605 * term/powerpc/ieee1275/ofconsole.c: Likewise.
44606
44607 These files were written by Johan Rydberg
44608 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 44609
e56cdf21 44610 * boot/powerpc/ieee1275/cmain.c: New file.
44611 * boot/powerpc/ieee1275/crt0.S: Likewise.
44612 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
44613 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
44614
8c8cc205 446152004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
44616
44617 * Makefile.in: Update copyright.
44618 * genmodsrc.sh: Likewise.
44619 * gensymlist.sh: Likewise.
44620 * term/i386/pc/vga.c: Indent correctly.
44621
44622 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
44623 bugreporting address.
44624 * util/i386/pc/pupa-setup.c (usage): Likewise,
44625 (main): Call pupa_ext2_init and pupa_ext2_fini.
44626
f19dbdb7 44627 * fs/fat.c (log2): Renamed to ...
8c8cc205 44628 (fat_log2): ... this.
44629 All callers changed.
44630 * kern/misc.c (memcpy): Alias to pupa_memmove.
44631 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
44632 lvalue cast.
44633 * util/console.c (pupa_ncurses_fini): Return 0.
44634
44635 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
44636 Move fail label here.
44637 [__GNU__]: Don't warn when using stat.
44638 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
44639 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
44640 long int. Use strtol instead of strtoul.
f19dbdb7 44641
db1771cf 446422004-03-14 Marco Gerards <metgerards@student.han.nl>
44643
44644 * commands/boot.c: New file.
44645 * commands/cat.c: Likewise.
44646 * commands/cmp.c: Likewise.
44647 * commands/ls.c: Likewise.
44648 * commands/terminal.c: Likewise.
44649 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
44650 (pupa_register_command): Changed interface to match the new
44651 argument parser.
44652 (pupa_command_execute): Changed (almost rewritten) so it uses
44653 pupa_split_command. Added support for setting variables using the
44654 syntax `foo=bar'.
44655 (rescue_command): Changed to work with the new argument parser.
44656 (terminal_command): Moved from here to commands/terminal.c.
44657 (set_command): New function.
44658 (unset_command): New function.
44659 (insmod_command): New function.
44660 (rmmod_command): New function.
44661 (lsmod_command): New function.
44662 (pupa_command_init): Don't initialize the command terminal
44663 anymore. Initialize the commands set, unset, insmod, rmmod and
44664 lsmod.
44665 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
44666 (kernel_img_HEADERS): Add arg.h and env.h.
44667 (pupa_mkimage_LDFLAGS): Add kern/env.c.
44668 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
44669 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
44670 normal/arg.c.
44671 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
44672 terminal.mod.
44673 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
44674 (boot_mod_SOURCES): New variable.
44675 (terminal_mod_SOURCES): Likewise.
44676 (ls_mod_SOURCES): Likewise.
44677 (cmp_mod_SOURCES): Likewise.
44678 (cat_mod_SOURCES): Likewise.
44679
44680 * normal/arg.c: New file.
44681 * kern/env.c: Likewise.
44682 * include/pupa/arg.h: Likewise.
44683 * include/pupa/env.h: Likewise.
44684 * font/manager.c (font_command): Changed to match argument parsing
44685 interface changes.
44686 (PUPA_MOD_INIT): Likewise.
44687 * hello/hello.c (pupa_cmd_hello): Likewise.
44688 (PUPA_MOD_INIT): Likewise.
44689 * include/pupa/disk.h: Include <pupa/device.h>.
44690 (pupa_print_partinfo): New prototype.
44691 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
44692 (pupa_dl_get_prefix): Likewise.
44693 * include/pupa/misc.h: Include <pupa/err.h>.
44694 (pupa_isgraph): New prototype.
44695 (pupa_isdigit): Likewise.
44696 (pupa_split_cmdline): Likewise.
44697 * include/pupa/normal.h: Include <pupa/arg.h>.
44698 (pupa_command): Changed the prototype of the member `func' to
44699 match the argument parsing interface. Added member `options'.
44700 (pupa_register_command): Updated to match function.
44701 (pupa_arg_parse): New prototype.
44702 (pupa_hello_init) [PUPA_UTIL]: New prototype.
44703 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
44704 (pupa_ls_init) [PUPA_UTIL]: Likewise.
44705 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
44706 (pupa_cat_init) [PUPA_UTIL]: Likewise.
44707 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
44708 (pupa_boot_init) [PUPA_UTIL]: Likewise.
44709 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
44710 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
44711 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
44712 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
44713 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
44714 * kern/disk.c: Include <pupa/file.h>.
44715 (pupa_print_partinfo): New function.
44716 * kern/dl.c: Include <pupa/env.h>.
44717 (pupa_dl_dir): Variable removed.
44718 (pupa_dl_load): Use the environment variable `prefix' instead of
44719 the variable pupa_dl_dir.
44720 (pupa_dl_set_prefix): Function removed.
44721 (pupa_dl_get_prefix): Likewise.
44722 * kern/i386/pc/init.c: Include <pupa/env.h>.
44723 (pupa_machine_init): Use the environment variable `prefix' instead of
44724 using pupa_dl_set_prefix to set the prefix.
44725 * kern/main.c: Include <pupa/env.h>.
44726 (pupa_set_root_dev): Use the environment variable `prefix' instead of
44727 using pupa_dl_get_prefix to get the prefix.
44728 * kern/misc.c: Include <pupa/env.h>.
44729 (pupa_isdigit): New function.
44730 (pupa_isgraph): Likewise.
44731 (pupa_ftoa): Likewise.
44732 (pupa_vsprintf): Added support for printing values of the type
44733 `double'. Make it possible to format variable output when using
44734 formatting like `%1.2%f'.
44735 (pupa_split_cmdline): New function.
44736 * kern/rescue.c: Include <pupa/env.h>.
44737 (next_word): Removed function.
44738 (pupa_rescue_cmd_prefix): Likewise.
44739 (pupa_rescue_cmd_set): New function.
44740 (pupa_rescue_cmd_unset): New function.
44741 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
44742 split the command line instead of splitting it here. Added
44743 support for setting variables using the syntax `foo=bar'. Don't
44744 initialize the prefix command anymore. Initialized the set and
44745 unset commands.
44746 * normal/cmdline.c: Include <pupa/env.h>.
44747 (pupa_tab_complete): Added prototypes for print_simple_completion,
44748 print_partition_completion, add_completion, iterate_commands,
44749 iterate_dev, iterate_part and iterate_dir. Moved code to print
44750 partition information from here to kern/disk.c.
fe6b695a 44751 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 44752 * normal/main.c: Include <pupa/env.h>.
44753 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
44754 instead of using pupa_dl_get_prefix to get the prefix.
44755 * term/i386/pc/vga.c: Include <pupa/arg.h>.
44756 (check_vga_mem): Cast pointers to `void *' to silence a gcc
44757 warning.
44758 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
44759 (pupa_vga_setcolor): Declare unused variables with `__attribute__
44760 ((unused))' to silence a gcc warning.
44761 (pupa_vga_setcolor): Likewise.
44762 (debug_command): Changed to match argument parsing
44763 interface changes.
44764 * util/pupa-emu.c: Include <pupa/env.h>.
44765 (options): Added 0's for unused fields to silence a gcc warning.
44766 (argp): Likewise.
44767 (main): Use the environment variable `prefix' instead of using
44768 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
44769 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
44770 and terminal.
44771
44772 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
44773 * util/misc.c: Include <malloc.h>.
44774 (pupa_malloc): Rewritten so errors are correctly reported.
44775 (pupa_realloc): Likewise.
44776 (pupa_memalign): Likewise.
44777 (pupa_mm_init_region): Declare unused variables with
44778 `__attribute__ ((unused))' to silence a gcc warning.
44779 * normal/i386/setjmp.S: Remove tab at the end of the file to
44780 silence a gcc warning.
44781 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
44782 variables with `__attribute__ ((unused))' to silence a gcc
44783 warning.
44784 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
44785 local variable i unsigned to silence a gcc warning.
44786
44787 * kern/term.c: Include <pupa/misc.h>.
44788 (pupa_more_lines): New variable.
44789 (pupa_more): Likewise.
44790 (pupa_putcode): When the pager is active pause at the end of every
44791 screen.
44792 (pupa_set_more): New function.
44793 * include/pupa/term.h (pupa_set_more): New prototype.
44794
44795
3b1139cb 447962004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
44797
44798 Now this project is GRUB 2 rather than PUPA. The location of
44799 the CVS repository was moved to GRUB's.
f19dbdb7 44800
3b1139cb 44801 * configure.ac: Use bug-grub as the reporting address.
44802 Use GRUB instead of PUPA.
44803 Change the version number to 1.90.
44804
8367695c 448052004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
44806
44807 * genkernsyms.sh: Updated copyright information.
44808 * genmk.rb: Likewise.
44809 * genmodsrc.sh: Likewise.
44810 * gensymlist.sh: Likewise.
44811 * boot/i386/pc/boot.S: Likewise.
44812 * boot/i386/pc/diskboot.S: Likewise.
44813 * disk/i386/pc/biosdisk.c: Likewise.
44814 * disk/i386/pc/partition.c: Likewise.
44815 * font/manager.c: Likewise.
44816 * fs/ext2.c: Likewise.
44817 * fs/fat.c: Likewise.
44818 * include/pupa/boot.h: Likewise.
44819 * include/pupa/device.h: Likewise.
44820 * include/pupa/disk.h: Likewise.
44821 * include/pupa/dl.h: Likewise.
44822 * include/pupa/elf.h: Likewise.
44823 * include/pupa/err.h: Likewise.
44824 * include/pupa/file.h: Likewise.
44825 * include/pupa/font.h: Likewise.
44826 * include/pupa/fs.h: Likewise.
44827 * include/pupa/kernel.h: Likewise.
44828 * include/pupa/loader.h: Likewise.
44829 * include/pupa/misc.h: Likewise.
44830 * include/pupa/mm.h: Likewise.
44831 * include/pupa/net.h: Likewise.
44832 * include/pupa/normal.h: Likewise.
44833 * include/pupa/rescue.h: Likewise.
44834 * include/pupa/setjmp.h: Likewise.
44835 * include/pupa/symbol.h: Likewise.
44836 * include/pupa/term.h: Likewise.
44837 * include/pupa/types.h: Likewise.
44838 * include/pupa/i386/setjmp.h: Likewise.
44839 * include/pupa/i386/types.h: Likewise.
44840 * include/pupa/i386/pc/biosdisk.h: Likewise.
44841 * include/pupa/i386/pc/boot.h: Likewise.
44842 * include/pupa/i386/pc/console.h: Likewise.
44843 * include/pupa/i386/pc/init.h: Likewise.
44844 * include/pupa/i386/pc/kernel.h: Likewise.
44845 * include/pupa/i386/pc/linux.h: Likewise.
44846 * include/pupa/i386/pc/loader.h: Likewise.
44847 * include/pupa/i386/pc/memory.h: Likewise.
44848 * include/pupa/i386/pc/multiboot.h: Likewise.
44849 * include/pupa/i386/pc/partition.h: Likewise.
44850 * include/pupa/i386/pc/time.h: Likewise.
44851 * include/pupa/i386/pc/vga.h: Likewise.
44852 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
44853 * include/pupa/util/getroot.h: Likewise.
44854 * include/pupa/util/misc.h: Likewise.
44855 * include/pupa/util/resolve.h: Likewise.
44856 * kern/device.c: Likewise.
44857 * kern/disk.c: Likewise.
44858 * kern/dl.c: Likewise.
44859 * kern/err.c: Likewise.
44860 * kern/file.c: Likewise.
44861 * kern/fs.c: Likewise.
44862 * kern/loader.c: Likewise.
44863 * kern/main.c: Likewise.
44864 * kern/misc.c: Likewise.
44865 * kern/mm.c: Likewise.
44866 * kern/rescue.c: Likewise.
44867 * kern/term.c: Likewise.
44868 * kern/i386/dl.c: Likewise.
44869 * kern/i386/pc/init.c: Likewise.
44870 * kern/i386/pc/lzo1x.S: Likewise.
44871 * kern/i386/pc/startup.S: Likewise.
44872 * loader/i386/pc/chainloader.c: Likewise.
44873 * loader/i386/pc/linux.c: Likewise.
44874 * loader/i386/pc/multiboot.c: Likewise.
44875 * normal/cmdline.c: Likewise.
44876 * normal/command.c: Likewise.
44877 * normal/main.c: Likewise.
44878 * normal/menu.c: Likewise.
44879 * normal/i386/setjmp.S: Likewise.
44880 * term/i386/pc/console.c: Likewise.
44881 * term/i386/pc/vga.c: Likewise.
44882 * util/console.c: Likewise.
44883 * util/genmoddep.c: Likewise.
44884 * util/misc.c: Likewise.
44885 * util/pupa-emu.c: Likewise.
44886 * util/resolve.c: Likewise.
44887 * util/unifont2pff.rb: Likewise.
44888 * util/i386/pc/biosdisk.c: Likewise.
44889 * util/i386/pc/getroot.c: Likewise.
44890 * util/i386/pc/pupa-mkimage.c: Likewise.
44891 * util/i386/pc/pupa-setup.c: Likewise.
44892
e6eced71 448932004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
44894
44895 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
44896 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
44897 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
44898 reading and reset it after reading.
44899 (pupa_ext2_close): Return PUPA_ERR_NONE.
44900
44901 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
44902 Correct value.
44903 (struct linux_kernel_header): Add kernel_version and
44904 initrd_addr_max.
44905 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
44906 pupa_file_read succeeds.
44907 (pupa_rescue_cmd_initrd): Implement.
44908
5aded270 449092003-12-03 Marco Gerards <metgerards@student.han.nl>
44910
44911 * fs/ext2.c (pupa_ext2_label): New function.
44912 (pupa_ext2_fs): Added label.
44913 * fs/fat.c (pupa_fat_label): New function.
44914 (pupa_fat_fs): Added label.
44915 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
44916
44917 * kern/misc.c (pupa_strndup): New function.
44918 * include/pupa/misc.h (pupa_strndup): New prototype.
44919
44920 * include/pupa/normal.h: Include <pupa/err.h>.
44921 (pupa_set_history): New prototype.
44922 (pupa_iterate_commands): New prototype.
44923 * normal/cmdline.c: Include <pupa/machine/partition.h>,
44924 <pupa/disk.h>, <pupa/file.h>.
44925 (hist_size): New variable.
44926 (hist_lines): Likewise.
44927 (hist_end): Likewise.
44928 (hist_used): Likewise.
44929 (pupa_set_history): New function.
44930 (pupa_history_get): Likewise.
44931 (pupa_history_add): Likewise.
44932 (pupa_history_replace): Likewise.
44933 (pupa_tab_complete): Likewise.
44934 (pupa_cmdline_run): Added tab completion and history buffer. Tab
44935 completion shows partitionnames while completing partitions, this
44936 feature was suggested by Jeff Bailey.
44937 * normal/command.c (pupa_iterate_commands): New function.
44938 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
44939 (pupa_normal_init): Initialize history buffer.
44940 (PUPA_MOD_INIT): Likewise.
44941 (pupa_normal_fini): Free the history buffer.
44942 (PUPA_MOD_FINI): Likewise.
44943
44944 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
44945 key.
44946
44947 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
44948 * configure.ac [i386]: Check for regparam bug.
44949 (NESTED_FUNC_ATTR) [! i386]: Defined.
44950
1f7315a3 449512003-11-17 Marco Gerards <metgerards@student.han.nl>
44952
44953 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
44954 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
44955 (pupa_emu_SOURCES): New variable.
44956 (pupa_emu_LDFLAGS): Likewise.
44957 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
44958 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
44959 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
44960 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
44961 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
44962 (pupa_jmp_buf): New typedef.
44963 (pupa_setjmp) [PUPA_UTIL]: New macro.
44964 (pupa_longjmp) [PUPA_UTIL]: Likewise.
44965 * include/pupa/term.h (struct pupa_term): New member `refresh'.
44966 (pupa_refresh): New prototype.
44967 * include/pupa/util/getroot.h: New file.
44968 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
44969 it.
44970 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
44971 (pupa_rescue_cmd_cat): Likewise.
44972 (pupa_rescue_cmd_ls): Likewise.
44973 (pupa_rescue_cmd_testload): Likewise.
44974 (pupa_rescue_cmd_lsmod): Likewise.
44975 * normal/cmdline.c (pupa_cmdline_get): Likewise.
44976 * normal/menu.c (run_menu): Likewise.
44977 * kern/term.c (pupa_cls): Likewise.
44978 (pupa_refresh): New function.
44979 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
44980 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
44981 * util/console.c: New file.
f19dbdb7 44982
1f7315a3 44983 * util/i386/pc/getroot.c: New file.
44984 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
44985 (pupa_putchar): New function.
44986 (pupa_refresh): Likewise.
44987 (xgetcwd): Function moved to ...
44988 (strip_extra_slashes): Likewise.
44989 (get_prefix): Likewise.
f19dbdb7 44990 * util/i386/pc/getroot.c: ... here.
1f7315a3 44991 (find_root_device): Function moved and renamed to...
44992 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
44993 Changed all callers.
44994 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
44995 and renamed to...
44996 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
44997 Changed all callers.
44998 * util/misc.c (pupa_memalign): New function.
44999 (pupa_mm_init_region): Likewise.
45000 (pupa_register_exported_symbols): Likewise.
45001 (pupa_putchar): Function removed.
45002 * util/pupa-emu.c: New file.
45003
9a5c1ade 450042003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
45005
45006 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
45007 (_multiboot_mod_SOURCES): New variable.
45008 (_multiboot_mod_CFLAGS): Likewise.
45009 * loader/i386/pc/multiboot.c: New file.
45010 * include/pupa/i386/pc/multiboot.h: Likewise.
45011 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
45012 (pupa_multiboot_real_boot): New function.
45013 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
45014 (pupa_multiboot_real_boot): New prototype.
45015 (pupa_rescue_cmd_multiboot): Likewise
45016 (pupa_rescue_cmd_module): Likewise.
45017
45018 * kern/loader.c (pupa_loader_set): Continue when
45019 pupa_loader_unload_func() fails.
45020 (pupa_loader_unset): New function.
45021 * include/pupa/loader.h (pupa_loader_unset): New prototype.
45022
45023 * kern/misc.c (pupa_stpcpy): New function.
45024 * include/pupa/misc.h (pupa_stpcpy): New prototype.
45025
8e72a9c0 450262003-11-12 Marco Gerards <metgerards@student.han.nl>
45027
45028 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
45029 for available extensions.
45030
45031 * include/pupa/i386/pc/time.h: New file.
45032 * kern/disk.c: Include <pupa/machine/time.h>.
45033 (PUPA_CACHE_TIMEOUT): New macro.
45034 (pupa_last_time): New variable.
45035 (pupa_disk_open): Flush the cache when there was a timeout.
45036 (pupa_disk_close): Reset the timer.
45037 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
45038 pupa_currticks.
45039 * util/misc.c: Include <sys/times.h>
45040 (pupa_get_rtc): New function.
45041
c4adbd32 450422003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
45043
45044 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
45045 as blocks.
45046 (pupa_ext2_get_file_block): Use blocks member.
45047
45048 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
45049 first block. Return -1 instead of pupa_errno on error.
45050
bfd30f06 450512003-10-27 Marco Gerards <metgerards@student.han.nl>
45052
45053 * README: In the pupa-mkimage example use _chain instead of chain
45054 and ext2 instead of fat.
45055 * TODO: Replace ext2fs with jfs as an example. Add an item for
45056 adding journal playback for ext2fs.
45057 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
45058 (pkgdata_MODULES): Added ext2.mod.
45059 (ext2_mod_SOURCES): New variable.
45060 (ext2_mod_CFLAGS): Likewise.
45061 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
45062 * include/pupa/misc.h (pupa_strncpy): New prototype.
45063 (pupa_strcat): Likewise.
45064 (pupa_strncmp): Likewise.
45065 * kern/misc.c (pupa_strcat): Enable function.
45066 (pupa_strncpy): New function.
45067 (pupa_strncmp): Likewise.
45068 * fs/ext2.c: New file.
f19dbdb7 45069
bfd30f06 45070 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
45071 when the read failed before retrying.
45072 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
45073 (_FILE_OFFSET_BITS): Likewise.
45074 * configure.ac: Added AC_SYS_LARGEFILE.
45075
98d15063 450762003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
45077
45078 * genmk.rb (PModule#rule): Make sure to get only symbol names
45079 from the output of nm.
59cad637 45080 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 45081
18d9c7cd 450822003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
45083
45084 I forgot to check in these changes for a long time. This adds
45085 incomplete support for VGA console, and this is still very
45086 buggy. Also, a lot of consideration is required for I18N,
45087 UNICODE, and VGA font issues. Therefore, assume that this is
45088 such that "better than nothing".
f19dbdb7 45089
18d9c7cd 45090 * font/manager.c: New file.
45091 * include/pupa/font.h: Likewise.
45092 * include/pupa/i386/pc/vga.h: Likewise.
45093 * term/i386/pc/vga.c: Likewise.
45094 * util/unifont2pff.rb: Likewise.
45095
45096 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
45097 (pkgdata_MODULES): Added vga.mod and font.mod.
45098 (vga_mod_SOURCES): New variables.
45099 (vga_mod_CFLAGS): Likewise.
45100 (font_mod_SOURCES): Likewise.
45101 (font_mod_CFLAGS): Likewise.
45102
45103 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
45104
45105 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 45106 (struct pupa_term): Added init and fini.
18d9c7cd 45107 Changed the argument of putchar to pupa_uint32_t.
45108
45109 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
45110 (pupa_console_real_putchar): New prototype.
45111 (pupa_console_putchar): Removed.
45112 (pupa_console_checkkey): Exported.
45113 (pupa_console_getkey): Likewise.
45114
45115 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
45116 characters.
45117
45118 * kern/term.c (pupa_term_set_current): Rewritten.
45119 (pupa_putchar): Likewise.
45120 (pupa_putcode): New function.
45121
45122 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
45123 (pupa_console_real_putchar): ... this.
45124 (pupa_vga_set_mode): New function.
45125 (pupa_vga_get_font): Likewise.
45126
45127 * normal/command.c: Include pupa/term.h.
45128 (terminal_command): New function.
45129 (pupa_command_init): Register the command "terminal".
45130
45131 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
45132 (DISP_UP): Likewise.
45133 (DISP_RIGHT): Likewise.
45134 (DISP_DOWN): Likewise.
45135 (DISP_HLINE): Likewise.
45136 (DISP_VLINE): Likewise.
45137 (DISP_UL): Likewise.
45138 (DISP_UR): Likewise.
45139 (DISP_LL): Likewise.
45140 (DISP_LR): Likewise.
45141
45142 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 45143
977329f5 451442003-02-08 NIIBE Yutaka <gniibe@m17n.org>
45145
45146 * util/resolve.c (pupa_util_resolve_dependencies): BUG
45147 FIX. Reverse the path_list.
45148
45149 * include/pupa/normal.h: Export pupa_register_command and
45150 pupa_unregister_command.
45151
45152 * hello/hello.c (pupa_cmd_hello): New module.
45153 * conf/i386-pc.rmk: Added hello.mod.
45154
1f5ab428 451552003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
45156
45157 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 45158
1f5ab428 45159 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
45160 (compress_kernel): New variable.
45161 (generate_image): Heavily modified to support compressing a
45162 large part of the core image.
45163
45164 * util/misc.c (pupa_util_read_image): Fix a file descriptor
45165 leak.
45166 (pupa_util_load_image): New function.
45167
45168 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
45169 (pupa_compressed_size): New variable.
45170 (codestart): Enable Gate A20 here.
45171 Decompress the compressed part of the core image.
45172 Rearrange the code to put functions and variables which are
45173 required for initialization in the non-compressed part.
45174 Include lzo1x.S.
45175
45176 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
45177 here.
45178
45179 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
45180
f19dbdb7 45181 * include/pupa/i386/pc/kernel.h
1f5ab428 45182 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
45183 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
45184 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
45185 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
45186 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
45187
45188 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
45189
45190 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
45191 (Utility#rule): Likewise.
45192
45193 * configure.ac: Check if LZO is available.
45194
ce5bf700 451952003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
45196
45197 * include/pupa/normal.h: New file.
45198 * include/pupa/setjmp.h: Likewise.
45199 * include/pupa/i386/setjmp.h: Likewise.
45200 * normal/cmdline.c: Likewise.
45201 * normal/command.c: Likewise.
45202 * normal/main.c: Likewise.
45203 * normal/menu.c: Likewise.
45204 * normal/i386/setjmp.S: Likewise.
f19dbdb7 45205
ce5bf700 45206 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
45207 (pupa_rescue_cmd_initrd): Likewise.
45208
45209 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
45210 Likewise.
45211
45212 * kern/i386/pc/startup.S (translation_table): New variable.
45213 (translate_keycode): New function.
45214 (pupa_console_getkey): Call translate_keycode.
45215
45216 * kern/rescue.c (attempt_normal_mode): New function.
45217 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
45218 it failed, print a message.
45219
45220 * kern/mm.c (pupa_real_malloc): Print more information when a
45221 free magic is broken.
45222 (pupa_free): If the first free header is not free actually, set
45223 it to P.
45224
45225 * kern/main.c (pupa_load_normal_mode): Just load the module
45226 "normal".
45227 (pupa_main): Don't print the message
45228 "Entering into rescue mode..." here.
45229
45230 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
45231 Declared.
45232 (pupa_rescue_cmd_initrd): Likewise.
45233 (pupa_rescue_cmd_initrd): Likewise.
45234
45235 * include/pupa/symbol.h (FUNCTION): Specify the type.
45236 (VARIABLE): Likewise.
45237
45238 * include/pupa/err.h (pupa_err_t): Added
45239 PUPA_ERR_UNKNOWN_COMMAND.
45240
45241 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
45242 (pupa_dl_get_prefix): Likewise.
45243
45244 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
45245 Added _chain.mod and _linux.mod instead of chain.mod and
45246 linux.mod.
45247 (chain_mod_SOURCES): Renamed to ...
45248 (_chain_mod_SOURCES): ... this.
45249 (chain_mod_CFLAGS): Renamed to ...
45250 (_chain_mod_CFLAGS): ... this.
45251 (linux_mod_SOURCES): Renamed to ...
45252 (_linux_mod_SOURCES): ... this.
45253 (linux_mod_CFLAGS): Renamed to ...
45254 (_linux_mod_CFLAGS): ... this.
45255 (normal_mod_SOURCES): New variable.
45256 (normal_mod_CFLAGS): Likewise.
45257 (normal_mod_ASFLAGS): Likewise.
45258
452592003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
45260
45261 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
45262 possible.
45263
fe6b695a 45264 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 45265 recursively.
45266 (pupa_dl_unref): Unrefer depending modules recursively.
45267 Don't call pupa_dl_unload implicitly, because PUPA can crash if
45268 a module is unloaded before one depending on that module is
45269 unloaded.
45270 (pupa_dl_unload): Unload depending modules explicitly,
45271 if possible.
45272
c04da074 452732003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
45274
45275 * include/pupa/i386/pc/linux.h: New file.
45276 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 45277
c04da074 45278 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
45279 Removed.
45280 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
45281 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
45282 of PUPA_CHAINLOADER_BOOT_SECTOR.
45283
45284 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
45285 (pupa_linux_prot_size): New variable.
45286 (pupa_linux_tmp_addr): Likewise.
45287 (pupa_linux_real_addr): Likewise.
45288 (pupa_linux_boot_zimage): New function.
45289 (pupa_linux_boot_bzimage): Likewise.
45290
45291 * kern/i386/pc/init.c (struct mem_region): New structure.
45292 (MAX_REGIONS): New macro.
45293 (mem_regions): New variable.
45294 (num_regions): Likewise.
45295 (pupa_os_area_addr): Likewise.
45296 (pupa_os_area_size): Likewise.
45297 (pupa_lower_mem): Likewise.
45298 (pupa_upper_mem): Likewise.
45299 (add_mem_region): New function.
45300 (compact_mem_regions): Likewise.
45301 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
45302 the size of the conventional memory and that of so-called upper
45303 memory (before the first memory hole).
45304 Instead of adding each found region to free memory, use
45305 add_mem_region and add them after removing overlaps.
45306 Also, add only 1/4 of the upper memory to free memory. The rest
45307 is used for loading OS images. Maybe this is ad hoc, but this
45308 makes it much easier to relocate OS images when booting.
45309
45310 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
45311 (pupa_enter_rescue_mode): Don't register initrd and module.
45312
45313 * kern/mm.c: Include pupa/dl.h.
45314
45315 * kern/main.c: Include pupa/file.h and pupa/device.h.
45316
45317 * kern/loader.c (pupa_loader_load_module_func): Removed.
45318 (pupa_loader_load_module): Likewise.
45319
45320 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
45321 ``.o''.
45322
45323 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
45324 (pupa_linux_tmp_addr): Likewise.
45325 (pupa_linux_real_addr): Likewise.
45326 (pupa_linux_boot_zimage): Likewise.
45327 (pupa_linux_boot_bzimage): Likewise.
45328
45329 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
45330 (pupa_upper_mem): Likewise.
45331 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
45332 module is too dangerous.
45333
45334 * include/pupa/loader.h (pupa_os_area_addr): Declared.
45335 (pupa_os_area_size): Likewise.
45336 (pupa_loader_set): Remove the first argument. Loader doesn't
45337 manage modules or initrd any longer.
45338 (pupa_loader_load_module): Removed.
45339
45340 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
45341 (linux_mod_SOURCES): New variable.
45342 (linux_mod_CFLAGS): Likewise.
45343
a13f9237 453442003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
45345
45346 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
45347 the length of a blocklist correctly.
45348
45349 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
45350 Use ioctl only if the OS file is a block device.
45351 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
45352 not very useful for normal files.
45353
45354 * kern/main.c (pupa_set_root_dev): New function.
45355 (pupa_load_normal_mode): Likewise.
45356 (pupa_main): Call those above.
45357
45358 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
45359 pupa_uint16_t.
45360
45361 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
45362
a5ffe966 453632003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45364
45365 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
45366 (setup): Configure the installed partition information and the
45367 dl prefix.
45368
45369 * loader/i386/pc/chainloader.c (my_mod): New variable.
45370 (pupa_chainloader_unload): New function.
45371 (pupa_rescue_cmd_chainloader): Refer itself.
45372 (PUPA_MOD_INIT): Save its own module in MY_MOD.
45373
45374 * kern/i386/pc/startup.S (install_partition): Removed.
45375 (version_string): Likewise.
45376 (config_file): Likewise.
45377 (pupa_install_dos_part): New variable.
45378 (pupa_install_bsd_part): Likewise.
45379 (pupa_prefix): Likewise.
45380 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
45381
45382 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
45383 and pupa/misc.h.
45384 (make_install_device): New function.
45385 (pupa_machine_init): Set the dl prefix.
45386
45387 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
45388 (buf): Renamed to ...
45389 (linebuf): ... this.
45390 (pupa_rescue_cmd_prefix): New function.
45391 (pupa_rescue_cmd_insmod): Likewise.
45392 (pupa_rescue_cmd_rmmod): Likewise.
45393 (pupa_rescue_cmd_lsmod): Likewise.
45394 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
45395 rmmod and lsmod.
45396
45397 * kern/mm.c (pupa_memalign): If failed even after invalidating
45398 disk caches, unload unneeded modules and retry.
45399
45400 * kern/misc.c (pupa_memmove): New function.
45401 (pupa_memcpy): Removed.
45402 (pupa_strcpy): New function.
45403 (pupa_itoa): Made static.
45404
45405 * kern/dl.c (pupa_dl_iterate): New function.
45406 (pupa_dl_ref): Likewise.
45407 (pupa_dl_unref): Likewise.
45408 (pupa_dl_unload): Return if succeeded or not.
45409 (pupa_dl_unload_unneeded): New function.
45410 (pupa_dl_unload_all): Likewise.
45411 (pupa_dl_init): Renamed to ...
45412 (pupa_dl_set_prefix): ... this.
45413 (pupa_dl_get_prefix): New function.
45414
45415 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
45416 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
45417 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
45418 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
45419 (pupa_install_dos_part): Declared.
45420 (pupa_install_bsd_part): Likewise.
45421 (pupa_prefix): Likewise.
45422 (pupa_boot_drive): Likewise.
45423
45424 * include/pupa/types.h: Fix a typo.
45425
45426 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
45427 pupa_memmove.
45428 (pupa_memmove): Declared.
45429 (pupa_strcpy): Likewise.
45430
45431 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
45432 pupa_mod_init takes one argument, its own module.
45433 (pupa_dl_unload_unneeded): Declared.
45434 (pupa_dl_unload_all): Likewise.
45435 (pupa_dl_ref): Likewise.
45436 (pupa_dl_unref): Likewise.
45437 (pupa_dl_iterate): Likewise.
45438 (pupa_dl_init): Renamed to ...
45439 (pupa_dl_set_prefix): ... this.
45440 (pupa_dl_get_prefix): Declared.
45441
45442 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 45443 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 45444 unloaded.
45445 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
45446 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
45447
45448 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
45449 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
45450
012d7999 454512003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
45452
45453 * util/i386/pc/pupa-setup.c (setup): Define the internal
45454 function find_first_partition_start at the top level, because GCC
45455 3.0.x cannot compile internal functions in deeper scopes
45456 correctly.
45457 (find_root_device): Use lstat instead of stat.
45458 Don't follow symbolic links.
45459 Fix the path-constructing code.
45460
45461 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
45462 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
45463 by a BLKGETSIZE ioctl first, because block devices don't fill
45464 the member st_mode of the structure stat on Linux.
45465 [__linux__] (linux_find_partition): Use a temporary buffer
45466 REAL_DEV for the working space. Copy it to DEV before returning.
45467 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
45468 buffer cache consistent.
45469 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
45470 strncmp. The previous value was merely wrong.
45471 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
45472
45473 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
45474 FAT size is 12. The previous value was merely wrong.
45475
45476 * kern/main.c (pupa_main): Don't split the starting message from
45477 newlines.
45478
45479 * kern/term.c (pupa_putchar): Put CR after LF instead of before
45480 LF, because BIOS goes crazy about character attributes in this
45481 case.
45482
1cc73a62 454832003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
45484
45485 * include/i386/pc/util/biosdisk.h: New file.
45486 * util/i386/pc/biosdisk.c: Likewise.
45487 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 45488
1cc73a62 45489 * Makefile.in (INCLUDE_DISTFILES): Added
45490 include/pupa/i386/pc/util/biosdisk.h.
45491 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
45492 directory util/i386/pc.
45493 (install-local): Added a rule for sbin_UTILITIES.
45494 (uninstall): Likewise.
45495
45496 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
45497
45498 * util/misc.c (xrealloc): New function.
45499 (pupa_malloc): Likewise.
45500 (pupa_free): Likewise.
45501 (pupa_realloc): Likewise.
45502 (pupa_stop): Likewise.
45503 (pupa_putchar): Likewise.
45504
45505 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
45506
45507 * include/pupa/util/misc.h (xrealloc): Declared.
45508
45509 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
45510 macro.
45511 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
45512 (PUPA_BOOT_MACHINE_BPB_END): ... this.
45513
45514 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
45515 [PUPA_UTIL] (pupa_fat_fini): Likewise.
45516
45517 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
45518 way should be implemented.
45519 [PUPA_UTIL] (pupa_fat_fini): Likewise.
45520
45521 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
45522 the size of NAME for safety.
45523 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
45524 0x88.
45525
45526 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
45527 (pupa_setup_SOURCES): Likewise.
45528
45529 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
45530
08b70fe8 455312002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
45532
45533 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
45534 bunch of pushl's from pusha, because this destroys the return
45535 value.
45536
62ddcc8f 455372002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
45538
45539 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
45540 This means that any missing prototypes could be fatal. Also, you
45541 must take care when writing assembly code. See the comments at
45542 the beginning of startup.S, for more details.
f19dbdb7 45543
62ddcc8f 45544 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
45545 compilation mechanism.
45546 (pupa_chainloader_real_boot): Likewise.
45547 (pupa_biosdisk_rw_int13_extensions): Likewise.
45548 (pupa_biosdisk_rw_standard): Likewise.
45549 (pupa_biosdisk_check_int13_extensions): Likewise.
45550 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
45551 (pupa_biosdisk_get_diskinfo_standard): Likewise.
45552 (pupa_get_memsize): Likewise.
45553 (pupa_get_mmap_entry): Likewise.
45554 (pupa_console_putchar): Likewise.
45555 (pupa_console_setcursor): Likewise.
45556 (pupa_getrtsecs): Use pushl instead of push.
45557
45558 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
45559 memory instead of the stack for a mmap entry, because some
45560 BIOSes may ignore the maximum size and overflow.
45561
45562 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
45563
45564 * genmk.rb (PModule#rule): Compile automatically generated
45565 sources with module-specific CFLAGS as well as other sources.
45566
9962ed99 455672002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
45568
45569 * configure.ac: Check ld.
45570 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
45571 respectively, before checking endianness and sizes.
45572
45573 * Makefile.in (LD): New variable.
f19dbdb7 45574
abdfc3c5 455752002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
45576
45577 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
45578
6a161fa9 455792002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
45580
45581 * Changelog: New file.
45582