]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* util/grub-script-check.c (main): Fix a syntax error message which was
[grub2.git] / ChangeLog
CommitLineData
09963c76
VS
12012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * util/grub-script-check.c (main): Fix a syntax error message which was
4 unclear.
5
a50514a8
VS
62012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
9
4650daec
VS
102012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11
12 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
13 messages.
14
152012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
16
17 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
18 without argument.
19 * util/grub-mount.c (options): Likewise.
20
bbc5a342
VS
212012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
22
23 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
24
ef292a87
VS
252012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
26
27 * grub-core/net/http.c: Add TRANSLATORS comments.
28 * grub-core/normal/cmdline.c: Likewise.
29 * grub-core/normal/misc.c: Likewise.
30 * grub-core/partmap/msdos.c: Likewise.
31 * grub-core/parttool/msdospart.c: Likewise.
32 * grub-core/script/execute.c: Likewise.
33 * grub-core/script/main.c: Likewise.
34 * grub-core/term/terminfo.c: Likewise.
35 * grub-core/video/bitmap.c: Likewise.
36 * util/grub-install.in: Likewise.
37 * util/grub-mkimage.c: Likewise.
38 * util/grub-mklayout.c: Likewise.
39 * util/grub-setup.c: Likewise.
40
0fc19bd0
VS
412012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
42
43 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
44 with similar messages in grub-fstest.
45
d95862ef
VS
462012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
47
48 * util/grub-install.in: Unify "option requires an argument" message
49 with similar messages in other files.
50 * util/grub-mkconfig.in: Likewise.
51
b7308f90
VS
522012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
53
54 * util/grub-set-default.in: Replace printf with gettext_printf (the
55 string in in question is already translated from grub-reboot)
56
559dc587
VS
572012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
58
59 * configure.ac: Bump up the version to beta1.
60
1a11761f
VS
612012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
62
63 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
64 case when min_align = 0.
65
24539abd
VS
662012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
67
68 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
69 and fix a case when line_start overflows.
70
32bd735b
VS
712012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
72
73 * util/grub-reboot.in (usage): Mention id posibility.
74 * util/grub-set-default.in (usage): Likewise.
75
1a2fd1e6
VS
762012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
77
78 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
79 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
80 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
81 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
82 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
83 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
84 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
85
90eeab76
VS
862012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
87
88 * grub-core/commands/menuentry.c (options): Remove
89 GRUB_ARG_OPTION_REPEATABLE.
90 Reported by: Andreas Vogel
91
5ad1be82
AV
922012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
93
94 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
95
cb055286
HE
962012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
97
98 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
99 error.
100
93b1cd79
VS
1012012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
102
103 Use sort -V by the idea of Georgi Georgiev.
104
105 * util/grub-mkconfig_lib.in (version_sort): New function.
106 (version_test_numeric): Use version_sort.
107
0cdc126c
VS
1082012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
109
110 Use submenus in grub-mkconfig.
111
112 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
113 * util/grub-mkconfig_lib.in (grub_quote): New function.
114 (gettext_printf): Use gettext and not gettext_quoted to fix several
115 messages.
116 * util/grub.d/10_hurd.in: Use submenus.
117 * util/grub.d/10_kfreebsd.in: Likewise.
118 * util/grub.d/10_linux.in: Likewise.
119 * util/grub.d/10_netbsd.in: Likewise.
120 * util/grub.d/20_linux_xen.in: Likewise.
121 * util/grub.d/30_os-prober.in: Likewise.
122 * util/grub.d/10_illumos.in: Add missing quoting.
123 * util/grub.d/10_windows.in: Likewise.
124
d9bef9bc
VS
1252012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
126
127 Fix menu title instability bug.
128
129 * grub-core/commands/menuentry.c (options): New option --id.
130 (grub_normal_add_menu_entry): New argument id. All users updated.
131 (grub_cmd_menuentry): Handle --id.
132 (grub_menu_init): Accept unknown arguments.
133 * grub-core/normal/main.c (features): Add feature_menuentry_id and
134 feature_menuentry_options.
135 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
136 saved_entry.
137 (get_entry_number): Match with id as well.
138 * include/grub/menu.h (grub_menu_entry): New member id.
139 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
140 * util/grub.d/00_header.in: Define menuentry_id_option.
141 * util/grub.d/10_hurd.in: Define id.
142 * util/grub.d/10_illumos.in: Likewise.
143 * util/grub.d/10_kfreebsd.in: Likewise.
144 * util/grub.d/10_linux.in: Likewise.
145 * util/grub.d/10_netbsd.in: Likewise.
146 * util/grub.d/10_windows.in: Likewise.
147 * util/grub.d/20_linux_xen.in: Likewise.
148 * util/grub.d/30_os-prober.in: Likewise.
149
1502012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
151
152 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
153 "scope" with "body".
154
7c8d0ce7
VS
1552012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
156
157 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
158 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
159 prot_size and prot_file_size.
160
49de079b
VS
1612012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
164 All users updated. If easily=1 require raid-5/-6 to be full.
165 (is_node_readable): Likewise.
166 (scan_devices): Scan incomplete but readable LVs at the end.
167 (grub_diskfilter_memberlist): Pull missing devices.
168 (insert_array): Skip scanning until device is complete or scan is
169 done otherwise.
170 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
171 check.
172 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
173 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
174
aff05d45
MG
1752012-03-03 Matthew Garrett <mjg@redhat.com>
1762012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
177
178 Avoid EFI boot services when loading Linux.
179
180 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
181 avoid_efi_bootservices. All users updated.
182 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
183 argument avoid_efi_bootservices. All users updated.
184 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
185 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
186 align, min_align, relocatable, prefered_address. All users updated.
187 Allocate avoiding boot services if kernel is relocatable.
188 (grub_cmd_linux): Check if kernel is relocatable.
189 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
190 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
191 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
192 avoid_efi_boot_services.
193 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
194 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
195 (linux_kernel_params): Likewise.
196
3935dde2
MG
1972012-03-03 Matthew Garrett <mjg@redhat.com>
1982012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
199
200 Use EDID on EFI.
201
202 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
203 datasize_out.
204 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
205 modes. Set gop_handle.
206 (grub_video_gop_get_edid): New function.
207 (grub_gop_get_preferred_mode): Likewise.
208 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
209 (grub_video_efi_gop_adapter): Set .get_edid.
210 * include/grub/efi/edid.h: New file.
211 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
212
32107ec0
VS
2132012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
214
215 * util/grub-install.in: Load efivars unconditionally.
216
e70a2c50
VS
2172012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
218
219 * po/Rules-piglatin: Change suffix from .po-update-en to
220 .po-update-en-piglatin.
221
8f9cace1
VS
2222012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
223
224 Add a pig farm.
225
226 * po/piglatin.sed: New file.
227 * po/en@piglatin.header: Likewise.
228 * po/Rules-piglatin: Likewise.
229 * po/README: Add en@piglatin to autogenerated languages.
230
8f95d002
VS
2312012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
232
233 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
234 "Command for ...".
235 * grub-core/commands/hdparm.c (options): Use "Display" rather than
236 "Check" since we don't check anything.
237 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
238 is 64-bit one.
239 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
240 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
241 (grub_md_sha512_real): Likewise.
242
805a8dcc
VS
2432012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
244
245 * grub-core/commands/gptsync.c: Fix typographic quoting.
246 * grub-core/commands/ieee1275/suspend.c: Likewise.
247 * grub-core/commands/parttool.c: Likewise.
248 * grub-core/commands/search_wrap.c: Likewise.
249 * grub-core/commands/videoinfo.c: Likewise.
250 * grub-core/gfxmenu/gui_label.c: Likewise.
251 * grub-core/hello/hello.c: Likewise.
252 * grub-core/kern/emu/main.c: Likewise.
253 * grub-core/net/net.c: Likewise.
254 * grub-core/normal/menu.c: Likewise.
255 * grub-core/normal/menu_text.c: Likewise.
256 * grub-core/normal/misc.c: Likewise.
257 * util/grub-editenv.c: Likewise.
258 * util/grub-install.in: Likewise.
259 * util/grub-kbdcomp.in: Likewise.
260 * util/grub-mkconfig.in: Likewise.
261 * util/grub-mknetdir.in: Likewise.
262 * util/grub-mkrescue.in: Likewise.
263 * util/grub-mkstandalone.in: Likewise.
264 * util/grub-reboot.in: Likewise.
265 * util/grub-set-default.in: Likewise.
266 * util/grub-setup.c: Likewise.
267 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
268
40211ab8
VS
2692012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
270
271 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
272 * grub-core/commands/keystatus.c: Likewise.
273 * grub-core/commands/loadenv.c: Likewise.
274 * grub-core/commands/probe.c: Likewise.
275 * grub-core/commands/regexp.c: Likewise.
276 * grub-core/commands/true.c: Likewise.
277 * grub-core/commands/videoinfo.c: Likewise.
278 * grub-core/disk/cryptodisk.c: Likewise.
279 * grub-core/disk/ldm.c: Likewise.
280 * grub-core/disk/loopback.c: Likewise.
281 * grub-core/disk/luks.c: Likewise.
282 * grub-core/fs/zfs/zfsinfo.c: Likewise.
283 * grub-core/kern/disk.c: Likewise.
284 * grub-core/kern/emu/hostdisk.c: Likewise.
285
0c7d99c7
VS
2862012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
287
288 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
289 * util/grub-install.in: Add missing quote in the comment.
290
e7d2559b
VS
2912012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
292
293 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
294 * grub-core/commands/lsmmap.c: Likewise.
295 * grub-core/commands/minicmd.c: Likewise.
296 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
297 * grub-core/commands/regexp.c: Likewise.
298 * grub-core/gdb/gdb.c: Likewise.
299 * grub-core/term/gfxterm.c: Likewise.
300 * util/grub-mkconfig.in: Likewise.
301 * util/grub-mkfont.c: Likewise.
302 * util/grub-mklayout.c: Likewise.
303 * util/grub-mknetdir.in: Likewise.
304 * util/grub-mkrescue.in: Likewise.
305 * util/grub.d/30_os-prober.in: Likewise.
306
49ce9e50
VS
3072012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
308
309 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
310 with "Direct color" and "Packed" with "Packed pixel".
311 (grub_cmd_videoinfo): Simplify legend.
312
e4b791fa
VS
3132012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
314
315 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
316 absolutely unclear error message.
317
fd1265cb
VS
3182012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * util/grub-mkstandalone.in: Remove confusing leftover print.
321
8822a8a0
VS
3222012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
323
324 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
325 comments.
326 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
327 (GRUB_MOD_INIT): Likewise.
328 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
329 VGA mode.
330 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
331 comments.
332 * util/grub-install.in (usage): Likewise.
333 Spell ID in whole letters.
334 Add missing ending dot.
335 Quote variables.
336 * util/grub-reboot.in: Fix capitalisation.
337 * util/grub-set-default.in: Likewise.
338
937fd0cc
VS
3392012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
340
341 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
342 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
343 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
344 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
345 Disable -Werror for -Wdeprecated-declarations.
346 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
347 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
348 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
349 (grub_util_get_grub_dev): Make luks handling dependent on
350 HAVE_DEVICE_MAPPER and not __linux__.
351 (get_win32_path): Fix format security.
352 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
353 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
354 Don't try grub_find_zpool_from_dir.
355 (grub_make_system_path_relative_to_its_root) [!__linux__]:
356 #ifdef-out paresdir.
357
1bab1ae3
VS
3582012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
359
360 * util/grub-pe2elf.c (usage): Add missing noreturn.
361 (write_section_data): Rename name to shname to avoid shadowing.
362 (write_symbol_table): Rename name to symname to avoid shadowing.
363 Fix write_reloc_section call.
364
ef023e42
VS
3652012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
366
367 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
368 to ensure that it's after the last byte of .text.
369
48afcb75
VS
3702012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
371
372 * util/ieee1275/ofpath.c (my_isdigit): New function.
373 (trailing_digits): Use my_isdigit.
374 (strip_trailing_digits): Likewise.
375
88d51eff
VS
3762012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
377
378 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
379 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
380
17edc2ba
VS
3812012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
382
383 * grub-core/kern/i386/pc/startup.S: Define __start.
384
ad5518d7
VS
3852012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
386
387 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
388 strip already transforms he format.
389
9e95e1bf
VS
3902012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
391
392 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
393
9cc3ee5c
VS
3942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
395
396 * util/grub-install.in: Add missing gettext init.
397 * util/grub-kbdcomp.in: Likewise.
398 * util/grub-mkconfig.in: Likewise.
399 * util/grub-mknetdir.in: Likewise.
400 * util/grub-mkrescue.in: Likewise.
401 * util/grub-mkstandalone.in: Likewise.
402 * util/grub-reboot.in: Likewise.
403 * util/grub-set-default.in: Likewise.
404 * util/grub.d/00_header.in: Likewise.
405 * util/grub.d/10_hurd.in: Likewise.
406 * util/grub.d/10_windows.in: Likewise.
407 * util/grub.d/30_os-prober.in: Likewise.
408 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
409
49e08a06
VS
4102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
411
412 * po/Rules-swiss: Fix header comment.
413
3809cb41
AV
4142012-02-29 Andreas Vogel <anvoit>
415
416 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
417 resulted in leak of arguments.
418
fa6ec573
VS
4192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
420
421 * grub-core/boot/i386/pc/startup_raw.S: Use separate
422 reed_solomon_size const definition instead of computing it since
423 Apple assembler doesn't support the later.
424
22899b9c
VS
4252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
426
427 * gentpl.py (kernel): Rewrite Apple part.
428
a132afc3
VS
4292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
430
431 * include/grub/kernel.h (FOR_MODULES): Check module magic.
432
9d742bd4
VS
4332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
434
435 * util/grub-mkimagexx.c (locate_sections): Support non-standard
436 ELF section gap.
437 (load_image): Likewise.
438
f04a9a21
VS
4392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
440
441 * configure.ac: Fix a typo in previous commit.
442
46cf439c
VS
4432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
444
445 Don't add -Wl,-N on Apple platform.
446
447 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
448 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
449
c4c48c54
VS
4502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
451
452 * grub-core/Makefile.core.def (lzma_decompress): Use
453 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
454
31a12124
VS
4552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
456
457 * grub-core/genmod.sh.in: Rewrite the Apple part.
458
4f3aa1af
VS
4592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
460
461 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
462 comparison.
463
7bd8b0c7
VS
4642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
465
466 * acinclude.m4 (grub_CHECK_PIC): New test.
467 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
468
97304d7c
VS
4692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
470
471 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
472 to avoid the warning.
473
fb883812
VS
4742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
475
476 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
477 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
478 after. All users updated.
479
a121c964
VS
4802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
481
482 Use the common size routine in hostfs so we can read disks as well.
483
484 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
485 (grub_util_get_fd_size): ... this. Return size in bytes.
486 All users updated.
487 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
488 grub_util_get_fd_size.
489
c66d6410
VS
4902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
491
492 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
493 Add blocksize retrieval.
494
dfc8aeb0
VS
4952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
496
497 * configure.ac: Restore CFLAGS after efiemu check.
498
403e25a5
VS
4992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
500
501 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
502 Apple bug.
503
382775d1
VS
5042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
505
506 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
507
6fd4e6e4
VS
5082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
509
510 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
511 (grub_cmd_halt): Likewise.
512
bea359d6
VS
5132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
514
515 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
516 for local arithmetics.
517 Break %sp init into 2 instructions.
518 Add 0 byte at the end.
519
32eb6ee1
VS
5202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
521
522 * grub-core/disk/diskfilter.c (read_segment): Initialise err
523 before loops.
524
e8377389
VS
5252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
526
527 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
528 for context.
529
8cb17de7
VS
5302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
531
532 * grub-core/disk/ldm.c (make_vg): Init part.name.
533 (grub_ldm_detect): Silence spurious warning.
534 (grub_util_is_ldm): Likewise.
535
595717e6
VS
5362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
537
538 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
539 sane value to avoid a spurious warning.
540
c4b7e588
VS
5412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
542
543 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
544 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
545
59824957
VS
5462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
547
548 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
549 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
550
70115b99
VS
5512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
552
553 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
554 hardcoding the relevant info.
555
56733740
VS
5562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
557
558 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
559 missing const qualifiers.
560 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
561
43481481
VS
5622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
563
564 * util/getroot.c [__APPLE__]: Add missing includes.
565 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
566
3cb38f01
VS
5672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
568
569 * util/grub-mkimage.c (generate_image): Silence spurious warning.
570
d9dbf11e
VS
5712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
572
573 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
574 avoid conflicts.
575
0c42a45d
VS
5762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
577
578 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
579
46c34eb0
VS
5802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
583 and grub_file_close call.
584
99ce1597
VS
5852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
586
587 Add LZSS Mach-O support (needed for new xnu kernelcache).
588
589 * grub-core/Makefile.core.def (xnu): Add file lzss.c
590 * grub-core/loader/lzss.c: New file.
591 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
592 on Mach-O open failure.
593 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
594 Don't free cmdsXX in uncompressedXX is set.
595 (grub_macho_file): Init new fields.
596 New argument is_64bit. All users updated.
597 Handle compressed. Error out if no suitable architecture is found.
598 Don't close file.
599 (grub_macho_open): New argument is_64bit. All users updated.
600 * grub-core/loader/macho32.c: Add defines for new fields.
601 * grub-core/loader/macho64.c: Likewise.
602 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
603 (grub_macho_parse): Handle compressed.
604 Defer actual processing if compressed.
605 (grub_macho_cmds_iterate): Decompress if compressed. New argument
606 "filename". All users updated.
607 (grub_macho_size): New argument "filename". All users updated.
608 (grub_macho_get_entry_point): Likewise.
609 (grub_macho_load): Handle compressed.
610 * include/grub/macho.h (grub_macho_lzss_header): New struct.
611 (GRUB_MACHO_LZSS_OFFSET): New define.
612 (grub_decompress_lzss): New proto.
613 * include/grub/machoload.h (grub_macho_file): New fields to handle
614 compressed.
615 (grub_macho_contains_macho64): Remove proto.
616 (grub_macho_contains_macho32): Likewise.
617 * util/grub.d/30_os-prober.in: Use kernel cache if available.
618
ebd17d6f
VS
6192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
620
621 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
622
2702b4e4
VS
6232012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
624
625 Fix make dist.
626
627 * Makefile.am (starfield_theme_files): New var.
628 (starfield_DATA): Use starfield_theme_files.
629 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
630 Add bootcheck-related files.
631 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
632 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
633 and font_char_metrics.txt.
634 * grub-core/Makefile.core.def (kernel): Update extra_dist.
635 (setjmp): Add lib/ia64/longjmp.S.
636 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
637 * po/POTFILES.in: Regenerate.
638 * po/Rules-swiss: use DISTFILES.common.extra2 and not
639 DISTFILES.common.extra1.
640 * util/devicemap.c: Removed.
641 * grub-core/lib/i386/relocator_backward.S: Likewise.
642 * util/import_gcry.py: Remove unused files. Add extra_dist for
643 ChangeLog.
644
cf1adfdf
VS
6452012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
646
647 * grub-core/gettext/gettext.c (grub_mofile_open): Call
648 grub_gettext_delete_list before changing grub_gettext_max to avoid
649 running out of array bounds.
650
6512012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
652
653 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
654 grub_vga_text_init/grub_vga_text_fini.
655
cf1adfdf 6562012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
657
658 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
659
541d92e9
VS
6602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
661
662 * configure.ac: Bump to 2.00~beta0.
663
7931dddf
VS
6642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
665
666 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
667 missing initialisation.
668
f1b16fa3
VS
6692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
670
671 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
672
83ddae23
VS
6732012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
674
675 Support v2 xnu boot arguments.
676
677 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
678 New argument fsbfreq_out.
679 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
680 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
681 be used.
682 * grub-core/loader/machoXX.c (grub_macho_load): New argument
683 darwin_version.
684 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
685 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
686 (grub_xnu_boot_params): Rename to ...
687 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
688 (grub_xnu_boot_params_v2): New struct.
689
dc693fe6
VS
6902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
691
692 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
693 zeroing of CRC field before computing CRC.
694
5a6e39c2
VS
6952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
696
697 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
698 Change order of allocations to decrease fragmentation.
699
6c21f5d7
VS
7002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
701
702 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
703
cfe456dc
CW
7042012-02-27 Colin Watson <cjwatson@ubuntu.com>
705
706 Use write-combining MTRR to speed up video with buggy BIOSes.
707
708 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
709 (cpuid): New define.
710 (rdmsr): Likewise.
711 (wrmsr): Likewise.
712 (mtrr_base): Likewise.
713 (mtrr_mask): Likewise.
714 (grub_vbe_enable_mtrr_entry): New function.
715 (grub_vbe_enable_mtrr): Likewise.
716 (grub_vbe_disable_mtrr): Likewise.
717 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
718 control off to BIOS.
719 (grub_video_vbe_init): Fill mtrr.
720 (grub_video_vbe_fini): Disable mtrr.
721 (grub_video_vbe_get_info_and_fini): Likewise.
722 (grub_video_vbe_setup): Enable mtrr.
723
e3c78337
CW
7242012-02-27 Colin Watson <cjwatson@ubuntu.com>
725
726 * include/grub/partition.h (grub_partition_map): Change prototype of
727 embed to take a maximum value for nsectors.
728 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
729 * include/grub/fs.h (grub_fs): Likewise.
730 * grub-core/partmap/msdos.c (embed_signatures): New array.
731 (pc_partition_map_embed): Check for and avoid sectors matching any
732 of the signatures in embed_signatures, up to max_nsectors.
733 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
734 returned sector map to max_nsectors.
735 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
736 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
737 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
738 * util/grub-setup.c (setup): Allow for the embedding area being
739 split into multiple blocklists. Tell dest_partmap->embed the
740 maximum number of sectors we care about.
741
7422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
743
744 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
745 Specify blocklist_install and reserver_first_sector for all fs.
746 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
747 blocklists.
748
984b973f
VS
7492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
750
751 * util/grub-install.in: Clarify strings.
752 Fix source dir check.
753
f122e0d6
RL
7542012-02-27 Richard Laager <rlaager@wiktel.com>
755
756 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
757 "zfs" and "fuse.zfs" as synonyms.
758
071114bb
VS
7592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
760
761 * configure.ac: Put platform and target_cpu substitutions back since
762 they are used for directories.
763
817e6abc
RL
7642012-02-27 Richard Laager <rlaager@wiktel.com>
7652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
766
767 * util/grub.d/10_linux.in: Add ZFS-related arguments.
768 * util/grub.d/20_linux_xen.in: Likewise.
769
897b7419
RL
7702012-02-27 Richard Laager <rlaager@wiktel.com>
771
772 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
773 with full paths.
774
a414bd15
RL
7752012-02-27 Richard Laager <rlaager@wiktel.com>
776
777 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
778 unescape.
779
30ac48c4
VS
7802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
781
782 Don't use insecure popen in getroot.
783
784 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
785 (exec_pipe): ... here.
786 (find_root_devices_from_poolname): Use exec_pipe.
787
53f13848
VS
7882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
789
790 Remove platform and target_cpu replacement.
791
792 * configure.ac: Remove platform and target_cpu substitutions.
793 * tests/util/grub-shell.in: Use modinfo.
794 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
795 explicitly.
796
90cb2803
VS
7972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
798
799 Autodetect platform in grub-install but allow override.
800
801 * util/grub-install.in: Autodetect platform. Support --target and
802 --directory. Read platform from modinfo.sh.
803
b9136427
VS
8042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
805
806 Support btrfs multi-volume probe.
807
808 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
809 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
810 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
811 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
812 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
813 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
814 grub_find_root_devices_from_btrfs if on btrfs.
815
c36e5cd1
VS
8162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
817
818 Remove any awareness of *.c util files about target.
819
820 * Makefile.util.def (grub-setup): Split to ...
821 (grub-bios-setup): ... and this.
822 (grub-sparc64-setup): ... and this.
823 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
824 * docs/man/grub-setup.h2m: Split into ...
825 * docs/man/grub-sparc64-setup.h2m: ... this.
826 * docs/man/grub-bios-setup.h2m: ... and this.
827 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
828 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
829 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
830 (grub_target_addr_t): Remove.
831 (grub_target_size_t): Remove.
832 (grub_target_ssize_t): Remove.
833 * util/grub-install.in: Use new grub-*-setup.
834 * util/grub-mkimagexx.c (Elf_Word): New define.
835 (Elf_Half): Likewise.
836 (Elf_Section): Likewise.
837 (ELF_ST_TYPE): Likewise.
838 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
839 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
840
584b2f8a
VS
8412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
842
843 Replace grub_target_addr with more appropriate types.
844
845 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
846 grub_target_addr with grub_addr.
847 * grub-core/commands/iorw.c (grub_cmd_read): Replace
848 grub_target_addr with grub_port.
849 (grub_cmd_write): Likewise.
850 * grub-core/commands/memrw.c (grub_cmd_read): Replace
851 grub_target_addr with grub_addr.
852 (grub_cmd_write): Likewise.
853 * grub-core/video/efi_uga.c (find_line_len): Likewise.
854
5a0dc6fb
VS
8552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
856
857 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
858 const qualifier for vendor_guid.
859
786aff6e
VS
8602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
861
862 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
863 const qualifier.
864 (efiemu_memequal): Likewise.
865 (find_variable): Likewise.
866
49017b17
VS
8672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
868
869 Fix missing console prototype on qemu-mips.
870
871 * include/grub/mips/qemu_mips/console.h: New file.
872
c5988629
MG
8732012-02-27 Matthew Garrett <mjg@redhat.com>
8742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
875
876 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
877 * include/grub/efi/efi.h: Likewise.
878 * include/grub/efi/api.h: Add guid for EFI-specified variables.
879 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
880 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
881 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
882 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
883 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
884
e33f8d69
MG
8852012-02-27 Matthew Garrett <mjg@redhat.com>
886
887 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
888
fb312cd9
VS
8892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
890
891 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
892 error.
893
7134247c
VS
8942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
895
896 * configure.ac: Remove inappropriate use of program_transform_name
897 on grubdir and bootdir but allow explicit specification of those
898 variables.
899
6a313124
VS
9002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
901
902 * util/grub-mknetdir.in (grub_prefix): Removed.
903 (subdir): Use @bootdirname@ and @grubdirname@.
904
2311c5ca
VS
9052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
906
907 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
908
7d5d60f7
VS
9092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
910
911 * po/POTFILES.in: Regenerated.
912
8151bc82
VS
9132012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
914
915 Remove improper use of program_transform_name on pkglibrootdir.
916
917 * configure.ac (pkglibrootdir): Removed.
918 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
919 * util/grub-mkimage.c: Likewise.
920
b4a6a533
VS
9212012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
922
923 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
924 warning.
925
668f304f
VS
9262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
927
928 * util/grub-install.in: Use file identifier if no UUID is available
929 or user explicitly prompted for it.
930
665f2341
NP
9312012-02-27 Navdeep Parhar <nparhar@gmail.com>
932
933 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
934 (freebsd_get_zfs): New function.
935 (grub_freebsd_boot): Pass zfs UUID.
936 (grub_cmd_freebsd): Set zfs UUID.
937
8151bc82 9382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
939
940 * conf/Makefile.common (platformdir): Base on pkglibdir and not
941 pkglibrootdir.
942
e4c498a1
MG
9432012-02-27 Mike Gilbert <floppym@gentoo.org>
944
945 Add configure flag to control libzfs integration.
946
947 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
948
1e9a9a3f
VS
9492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
950
951 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
952 device.
953 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
954 small devices.
955
036985b8
VS
9562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
957
958 Remove grub_{modname}_init and grub_{modname}_fini. They should never
959 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
960 be used on non-modules.
961
962 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
963 Rename to grub_boot_init.
964 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
965 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
966 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
967 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
968 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
969 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
970 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
971 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
972 includes.
973 (grub_machine_init): Remove empty inits.
974 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
975 includes.
976 (grub_machine_init): Remove empty inits.
977 * grub-core/term/arc/console.c: Remove explicit proto.
978 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
979 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
980 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
981 grub_at_keyboard_fini.
982 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
983 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
984 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
985 grub_gfxterm_fini.
986 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
987 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
988 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
989 grub_vgatext_fini.
990 * grub-core/term/ieee1275/console.c: Remove explicit proto.
991 * grub-core/term/serial.c (GRUB_MOD_INIT)
992 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
993 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
994 grub_serial_fini.
995 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
996 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
997 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
998 grub_terminfo_fini.
999 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
1000 (GRUB_MOD_FINI): Likewise.
1001 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
1002 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
1003 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1004 grub_video_radeon_fuloong2e_fini.
1005 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
1006 [LOONGSON]: Rename to grub_video_sis315pro_init.
1007 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1008 grub_video_sis315pro_fini.
1009 * grub-core/video/sm712.c (GRUB_MOD_INIT)
1010 [LOONGSON]: Rename to grub_video_sm712_init.
1011 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1012 grub_video_sm712_fini.
1013 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
1014 (grub_at_keyboard_fini): Likewise.
1015 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
1016 Don't declare grub_{modname}_init.
1017 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
1018 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
1019 New proto.
1020 (grub_keylayouts_fini) [!EMU]: Likewise.
1021 * include/grub/serial.h (grub_serial_init) [!EMU]:
1022 New proto.
1023 (grub_serial_fini) [!EMU]: Likewise.
1024 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
1025 New proto.
1026 (grub_terminfo_fini) [!EMU]: Likewise.
1027 * include/grub/video.h (grub_font_init) [!EMU]:
1028 New proto.
1029 (grub_font_fini) [!EMU]: Likewise.
1030 (grub_gfxterm_init) [!EMU]: Likewise.
1031 (grub_gfxterm_fini) [!EMU]: Likewise.
1032 (grub_video_sm712_init) [!EMU]: Likewise.
1033 (grub_video_sm712_fini) [!EMU]: Likewise.
1034 (grub_video_sis315pro_init) [!EMU]: Likewise.
1035 (grub_video_sis315pro_fini) [!EMU]: Likewise.
1036 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
1037 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
1038
d5534665
VS
10392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 Make nand a prefix for nand devices.
1042
1043 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
1044
10133b5f
VS
10452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1046
1047 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
1048 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
1049
8e307a62
VS
10502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1051
1052 * include/grub/env.h (grub_env_find): Remove prototype.
1053 * grub-core/kern/env.c (grub_env_find): Make static.
1054 (grub_env_set): Remove useless set.
1055
a4c65f34
VS
10562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 * grub-core/kern/i386/realmode.S: Remove useless align.
1059
d87893d5
VS
10602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1061
1062 * include/grub/dl.h (grub_dl_load_file): Don't export.
1063
50159add
VS
10642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
1067 grub_dprintf.
1068
b2582b84
VS
10692012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1070
1071 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
1072 grub_errors.
1073 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
1074 not reloading whole superblock but only the part which is really needed.
1075 Remove useless grub_errors.
1076 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
1077 grub_errors.
1078
e2a83395
VS
10792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1080
1081 Don't export grub_get_rtc.
1082
1083 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
1084 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
1085
e7d2a906
VS
10862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1087
1088 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
1089
6cf1363b
VS
10902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 1093 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 1094
eece3349
VS
10952012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 Remove prio_list.
1098
1099 * include/grub/list.h (grub_prio_list): Removed.
1100 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
1101 GRUB_COMMAND_PRIO_MASK.
1102 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
1103 GRUB_COMMAND_FLAG_ACTIVE.
1104 (grub_prio_list_insert): Removed.
1105 (grub_prio_list_remove): Likewise.
1106 (GRUB_AS_PRIO_LIST): Likewise.
1107 (GRUB_AS_PRIO_LIST_P): Likewise.
1108 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
1109 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
1110 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
1111 * grub-core/kern/command.c (grub_register_command_prio): Inline
1112 the prio_list code.
1113 (grub_unregister_command): Likewise.
1114
94f064b4
VS
11152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 Fix interrupt mixup from previous commit.
1118
1119 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
1120 (grub_realidt): New var.
1121 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
1122 Load idt.
1123 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
1124 New declaration.
1125 (grub_relocator16_boot): Set grub_relocator16_idt.
1126 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
1127 (LOCAL(realidt)): ... this.
1128 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
1129 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
1130 (grub_realidt): New variable.
1131
27317084
VS
11322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
1135 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
1136 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
1137 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
1138 Gettextize.
1139 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
1140 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
1141 * po/POTFILES.in: Regenerate.
1142
47b40053
VS
11432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
1146 errors.
1147
2b343101
VS
11482012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
1151 \0.
1152 (add_length): Likewise.
1153
ff27c3dd
LK
11542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11552012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
1156
1157 GDB serial and backtrace support.
1158
1159 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
1160 (prot_to_real): Likewise.
1161 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
1162 * grub-core/Makefile.core.def (backtrace): New module.
1163 (gdb): Likewise.
1164 * grub-core/gdb/cstub.c: New file.
1165 * grub-core/gdb/gdb.c: Likewise.
1166 * grub-core/gdb/i386/idt.c: Likewise.
1167 * grub-core/gdb/i386/machdep.S: Likewise.
1168 * grub-core/gdb/i386/signal.c: Likewise.
1169 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 1170 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
1171 * include/grub/backtrace.h: Likewise.
1172 * include/grub/gdb.h: Likewise.
1173 * include/grub/i386/gdb.h: Likewise.
1174
11752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
1176
1177 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
1178 New function.
1179 (add_length): Likewise.
1180 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
1181 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
1182 proto.
1183 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
1184 __argp_get_display_len.
1185
ff27c3dd 11862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
1187
1188 $"..." support in scripts.
1189
1190 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
1191 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
1192 * grub-core/script/yylex.l: Likewise.
1193 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
1194 value.
1195
ff27c3dd 11962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
1197
1198 * gentpl.py: Remove obsolete pkglib_DATA handling.
1199
ff27c3dd 12002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
1201
1202 Don't transform PACKAGE_TARNAME following a discussion on autoconf
1203 mailing list.
1204
1205 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
1206 * util/grub-kbdcomp.in: Likewise.
1207 * util/grub-mkconfig.in: Likewise.
1208 * util/grub-mkconfig_lib.in: Likewise.
1209 * util/grub-mknetdir.in: Likewise.
1210 * util/grub-mkrescue.in: Likewise.
1211 * util/grub-mkstandalone.in: Likewise.
1212 * util/grub-reboot.in: Likewise.
1213 * util/grub-set-default.in: Likewise.
1214 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1215
ff27c3dd 12162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
1217
1218 Remove GRUB_PREFIX.
1219
1220 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
1221 * util/grub.d/00_header.in: Compute prefix in the only place it's still
1222 used for backward compatibility.
1223
ff27c3dd 12242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
1225
1226 Add new all_video module.
1227
1228 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
1229 * grub-core/Makefile.core.def (all_video): New module.
1230 * grub-core/genmoddep.awk: Generate dependency of all_video from
1231 video.lst.
1232 * grub-core/lib/fake_module.c: New file.
1233 * grub-core/normal/main.c (features): Add feature_all_video_module.
1234 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
1235 don't do explicit search again.
47454da5 1236 insmod all_video in load_video if available.
22c7ce85 1237
ff27c3dd 12382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
1239
1240 Another round of string clarification and adding TRANSLATORS comments.
1241
ff27c3dd 12422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
1243
1244 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
1245
ff27c3dd 12462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
1247
1248 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
1249 to grub_ssize_t.
1250 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
1251 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
1252
ff27c3dd 12532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
1254
1255 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
1256 trailing newline implicitly. All users updated.
1257
ff27c3dd 12582012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
1259
1260 Implement serial on IEEE1275 and EFI.
1261
1262 * docs/grub.texi (Platform-specific limitations): Fix the columen video
1263 on emu. Mention arc and emu as the only platforms without serial
1264 support.
1265 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
1266 ieee1275 platforms.
1267 * grub-core/term/efi/serial.c: New file.
1268 * grub-core/term/ieee1275/serial.c: Likewise.
1269 * grub-core/term/serial.c (grub_serial_find): Disable direct port
1270 specification if no ns8250 driver is available.
1271 (grub_cmd_serial): Likewise.
1272 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
1273 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
1274 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
1275 (grub_efi_parity_type_t): New type.
1276 (grub_efi_stop_bits_t): Likewise.
1277 (grub_efi_serial_io_interface): New struct.
1278 * include/grub/serial.h (grub_serial_port): Make 'broken' field
1279 available for all interfaces.
1280 Add EFI and IEEE1275 fields.
1281 (grub_ofserial_init): New proto.
1282 (grub_efiserial_init): Likeiwse.
1283 * util/grub.d/00_header.in: Don't check for the presence of serial
1284 module.
1285
ff27c3dd 12862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
1287
1288 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
1289 name as if it was an alias.
1290
114076ef
VS
12912012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 * grub-core/commands/lsacpi.c (options): Fix typo.
1294
6a656b0e
VS
12952012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1296
1297 Convert grub-emu to argp.
1298
1299 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
1300 emu.
1301 * util/argp_common.c: Rename to ...
1302 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
1303 Add missing includes.
1304 * grub-core/kern/emu/main.c: Convert to argp.
1305 * po/POTFILES.in: Regenerate.
1306 * util/grub-install.in (usage): Make first letter lowcase in messages
1307 for uniformity.
1308 * util/grub-setup.c (options): Likewise.
1309
1e3f8ae8
VS
13102012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
1313 Put back accidently commented-out code.
1314
ed167a80
VS
13152012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
1318 loop check using Brent algorithm.
1319 (grub_hfsplus_btree_search): Likewise.
1320
6753c0ec
VS
13212012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 * util/grub-install.in: Fix usage of wrong device for PreP install.
1324
4e27343f
VS
13252012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 * conf/Makefile.common (CFLAGS_GNULIB): Add
1328 -Wno-unsafe-loop-optimizations.
1329 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
1330 on tools.
1331 * grub-core/commands/legacycfg.c: Add pragma to skip
1332 -Wunsafe-loop-optimizations.
1333 (check_password_md5_real): Fix loop counter type.
1334 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
1335 reading.
1336 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
1337 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
1338 loop condition.
1339 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
1340 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
1341 * grub-core/net/net.c (grub_net_route_address): Add safety loop
1342 condition.
1343 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
1344 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
1345 avoid possible infinite loops.
1346 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
1347 and -Wunsafe-loop-optimizations.
1348 * grub-core/script/yylex.l: Likewise.
1349 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
1350 (print_glyphs): Avoid infinite loops.
1351 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
1352
697f18b0
GS
13532012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
1354
1355 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
1356 to avoid infinite loop.
1357 (disp_acpi_rsdt_table): Likewise.
1358
274416e8
VS
13592012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1360
1361 * grub-core/font/font.c (grub_font_load): Add support for default
1362 path for fonts ($prefix/fonts).
1363 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
1364 for checking if string is a path.
1365 * grub-core/normal/main.c (features): Add feature_default_font_path.
1366 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
1367 * util/grub.d/00_header.in: Use default directory if possible.
1368 * util/grub-install.in: Install unicode.pf2.
1369
b3e08622
VS
13702012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1371
1372 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
1373 * po/Rules-swiss: New file.
1374 * po/swiss.sed: Likewise.
1375
fe42ce09
VS
13762012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * grub-core/fs/btrfs.c (find_device): Fix typos.
1379 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
1380 * util/grub-mkrelpath.c (argp_parser): Likewise.
1381 Reported by: Yuri Chornoivan.
1382
72f1d065
DO
13832012-02-23 Dalet Omega <daletomega@gmail.com>
1384
1385 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
1386 for usual informative messages.
1387
c5884973
DO
13882012-02-23 Dalet Omega <daletomega@gmail.com>
1389
1390 Starfield theme.
1391
1392 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
1393 * conf/Makefile.common: Define starfielddir.
1394 * configure.ac: Configure starfield.
1395 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
1396 * themes/starfield/README: Likewise.
1397 * themes/starfield/blob_w.png: Likewise.
1398 * themes/starfield/boot_menu_c.png: Likewise.
1399 * themes/starfield/boot_menu_e.png: Likewise.
1400 * themes/starfield/boot_menu_n.png: Likewise.
1401 * themes/starfield/boot_menu_ne.png: Likewise.
1402 * themes/starfield/boot_menu_nw.png: Likewise.
1403 * themes/starfield/boot_menu_s.png: Likewise.
1404 * themes/starfield/boot_menu_se.png: Likewise.
1405 * themes/starfield/boot_menu_sw.png: Likewise.
1406 * themes/starfield/boot_menu_w.png: Likewise.
1407 * themes/starfield/slider_c.png: Likewise.
1408 * themes/starfield/slider_n.png: Likewise.
1409 * themes/starfield/slider_s.png: Likewise.
1410 * themes/starfield/src/blob_nw.xcf: Likewise.
1411 * themes/starfield/src/bootmenu/: Likewise.
1412 * themes/starfield/src/bootmenu/center.xcf: Likewise.
1413 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
1414 * themes/starfield/src/bootmenu/side.xcf: Likewise.
1415 * themes/starfield/src/slider_c.xcf: Likewise.
1416 * themes/starfield/src/slider_n.xcf: Likewise.
1417 * themes/starfield/src/slider_s.xcf: Likewise.
1418 * themes/starfield/src/terminalbox/: Likewise.
1419 * themes/starfield/src/terminalbox/center.xcf: Likewise.
1420 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
1421 * themes/starfield/src/terminalbox/side.xcf: Likewise.
1422 * themes/starfield/starfield.png: Likewise.
1423 * themes/starfield/terminal_box_c.png: Likewise.
1424 * themes/starfield/terminal_box_e.png: Likewise.
1425 * themes/starfield/terminal_box_n.png: Likewise.
1426 * themes/starfield/terminal_box_ne.png: Likewise.
1427 * themes/starfield/terminal_box_nw.png: Likewise.
1428 * themes/starfield/terminal_box_s.png: Likewise.
1429 * themes/starfield/terminal_box_se.png: Likewise.
1430 * themes/starfield/terminal_box_sw.png: Likewise.
1431 * themes/starfield/terminal_box_w.png: Likewise.
1432 * themes/starfield/theme.txt: Likewise.
1433
17d73325
VS
14342012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * util/grub.d/00_header.in: Add missing export theme.
1437
dbebaf92
VS
14382012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1439
1440 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
1441 already included.
1442 Reported by: Eren D.
1443
3d68bffb
VS
14442012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 * conf/Makefile.common (grubdatadir): Removed.
1447 (Makefile.am): Move eveything grubdata to pkgdata.
1448
4b59234d
VS
14492012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 * grub-core/commands/acpihalt.c (get_sleep_type):
1452 Remove unused variable.
1453
463dcadc
VS
14542012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1455
1456 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
1457 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
1458 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
1459 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
1460 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
1461 i18n with gettext no-op.
1462 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
1463 GRUB_ACPI_OPCODE_STRING_CONST.
1464 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
1465 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
1466
e5b90c82
VS
14672012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1468
1469 * po/POTFILES.in: Regenerate.
1470
2a704ca9
VS
14712012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1472
1473 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
1474 -Wno-error=missing-noreturn.
1475
84f9d341
VS
14762012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
1479 condition to avoid possibly infinite loops.
1480 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
1481 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
1482
d46683f9
VS
14832012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1484
1485 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
1486 condition to avoid possibly infinite loops.
1487
c44866b2
VS
14882012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
1491 on show_error.
1492
96790539
VS
14932012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1494
1495 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
1496
1ba7e295
VS
14972012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
1500
21ffe8f1
VS
15012012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * util/bin2h.c (usage): Add missing attribute noreturn.
1504
0ccb6b3c
VS
15052012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
1508 if the size isn't divisible by 512.
1509
b00d7fb6
VS
15102012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1511
1512 Make list_push and list_remove functions rather than inline functions
1513 to decrease size and avoid aliasing violations.
1514
1515 * include/grub/list.h (grub_list_push): Move to ...
1516 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
1517 * include/grub/list.h (grub_list_remove): Move to ...
1518 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
1519
9d369087
VS
15202012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1521
1522 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
1523 and -Wunused-result.
1524
af0250d9
VS
15252012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
1528 Reported by: Seth Goldberg
1529
aad32b14
VS
15302012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
1533
ac96441c
ST
15342012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
1535
1536 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
1537 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
1538 command line.
1539 * docs/grub.texi (Simple configuration): Document
1540 GRUB_CMDLINE_GNUMACH.
1541
15422012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
1543
1544 * conf/Makefile.common (platform_SCRIPTS): New variable.
1545 (platform_PROGRAMS): Likewise.
1546 * gentpl.py: Mark *,module and *.image for install.
1547 * grub-core/gdb_grub.in: Add a notice of expected environment.
1548 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
1549 (gmodule.pl): Likewise.
1550
ac96441c 15512012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
1552
1553 Replace grub_checkkey with grub_getkey_noblock.
1554
1555 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
1556 (grub_getkey_noblock): ... this. All users updated.
1557
ac96441c 15582012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
1559
1560 * grub-core/kern/emu/console.c: Move to ...
1561 * grub-core/term/emu/console.c: ...here.
1562 (grub_ncurses_getkey): Fix return value if no key is detected.
1563
e51b5666
VS
15642012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1565
1566 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
1567 (grub_unit_test_fini): Likewise.
1568 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
1569
15702012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 * include/grub/test.h (GRUB_UNIT_TEST)
1573
d9a62292
VS
15742012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1575
1576 * grub-core/script/execute.c (grub_script_break): Clarify logic.
1577 Better error handling.
1578 (grub_script_return): Likewise.
1579 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
1580
77c9182f
VS
15812012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
1584 rimplicit redifinition.
1585
edb13cf9
VS
15862012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1587
1588 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
1589 GRUB.
1590
a9e9dc7c
VS
15912012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1592
1593 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
1594 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
1595 prompt here.
1596
b4ba8e02
VS
15972012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1598
1599 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
1600 as GRUB_ERR_BUG. Don't malloc if no device is available.
1601
dded5540
VS
16022012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
1605 Mark calling with invalid term as GRUB_ERR_BUG.
1606
0cf69874
VS
16072012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
1610 packets rather than raising an error.
1611
59bfe502
VS
16122012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1613
1614 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
1615 in if.
1616
db5fc596
VS
16172012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
1620 diagnostic to dprintf.
1621 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1622
e4b7f404
VS
16232012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
1626 device name.
1627
e7b02f9e
VS
16282012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1629
1630 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
1631 (grub_ntfs_iterate_dir): Likewise.
1632
0331e102
VS
16332012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1634
1635 Efiemu stylistic fixes and gettext.
1636
1637 * grub-core/efiemu/i386/loadcore32.c
1638 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
1639 * grub-core/efiemu/i386/loadcore64.c
1640 (grub_arch_efiemu_relocate_symbols64): Likewise.
1641 * grub-core/efiemu/i386/pc/cfgtables.c
1642 (grub_machine_efiemu_init_tables): Likewise.
1643 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
1644 (grub_efiemu_loadcore_initXX): Add a filename argument.
1645 All users updated.
1646 Improved error message.
1647 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
1648 Add a filename argument.
1649 All users updated.
1650 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
1651 Reclassify double relocation as GRUB_ERR_BUG.
1652
306fc074
VS
16532012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1654
1655 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
1656 handling.
1657
794d8ef2
VS
16582012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
1661 on partition.
1662
16632012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
1664
1665 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
1666
794d8ef2 16672012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
1668
1669 Improve string. Gettextize.
1670
78dde88e
VS
16712012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1672
1673 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
1674 utils.
1675 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
1676
4786a90f
VS
16772012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1678
1679 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
1680 [GRUB_UTIL]: New function.
1681 (insert_array) [GRUB_UTIL]: Store partmaps.
1682 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
1683 partmaps.
1684 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
1685 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
1686 (probe_abstraction): Print diskfilter and not raid.
1687 Reported by: Lennart Sorensen
1688
0b6225bd
VS
16892012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
1692 * util/grub-mkimagexx.c (MASK3): New define.
1693 (add_value_to_slot_20b): Use MASK3.
1694 (add_value_to_slot_21): Likewise.
1695 (relocate_addresses): Fix format specification.
1696 (load_image): Explicitly init symtab_section.
1697
b055f8f6
VS
16982012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
1701 (grub_util_biosdisk_get_grub_dev): Fix format specification.
1702
b77c2fb7
VS
17032012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
1706 on powerpc.
1707 Reported by: Lennart Sorensen
1708
e3ec28ab
VS
17092012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1710
1711 * gentpl.py: Add missing license header.
1712 * docs/grub.texi: Update copyright year.
1713
c8d9ead6
GS
17142012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
1715
1716 Source grub-mkconfig_lib from the build directory at build time.
1717 Suggested by: Vladimir Serbinenko.
1718
1719 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
1720 * util/grub-install.in: Define pkgdatadir if not already set, and source
1721 grub-mkconfig_lib from there.
1722 * util/grub-kbdcomp.in: Likewise.
1723 * util/grub-mkconfig.in: Likewise.
1724 * util/grub-mknetdir.in: Likewise.
1725 * util/grub-mkrescue.in: Likewise.
1726 * util/grub-mkstandalone.in: Likewise.
1727 * util/grub-reboot.in: Likewise.
1728 * util/grub-set-default.in: Likewise.
1729 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1730
ebcecdf1
VS
17312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 Increase warning level.
1734
1735 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
1736 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
1737 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
1738 (TARGET_CFLAGS): Likewise.
1739 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
1740 * grub-core/Makefile.core.def (decompressor_xz): Add
1741 -Wno-unreachable-code.
1742 (normal): Add -Wno-redundant-decls.
1743 (xzio): Add -Wno-unreachable-code.
1744 (lzopio): Add -Wno-redundant-decls -Wno-error.
1745 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
1746 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
1747 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
1748 * grub-core/kern/dl.c: Add exception to -Wcast-align.
1749 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
1750 * grub-core/kern/i386/coreboot/init.c: Add exception to
1751 -Wsuggest-attribute=noreturn.
1752 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
1753 * grub-core/kern/ia64/dl_helper.c: Likewise.
1754 * grub-core/kern/mips/dl.c: Likewise.
1755 * grub-core/kern/sparc64/dl.c: Likewise.
1756 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
1757 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
1758 (memcmp): Likewise.
1759 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
1760 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
1761 * grub-core/loader/mips/linux.c: Likewise.
1762 * grub-core/loader/multiboot_elfxx.c: Likewise.
1763 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
1764 * grub-core/video/sm712.c: Add exception to -Wcast-align.
1765 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
1766 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
1767 fixme.
1768 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
1769 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
1770 Fix prototype.
1771
37bb97fe
VS
17722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
1775 address.
1776
29a3550b
VS
17772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
1780 Avoid improper use of strings.
1781 (grub_cmd_legacy_initrdnounzip): Likewise.
1782
dfdffd0d
VS
17832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1784
1785 * include/grub/emu/misc.h (grub_util_warn): Add missing format
1786 attribute.
1787 (grub_util_info): Likewise.
1788 (grub_util_error): Likewise.
1789
102fae4a
VS
17902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
1793 * util/grub-fstest.c (fstest): Likewise.
1794
7e94d044
VS
17952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
1798 (grub_md_sha512_real): Likewise.
1799 (grub_util_get_geli_uuid): Likewise.
1800 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
1801 (grub_util_biosdisk_open): Fix format specification.
1802 Respect format security.
1803 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
1804 (xrealloc): Likewise.
1805 (xasprintf): Likewise.
1806
5ebd9769
VS
18072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 * util/import_gcry.py: Include grub/crypto.h in init.c.
1810
495fc8c1
VS
18112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
1814 (generate_image): Make prefix a const char *.
1815 Fix format specifications. Respect format security.
1816 Avoid void * arithmetics.
1817 Avoid shadowing.
1818 (argp_parser): Remove unused variable. Respect format security.
1819 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
1820 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
1821 (count_funcs): Remove unused variable.
1822 (relocate_addresses): Fix format specification.
1823 Disable x86-64 with elf32. Remove unused variables.
1824 (add_fixup_entry): Avoid shadowing.
1825 (make_reloc_section): Fix format specification.
1826 Use assert.
1827 (locate_sections): Fix format specifications.
1828 (load_image): Avoid shadowing.
1829
043c2ea3
VS
18302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
1833 Fix format specifications. Respect format security.
1834 Don't translate already translated grub_errmsg.
1835 (argp_parser): Remove unused variable
1836
3ec65a81
VS
18372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
1840
a4d9fe4a
VS
18412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
1844 (main): Likewise. Use xmalloc. Respect format security.
1845
15b81d49
VS
18462012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1847
1848 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
1849 a const char *.
1850 (argp_parser): Remove unused variable.
1851
31731fc0
VS
18522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1853
1854 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
1855 (add_pixel): Make static.
1856 (add_font): Likewise.
1857 (write_string_section): Make name and str a const char *.
1858 (write_be16_section): Make name a const char *.
1859 (print_glyphs): Make static.
1860 (write_font_ascii_bitmap): Likewise.
1861 (write_font_width_spec): Likewise.
1862 (write_font_pf2): Likewise.
1863 (argp_parser): Remove unused variable.
1864 Respect format security.
1865 (main): Avoid shadowing. Respect format security.
1866
0809527b
VS
18672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1868
1869 * util/grub-editenv.c (argp_parser): Make static.
1870 (create_envblk_file): Use xmalloc.
1871 (open_envblk_file): Likewise.
1872 Resepect format security.
1873 (set_variables): Respect format security.
1874
45b0c8b7
VS
18752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 * util/getroot.c (grub_find_device): Respect format security.
1878 (get_mdadm_uuid): Remove unused variable.
1879 (grub_util_pull_device): Dont call gettext on already translated
1880 grub_errmsg.
1881 (find_system_device): Remove unused variable.
1882 (grub_util_get_grub_dev): Likewise.
1883 (grub_make_system_path_relative_to_its_root): Respect format security.
1884
1b024b4e
VS
18852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1886
1887 * util/grub-fstest.c (execute_command): Make first argument
1888 a const char *.
1889 (read_file): Avoid shadowing.
1890 Reuse underlying error message if device open fails.
1891 (cmd_cmp): Respect format security.
1892 (root): Make const char *.
1893 (fstest): Remove args argument and use global copy.
1894 Respect format security.
1895 (argp_parser): Make static.
1896 (main): Make default_root const char *.
1897
5d1d4e28
VS
18982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1899
1900 * util/grub-mount.c (root): Make const char *.
1901 (execute_command): Make first argument a const char *.
1902 (fuse_init): Respect format security.
1903 (argp_parser): Make static. Remove unused variable.
1904 (main): Make default_root a const char *.
1905 Respect format security.
1906
36eb7379
VS
19072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1908
1909 * util/grub-probe.c (probe): Don't call gettext on already translated
1910 grub_errmsg.
1911 Remove unused variables.
1912 (argp_parser): Remove unused variable.
1913
76fb2ea9
VS
19142012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * util/grub-script-check.c (argp_parser): Remove unused variable.
1917 (main): Rename read to curread to avoid shadowing.
1918
56c98584
VS
19192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1920
1921 * util/misc.c (grub_util_write_image_at): Fix format specification.
1922 (grub_util_write_image): Likewise.
1923 (grub_script_execute_argument_to_string): Removed (unused).
1924 (grub_script_execute_menuentry): Likewise.
1925 (grub_putchar): Likewise.
1926
164ebb48
VS
19272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1928
1929 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
1930 (FUNCTION) [GRUB_UTIL]: Likewise.
1931 (VARIABLE) [GRUB_UTIL]: Likewise.
1932
44318d61
VS
19332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1934
1935 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
1936 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
1937
31a26002
VS
19382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1939
1940 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
1941 buffer.
1942
19432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1944
1945 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
1946 (LzmaEnc_SaveState): Removed (unused).
1947 (LzmaEnc_RestoreState): Likewise.
1948 (LzmaEnc_InitPriceTables): Made static.
1949 (LzmaEnc_Construct): Likewise.
1950 (LzmaEnc_FreeLits): Likewise.
1951 (LzmaEnc_Destruct): Likewise.
1952 (LzmaEnc_Init): Likewise.
1953 (LzmaEnc_InitPrices): Likewise.
1954 (LzmaEnc_Finish): Likewise.
1955 (LzmaEnc_PrepareForLzma2): Removed (unused).
1956 (LzmaEnc_MemPrepare): Likewise.
1957 (LzmaEnc_GetNumAvailableBytes): Likewise.
1958 (LzmaEnc_GetCurBuf): Likewise.
1959 (LzmaEnc_CodeOneMemBlock): Likewise.
1960
6fa67967
VS
19612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1962
1963 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
1964 (grub_util_ldm_embed): Likewise.
1965
9a7428e6
VS
19662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1967
1968 * util/grub-editenv.c (print_var): Rename name to varname to
1969 avoid shadowing.
1970 (main): Rename index to curindex to avoid shadowing.
31a26002 1971 Make filename a const char *.
9a7428e6 1972
4f96abd1
VS
19732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1974
1975 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
1976 to arg_getline to avoid shadowing.
1977
44d10dad
VS
19782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1979
1980 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
1981 disk_ to avoid shadowing.
1982
340ba63e
VS
19832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1984
1985 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
1986 curindex to avoid shadowing.
1987 Make static.
1988 (MatchFinder_GetNumAvailableBytes): Make static.
1989
22965bce
VS
19902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1991
1992 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
1993 avoid shadowing.
1994
7b5784d4
VS
19952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
1998 argument from encrypt to do_encrypt to avoid shadowing.
1999
6f48ca01
VS
20002012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2001
2002 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
2003 incorrect nesting of #if's.
2004
a4ea2dff
VS
20052012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2006
2007 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
2008 checks which are always false on some platforms.
2009 (grub_cmd_lsacpi): Likewise.
2010 * grub-core/kern/misc.c (grub_strtoul): Likewise.
2011 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
2012 Likewise.
2013
def9fc1b
VS
20142012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2015
2016 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
2017 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
2018
a67b2a04
VS
20192012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2020
2021 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
2022 re_dfa_t to avoid breaking alignment invariants.
2023 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
2024 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
2025
44c6828d
VS
20262012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
2029 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
2030
bebe0dd0
VS
20312012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
2034 Fix declaration.
2035
a9cdb3cf
VS
20362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2037
2038 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
2039 conserve alignment invariants.
2040 (grub_ehci_ehcc_read16): Likewise.
2041 (grub_ehci_oper_read32): Likewise.
2042 (grub_ehci_oper_write32): Likewise.
2043 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
2044 Conserve alignment invariants.
2045
ccc3b1b8
VS
20462012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2047
2048 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
2049 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
2050 declarations.
2051
987fbd95
VS
20522012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2053
2054 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
2055 Remove unused variable.
2056
0df363f3
VS
20572012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2058
2059 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
2060 Remove set in if.
2061
b2c0c4a6
VS
20622012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2063
2064 * include/grub/net.h: Remove double declarations.
2065
690c531f
VS
20662012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 Remove "payload" command in ia64 Linux loader since I couldn't
2069 find any evidence of it being used for anything.
2070 Replace "relocate" command with an environment variable
2071
2072 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
2073 fields.
2074 (ia64_boot_payload): Removed.
2075 (last_payload): Likewise.
2076 (RELOCATE_OFF): Likewise.
2077 (RELOCATE_ON): Likewise.
2078 (RELOCATE_FORCE): Likewise.
2079 (relocate): Likewise.
2080 (free_pages): Don't free payloads.
2081 (grub_load_elf64): Use common error messages.
2082 Use "linux_relocate" variable.
2083 Increase the space after boot_params.
2084 (grub_cmd_payload): Removed.
2085 (grub_cmd_relocate): Likewise.
2086 (grub_cmd_fpswa): Improve messages.
2087 (cmd_payload): Removed.
2088 (cmd_relocate): Likewise.
2089 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
2090 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
2091
01783768
VS
20922012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2093
2094 Convert UHCI to DMA framework.
2095
2096 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
2097 (grub_uhci_pci_iter): Fill new members
2098 (grub_alloc_td): Use P2V and V2P functions.
2099 (grub_free_queue): Likewise.
2100 (grub_alloc_qh): Likewise.
2101 (grub_uhci_setup_transfer): Likewise.
2102 (grub_uhci_check_transfer): Likewise.
2103
43206939
VS
21042012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
2107 Remove assignment in if while on it.
2108
571e140e
VS
21092012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2110
2111 * util/grub-mkstandalone.in: Fix modules directory.
2112
a9d96eeb
VS
21132012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2114
2115 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
2116 on i386-pc target.
2117 (argp_parser): Accept "auto" as compression specification.
2118
e4e37e8d
VS
21192012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 Fix `help' with unloaded modules.
2122
2123 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
2124 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
2125 (grub_dyncmd_dispatcher): Small stylistic fix.
2126 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
2127 explicit help is requested.
2128
e1ea3ade
VS
21292012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
2132 Explicitly init restart while on it.
2133
27556881
VS
21342012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2135
2136 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
2137 uninited variable.
2138
d65f6b36
VS
21392012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2140
2141 * util/grub-mknetdir.in: Use . rather than source for POSIX
2142 compatibility.
2143
0a1e473c
VS
21442012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2145
2146 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
2147
ce6647c8
VS
21482012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2149
2150 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
2151 variable.
2152
66747894
VS
21532012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2154
2155 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
2156 without quotes.
2157
71645f6e
VS
21582012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2159
2160 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
2161
0e1c1f61
VS
21622012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2163
2164 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
2165 iteration of partitions.
2166
9c4b5c13
VS
21672012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 Improve gettext support. Stylistic fixes and error handling fixes while
2170 on it.
2171
215c90cb
VS
21722012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
2175 part. Instead setup the correct stack in RM.
2176 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
2177 for stack.
2178 * include/grub/i386/relocator_private.h: New file.
2179
b5c1f9bf
VS
21802012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
2183 argument.
2184 * util/grub-fstest.c (options): Add missing DEVICE part.
2185
b525fd83
VS
21862012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 Clarify and unify messages.
2189
2190 * grub-core/commands/hashsum.c (options): Unify messages.
2191 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
2192 literal-only message as translatable.
2193 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
2194 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
2195 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
2196 commands.
2197 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
2198 key, not the key used to unlock. Clarify what it's used for.
2199 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
2200 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
2201 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
2202 * util/grub-editenv.c (options): Unify "verbose" message.
2203 * util/grub-fstest.c (read_file): Unify error message.
2204 (fstest): Add quotes around commands.
2205 (options): Unify "verbose" message.
2206 * util/grub-install.in: Add quotes around variable name.
2207 * util/grub-kbdcomp.in: Unify error message.
2208 * util/grub-mkfont.c (main): Likewise.
2209 * util/grub-mkrescue.in: Likewise.
2210 * util/grub-mklayout.c (options): Unify "verbose" message.
2211 * util/grub-mkstandalone.in: Unify help and verbose messages.
2212 * util/grub-mount.c (options): Unify "verbose" message.
2213 * util/grub-probe.c (options): Likewise.
2214 * util/grub-script-check.c (options): Likewise.
2215 * util/grub-setup.c (setup): Unify no-terminator message.
2216 (options): Use DEVICE and not DEV.
2217 Unify "verbose" message.
2218 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
2219
0ae70393
VS
22202012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 Improve and unify messages.
2223
2224 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
2225 name. All users updated.
2226 Print filename in error.
2227 (read_device_map): Print filename in error.
2228 * util/getroot.c (grub_guess_root_devices): Print filename in error.
2229 (grub_util_get_os_disk): Likewise.
2230 (grub_util_biosdisk_get_grub_dev): Likewise.
2231 (grub_util_check_block_device): Likewise.
2232 (grub_util_check_char_device): Likewise.
2233 (grub_make_system_path_relative_to_its_root): Likewise.
2234 * util/grub-editenv.c (create_envblk_file): Likewise.
2235 (open_envblk_file): Likewise.
2236 (write_envblk): Likewise.
2237 * util/grub-fstest.c (cmd_cp): Likewise.
2238 (cmd_cat): Likewise.
2239 (cmd_cmp): Likewise.
2240 * util/grub-menulst2cfg.c (main): Likewise.
2241 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
2242 (write_font_width_spec): Likewise.
2243 (write_font_pf2): Likewise.
2244 * util/grub-mkimage.c (generate_image): New argument outname.
2245 All users updated.
2246 Remove unreacheable message.
2247 (options): Unify messages.
2248 (help_filter): Likewise.
2249 * util/grub-mklayout.c (usage): Removed (unused).
2250 (main): Print filename in error.
2251 * util/grub-mkrescue.in: Fix wrong quoting.
2252 * util/grub-setup.c (setup): Print filename in error.
2253 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
2254 (check_sas): Likewise.
2255 * util/misc.c (grub_util_get_fp_size): Removed.
2256 (grub_util_get_image_size): Print filename in error.
2257 (grub_util_read_at): Removed.
2258 (grub_util_read_image): Print filename in error.
2259 (grub_util_load_image): Likewise.
2260 (grub_util_write_image_at): New argument filename. All users updated.
2261 Print filename in error.
2262 (grub_util_write_image): New argument filename. All users updated.
2263 Print filename in error.
2264 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
2265 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
2266
0a96117d
VS
22672012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2268
2269 * grub-core/Makefile.core.def (pxechain): New module.
2270 * grub-core/loader/i386/pc/pxechainloader.c: New file.
2271 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
2272 function.
2273 (grub_pc_net_config_real): Use grub_pxe_get_cached.
2274 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
2275
aca002f7
VS
22762012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2277
2278 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
2279 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
2280 * include/grub/err.h (grub_error_saved): New struct.
2281 (grub_errmsg): Make array size explicit.
2282 * include/grub/misc.h (grub_error_save): New function.
2283 (grub_error_load): Likewise.
2284 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
2285 (grub_error_push): Update `errno' member name.
2286 (grub_error_pop): Likewise
2287 * grub-core/net/tftp.c (tftp_data): New member save_err.
2288 (tftp_receive): Save error.
2289 (tftp_open): Restore error.
2290
a51dab13
VS
22912012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
2294 to real mode down to execute A20-related code in protected mode as
2295 intended.
2296
eb6e6649
GS
22972012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
2298
2299 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
2300 NULL when the argument `level' has an unexpected value.
2301
92cd0f6e
VS
23022012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 Move platform-dependent files from $prefix to $prefix/$platform.
2305
2306 * config.h.in (GRUB_TARGET_CPU): New definition.
2307 (GRUB_PLATFORM): Likewise.
2308 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
2309 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
2310 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
2311 * grub-core/kern/dl.c (grub_dl_load): Likewise.
2312 * grub-core/normal/autofs.c (read_fs_list): Likewise.
2313 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
2314 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
2315 * grub-core/normal/term.c (read_terminal_list): Likewise.
2316 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
2317 $prefix/locale.
2318 (grub_gettext_init_ext): Likewise.
2319 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
2320 grub_platform.
2321 * util/grub-install.in: Update directories.
2322 * util/grub-mknetdir.in: Likewise.
2323 * util/grub-mkrescue.in: Likewise.
2324
db606889
VS
23252012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2326
2327 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
2328 grub_error framework. All users updated.
2329
c39992a4
VS
23302012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2331
2332 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
2333 lists (by always binsearching), improve caching (cache strings
2334 used for binsearch, not only results), improve
2335 maintainability (by using more structured binary search) and correct
2336 error handling.
2337
1e5ec32f
VS
23382012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2339
2340 * grub-core/script/execute.c (grub_script_return): Fix warning.
2341
ac576cde
VS
23422012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2343
2344 * grub-core/script/execute.c (grub_script_return): Fix potential
2345 NULL-dereference.
2346 Reported by: Jim Meyering.
2347
498453f6
VS
23482012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * po/POTFILES.in: Regenerate.
2351 * util/grub-install.in: Gettextize the strings missed in first pass.
2352
8be63f2e
VS
23532012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 * Makefile.util.def (grub-mkdevicemap): Removed.
2356 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
2357 * include/grub/util/deviceiter.h: Removed.
2358 * util/deviceiter.c: Likewise.
2359 * util/getroot.c (grub_util_get_os_disk): New function.
2360 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
2361 replacement for EFI.
2362 * util/grub-mkdevicemap.c: Removed.
2363 * util/grub-probe.c (probe): Handle PRINT_DISK.
2364 (argp_parser): Handle -t disk.
2365
8e1e4e39
VS
23662012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * util/grub-mkfont.c: Migrate to argp.
2369 * util/grub-mklayout.c: Likewise.
2370 * util/grub-mkpasswd-pbkdf2.c: Likewise.
2371 * util/grub-mkrelpath.c: Likewise.
2372 * util/grub-probe.c: Likewise.
2373 * util/grub-script-check.c: Likewise.
2374
4459819a
VS
23752012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2376
2377 * util/grub-reboot.in: Add missing datarootdir.
2378 Add missing newline.
2379 * util/grub-set-default.in: Add missing datarootdir.
2380 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
2381 * util/grub-mkrescue.in: Likewise.
2382
f65741c7
VS
23832012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2384
2385 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
2386
c1a33466
VS
23872012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2388
2389 * util/grub-kbdcomp.in: Add decent help and gettextize.
2390 * docs/man/grub-kbdcomp.h2m: New file.
2391
c76899a0
VS
23922012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2393
2394 Migrate grub-mkimage.c to argp.
2395
2396 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
2397 (grub-setup): Likewise.
2398 * util/grub-setup.c (print_version): Move to ...
2399 * util/argp_common.c (print_version): ... here.
2400 * util/grub-setup.c (argp_program_version_hook): Move to ...
2401 * util/argp_common.c (argp_program_version_hook): ... here.
2402 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
2403 safety.
2404 * util/grub-mkimage.c (main): Migrate to argp.
2405
57db0757
VS
24062012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2407
2408 * util/grub-mkrescue.in: Use same message as
2409 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
2410 for better translations.
2411
18534ad9
VS
24122012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2413
2414 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
2415 options with generic grub-mkrescue.in with the goal of future
2416 merge.
2417
c84ba308
VS
24182012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 * grub-core/kern/mm.c: Add missing include of i18n.h
2421 * grub-core/lib/relocator.c: Likewise.
2422
347998c2
VS
24232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2424
2425 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
2426 error.
2427 (allocate_pages): Check return value.
2428 Replace fatal with error.
2429 (grub_linux_boot): Replace printf with dprintf.
2430 Check find_mmap_size return value.
2431 Replace fatal with error.
2432 Don't call grub_machine_fini.
2433 (grub_load_elf64): Replace printf with dprintf.
2434 (grub_cmd_linux): Likewise.
2435 (grub_cmd_initrd): Likewise.
2436 (grub_cmd_payload): Likewise.
2437
c779226e
VS
24382012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2439
2440 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
2441 message.
2442 * grub-core/video/radeon_fuloong2e.c
2443 (grub_video_radeon_fuloong2e_setup): Likewise.
2444 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
2445 * grub-core/video/video.c (grub_video_set_mode): Don't override
2446 standard out of memory message.
2447
dc87d45a
GS
24482012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2449
2450 NetBSD disk wedge support.
2451
2452 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
2453 [__NetBSD__]: Handle NetBSD disk wedges.
2454 * util/getroot.c (convert_system_partition_to_system_disk)
2455 [__NetBSD__]: Likewise.
2456
055f856f
MW
24572012-02-03 Mark Wooding <mdw@distorted.org.uk>
2458
2459 * util/grub-mkconfig.in: Use umask rather than chmod to create
2460 grub.cfg.new to avoid insecure grub.cfg.
2461
4a9f8346
VS
24622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 * grub-core/commands/ls.c: Gettextize.
2465 * grub-core/commands/setpci.c: Likewise.
2466 * grub-core/commands/videotest.c: Likewise.
2467 * grub-core/disk/geli.c: Likewise.
2468 * grub-core/kern/mm.c: Likewise.
2469 * grub-core/lib/relocator.c: Likewise.
2470 * grub-core/loader/efi/appleloader.c: Likewise.
2471 * grub-core/loader/i386/xnu.c: Likewise.
2472 * grub-core/loader/ia64/efi/linux.c: Likewise.
2473 * grub-core/loader/xnu.c: Likewise.
2474 * grub-core/net/dns.c: Likewise.
2475 * grub-core/net/net.c: Likewise.
2476 * grub-core/script/lexer.c: Likewise.
2477 * grub-core/script/parser.y: Likewise.
2478 * grub-core/script/yylex.l: Likewise.
2479 * util/getroot.c: Likewise.
2480 * util/grub-setup.c: Likewise.
2481
a646a366
VS
24822012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
2485 number.
2486
54e2be26
VS
24872012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2488
2489 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
2490
f7c71e68
VS
24912012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2492
2493 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
2494 macro.
2495 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
2496 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
2497
a32d5c71
VS
24982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2499
2500 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
2501 * util/grub-install.in: Gettextize.
2502 * util/grub-mkconfig.in: Likewise.
2503 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
2504 if not available.
2505 (grub_warn): Gettextize.
2506 * util/grub-mknetdir.in: Gettextize.
2507 * util/grub-mkrescue.in: Likewise.
2508 * util/grub-mkstandalone.in: Likewise.
2509 * util/grub-reboot.in: Likewise.
2510 * util/grub-set-default.in: Likewise.
2511 * util/grub.d/00_header.in: Likewise.
2512 * util/grub.d/10_hurd.in: Likewise.
2513 * util/grub.d/10_kfreebsd.in: Likewise.
2514 * util/grub.d/10_linux.in: Likewise.
2515 * util/grub.d/10_netbsd.in: Likewise.
2516 * util/grub.d/10_windows.in: Likewise.
2517 * util/grub.d/20_linux_xen.in: Likewise.
2518 * util/grub.d/30_os-prober.in: Likewise.
2519 * po/POTFILES-shell.in: Regenerate.
2520
69edd81a
RL
25212012-02-03 Richard Laager <rlaager@wiktel.com>
2522
2523 * util/grub-mkimage.c (main): Fix format-security warning.
2524 * util/grub-mkrelpath.c (main): Likewise.
2525 * util/grub-probe.c (main): Likewise.
2526
65f08dbf
RL
25272012-02-03 Richard Laager <rlaager@wiktel.com>
2528
2529 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
2530 failure.
2531 Put back lost PRINT_DRIVE.
2532
e9084abe
RL
25332012-02-03 Richard Laager <rlaager@wiktel.com>
2534
2535 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
2536 (grub_guess_root_devices): Replace strlen with sizeof.
2537 Avoid crash.
2538 (find_root_devices_from_poolname): Remove unused variable.
2539 Handle raidzN.
2540
cf5f7ee7
VS
25412012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 Support install on multi-device filesystems.
2544
2545 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
2546 (grub_guess_root_devices): ...this. Return char **. All users updated.
2547 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
2548 Removed.
2549 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
2550 (find_root_devices_from_poolname): ... here.
2551 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
2552 Support zfs-fuse.
2553 (grub_guess_root_device): Rename to ...
2554 (grub_guess_root_devices): ... this. Return char **. All users updated.
2555 * util/grub-install.in: Handle multi-device filesystems.
2556 * util/grub-probe.c (probe). Make device_names a char **. Add delim
2557 argument. All users updated.
2558 Handle multi-device filesystems.
2559 Use 'delim' as separator.
2560 Remove device check to allow filesystems on file.
2561 (main): Support -0 argument. Handle multi-device.
2562 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
2563 Fix a cross-device check while on it.
2564 (arguments): Remove root_dev.
2565 (argp_parser): Remove -r.
2566 (main): Remove root_dev.
2567
2f53a9ed
VS
25682012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2569
2570 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
2571
17e1d934
VS
25722012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2573
2574 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
2575 symbol.
2576 Reported by: NODA, Kai <nodakai>.
2577
d3e3fab5
VS
25782012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2579
2580 Fix ehci on amd64.
2581
2582 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
2583 pointers.
2584 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
2585 (grub_ehci_setup_qh): Likewise.
2586 (grub_ehci_find_qh): Likewise.
2587 (grub_ehci_transaction): Likewise.
2588 (grub_ehci_setup_transfer): Likewise.
2589 (grub_ehci_check_transfer): Likewise.
2590 (grub_ehci_portstatus): Likewise.
2591 (grub_ehci_detect_dev): Likewise.
2592 (grub_ehci_transfer_controller_data): New field td_last_phys.
2593 (grub_ehci_setup_transfer): Fill td_last_phys.
2594 (grub_ehci_check_transfer): Use td_last_phys.
2595
3008675b
SG
25962012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
2597
2598 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
2599 if no submenu is present.
2600
fc9b5652
AN
26012012-02-01 Aleš Nesrsta <starous@volny.cz>
2602
2603 CBI support.
2604
2605 * include/grub/usb.h (grub_usbms_protocol_t): New values
2606 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
2607 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
2608 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
2609 (grub_usbms_dev): Add subclass, protocol and intrpt.
2610 Remove in_maxsz and out_maxsz.
2611 (grub_usbms_reset): Rename to ...
2612 (grub_usbms_bo_reset): .. this.
2613 (grub_usbms_cbi_cmd): New function.
2614 (grub_usbms_cbi_reset): Likewise.
2615 (grub_usbms_reset): Likewise.
2616 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
2617 (grub_usbms_transfer): Rename to ...
2618 (grub_usbms_transfer_bo): ... this.
2619 (grub_usbms_transfer_cbi): Likewise.
2620 (grub_usbms_transfer): Likewise.
2621
a2b81d53
AN
26222012-02-01 Aleš Nesrsta <starous@volny.cz>
26232012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2624
2625 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
2626 the support for the CS5536 modification thereos and few bugfixes.
2627
2628 * grub-core/Makefile.core.def (ehci): New module.
2629 * grub-core/bus/usb/ehci.c: New file.
2630 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
2631 port and hubaddr. All users updated.
2632 Save port and hubaddr into dev structure.
2633 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
2634 define.
2635 * include/grub/pci.h (grub_dma_phys2virt): New function.
2636 (grub_dma_virt2phys): Likewise.
2637 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
2638
b1d51f02
VS
26392012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2640
2641 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
2642 check as some mkfs implementations omit it.
2643
fc694106
VS
26442012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2645
2646 * docs/grub.texi (Unicode): Mention identifier and space limitations.
2647
6c0920e3
VS
26482012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
2651 Add new member volname2.
2652 (grub_jfs_label): Use volname2 if available.
2653
d1a46f9a
VS
26542012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2655
2656 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
2657 over last_mounted as seen in image generated by mkfs.nilfs2.
2658 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
2659
dec8ed14
VS
26602012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2661
2662 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
2663 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
2664 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
2665
7397c69b
VS
26662012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2667
2668 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
2669 over the sector.
2670
b3fe42ad
VS
26712012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
2674 subvolume name (by removing a bogus and useless check).
2675
10476bb0
VS
26762012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2677
2678 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
2679 sizeof while on it.
2680
9c08ad87
VS
26812012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
2684 (grub_scsi_read_capacity10): ... this.
2685 (grub_scsi_read_capacity16): New function.
2686 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
2687 0xffffffff.
2688 Fix off-by-one error.
2689 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
2690 64-bit unsigned.
2691 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
2692 (grub_scsi_read_capacity10): ... this.
2693 (grub_scsi_read_capacity_data): Rename to ...
2694 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
2695 (grub_scsi_read_capacity16): New struct.
2696 (grub_scsi_read_capacity16_data): Likewise.
2697 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
2698 grub_scsi_cmd_read_capacity10.
2699 New command grub_scsi_cmd_read_capacity16.
2700
bc8d0f45
VS
27012012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 SCSI >2TiB support.
2704
2705 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
2706 (grub_scsi_write16): Likewise.
2707 (grub_scsi_read): Use read16 when necessary.
2708 (grub_scsi_write): Likewise.
2709 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
2710 (grub_scsi_write16): Likewise.
2711 (grub_scsi_cmd_t): Add READ16 and WRITE16.
2712
cc774926
VS
27132012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2714
2715 SCSI write support (for usbms mainly).
2716
2717 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
2718 a const pointer.
2719 (grub_scsi_write): Implement.
2720 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
2721
67639fd7
VS
27222012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
2725 variable.
2726
9079d3ed
VS
27272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 * grub-core/lib/posix_wrap/string.h (memchr): New function.
2730
c6a6f204
VS
27312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2732
2733 * po/POTFILES.in: Regenerate.
2734
ecbf8cd1
VS
27352012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
2738 with grub_printf to avoid unnecessary fatal failure.
2739
0b3b3b38
VS
27402012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
2743 (INT_MAX): Likewise.
2744 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
2745 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
2746 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
2747 (strcpy): Likewise.
2748 (strstr): Likewise.
2749 (strchr): Likewise.
2750 (strncpy): Likewise.
2751 (strcat): Likewise.
2752 (strncat): Likewise.
2753 (strcoll): Likewise.
2754 * include/grub/types.h (GRUB_SHRT_MAX): New define.
2755 (GRUB_INT_MAX): Likewise.
2756
db7337a3
VS
27572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2758
2759 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
2760 unexpected error.
2761 (optimize_utf8): Likewise.
2762 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
2763
f37c87e1
VS
27642012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 * grub-core/boot/i386/pc/lnxboot.S: Use
2767 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
2768 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
2769 location.
2770 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
2771 definition.
2772 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
2773
63fe43f3
VS
27742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2775
2776 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
2777 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
2778 now to avoid double free.
2779 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
2780 hostdisk.
2781 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
2782 * util/grub-probe.c (escape_of_path): Always return a new copy.
2783 (print_full_name): Escape path.
2784 (probe): Don't call grub_util_devname_to_ofpath on NULL.
2785 Fix hints on abstractions.
2786
ebe2c961
VS
27872012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2788
2789 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
2790 Don't add "root" line if no compatibility hont is available.
2791 Suggested by: Seth Goldberg.
2792
2b5336a2
VS
27932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2794
2795 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
2796 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
2797 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
2798 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
2799
74310bd8
VS
28002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2801
2802 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
2803
c30582ba
VS
28042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2805
2806 * util/grub-pe2elf.c (ehdr): Make static.
2807 (shdr): Likewise.
2808 (num_sections): Likewise.
2809 (offset): Likewise.
2810
5f47782c
VS
28112012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 Eliminate ofpath limits and possible overflows.
2814
2815 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
2816 (OF_PATH_MAX): Removed.
2817 (MAX_DISK_CAT): New const.
2818 (find_obppath): Use allocated rather than preallocated buffer.
2819 Return result. Argument of_path removed. All users updated.
2820 Add missing fdstat.
2821 (xrealpath): New function.
2822 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
2823 Allocate rather than use preallocated buffer. All users updated.
2824 (__of_path_common): Use allocated rather than preallocatecd buffer.
2825 Return result. Argument of_path removed. All users updated.
2826 (vendor_is_ATA): Read only needed part form the file.
2827 (check_sas): Allocate depending on contents rather than fixed.
2828 (main) [STANDALONE]: Handle NULL result.
2829
f990cbf9
VS
28302012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2831
2832 * grub-core/normal/completion.c (iterate_dev): Close the disk.
2833
9c6e84b8
VS
28342012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2835
2836 Cryptodisk write support.
2837
2838 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
2839 (grub_cryptodisk_decrypt): Moved logic to ...
2840 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
2841 (grub_cryptodisk_write): Implement.
2842 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
2843 (grub_util_fd_write): ... this. Make global.
2844 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
2845
87cf9744
VS
28462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2847
2848 * include/grub/list.h (grub_list_remove): Don't crash if element is
2849 removed twice.
2850
ca8c0baf
VS
28512012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 Rename ofconsole to console.
2854
2855 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
2856 as sysnonym to console.
2857 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
2858 * grub-core/term/ieee1275/console.c: ... this. All users updated.
2859 Rename grub_ofconsole_ to grub_console_. All users updated
2860 (grub_console_term_output): Rename "ofconsole" to "console".
2861 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
2862 as "console".
2863
64c8b8f6
VS
28642012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2865
2866 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
2867 handling.
2868 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
2869 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
2870 GRUB_DISK_DEVICE_FILE_ID.
2871
f6c434d5
VS
28722012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2873
2874 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
2875 and improve performance.
2876
5858b42d
VS
28772012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2878
2879 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
2880 missing ieee1275/ prefix on whole disk.
2881
4ed3c26b
VS
28822012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2883
2884 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
2885 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
2886
df71143e
VS
28872012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2888
2889 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
2890
076e7c0f
VS
28912012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2892
2893 Merge common RAID and LVM logic to an abstract diskfilter.
2894 Add LDM support using the same framework.
2895
2896 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
2897 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
2898 (libgrubmods): Remove grub-core/disk/raid.c and
2899 grub-core/partmap/gpt.c.
2900 * grub-core/Makefile.core.def (ldm): New module.
2901 (raid): Renamed to diskfilter. All users updated.
2902 * grub-core/disk/raid.c: Moved to ...
2903 * grub-core/disk/diskfilter.c: ... here.
2904 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
2905 (lv_num): New var.
2906 (find_array): Renamed to ...
2907 (find_lv): ... this. Support multi-LV. Skip nameless LVs
2908 (grub_is_array_readable): Renamed to ...
2909 (grub_is_lv_readable): ... this. Support multinode hierarchy.
2910 (insert_array): New argument id.
2911 (is_node_readable): New function.
2912 (scan_device): Rename to ...
2913 (scan_disk): .. this. Restrict to one disk.
2914 (scan_devices): New function.
2915 (grub_diskfilter_iterate): Support multi-LV.
2916 Skip invisible and nameless LVs.
2917 (grub_diskfilter_memberlist): Support multi-LV.
2918 (grub_diskfilter_read_node): New function.
2919 (grub_raid_read): Most of logic moved to ...
2920 (read_segment): ... here
2921 (read_lv): New function.
2922 (grub_diskfilter_get_vg_by_uuid): New function.
2923 (grub_diskfilter_make_raid): Likewise.
2924 * grub-core/disk/ldm.c: New file.
2925 * grub-core/disk/lvm.c (vg_list): Removed.
2926 (lv_count): Likewise.
2927 (scan_depth): Likewise.
2928 (is_lv_readable): Likewise.
2929 (grub_lvm_getvalue): Advance pointer past the number.
2930 (find_lv): Removed.
2931 (do_lvm_scan): Refactored into ...
2932 (grub_lvm_detect): ... this. Support raid.
2933 (grub_lvm_iterate): Removed.
2934 (grub_lvm_memberlist): Likewise.
2935 (grub_lvm_open): Likewise.
2936 (grub_lvm_close): Likewise.
2937 (read_lv): Likewise.
2938 (read_node): Likewise.
2939 (is_node_readable): Likewise.
2940 (is_lv_readable): Likewise.
2941 (grub_lvm_read): Likewise.
2942 (grub_lvm_write): Likewise.
2943 (grub_lvm_dev): Use diskfilter
2944 (GRUB_MOD_INIT): Likewise.
2945 (GRUB_MOD_FINI): Likewise.
2946 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
2947 new interface.
2948 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
2949 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2950 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
2951 grub_diskfilter_read_node.
2952 Fix a bug with xor.
2953 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
2954 grub_diskfilter_read_node.
2955 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
2956 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
2957 (grub_disk_dev_iterate): Move from here...
2958 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
2959 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
2960 Make global.
2961 (grub_hostdisk_find_partition_start): Likewise.
2962 (grub_hostdisk_os_dev_to_grub_drive): New function.
2963 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
2964 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
2965 * util/getroot.c (make_device_name): ... here.
2966 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
2967 Move to ...
2968 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
2969 * grub-core/kern/emu/hostdisk.c
2970 (convert_system_partition_to_system_disk): Move to ...
2971 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
2972 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
2973 * util/getroot.c (device_is_wholedisk): ... here.
2974 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
2975 * util/getroot.c (find_system_device): ... here.
2976 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
2977 Move to ...
2978 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
2979 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
2980 Move to ...
2981 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
2982 Handle LDM.
2983 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
2984 Move to ...
2985 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
2986 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
2987 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
2988 DISKFILTER.
2989 * include/grub/raid.h: Renamed to ...
2990 * include/grub/diskfilter.h: ... this.
2991 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
2992 (GRUB_RAID_LAYOUT_*): Make into array.
2993 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
2994 (grub_diskfilter_vg): New struct.
2995 (grub_diskfilter_pv_id): Likewise.
2996 (grub_raid_member): Removed.
2997 (grub_raid_array): Likewise.
2998 (grub_diskfilter_pv): New struct.
2999 (grub_diskfilter_lv): Likewise.
3000 (grub_diskfilter_segment): Likewise.
3001 (grub_diskfilter_node): Likewise.
3002 (grub_diskfilter_get_vg_by_uuid): New proto.
3003 (grub_raid_register): Inline.
3004 (grub_diskfilter_unregister): Likewise.
3005 (grub_diskfilter_make_raid): New proto.
3006 (grub_diskfilter_vg_register): Likewise.
3007 (grub_diskfilter_read_node): Likewise.
3008 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
3009 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
3010 (grub_util_is_ldm): Likewise.
3011 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
3012 (grub_hostdisk_find_partition_start): Likewise.
3013 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
3014 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
3015 New definition.
3016 (grub_gpt_partition_map_iterate): New proto.
3017 * include/grub/lvm.h (grub_lvm_vg): Removed.
3018 (grub_lvm_pv): Likewise.
3019 (grub_lvm_lv): Likewise.
3020 (grub_lvm_segment): Likewise.
3021 (grub_lvm_node): Likewise.
3022 * util/getroot.c [...]
3023 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
3024 (probe_abstraction): Likewise.
3025 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
3026 (main): Remove dead logic.
3027
8a7f9b9c
VS
30282012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
3029
3030 Simplify root device discover and don't fail when trying to open
3031 incorrect devices.
3032
3033 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
3034 function.
3035 (get_diskname_from_path): Likewise.
3036 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
3037 of iterating.
3038
30545b85
VS
30392012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3040
3041 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
3042
28ea58cf
VS
30432012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3044
3045 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
3046 pastthe end.
3047
692dabca
VS
30482012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3049
3050 * util/grub-install.in: Add missing \.
3051 Reported by: gentoofan
3052
f6e4ea70
VS
30532012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
3054
3055 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
3056 (direct_read): Use correct compressed size.
3057 (grub_squash_read_data): Likewise.
3058
30592012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
3060
3061 * docs/grub.texi (Platform limitations): New section.
3062 (Platform-specific operations): Likewise.
3063 * docs/grub-dev.texi (Porting): Likewise.
3064
76261110
VS
30652012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3066
3067 IEEE1275 disk write support.
3068
3069 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
3070 const void *.
3071 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
3072 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
3073 and seek loginc to ...
3074 (grub_ofdisk_prepare): ... here.
3075 (grub_ofdisk_write): Implement.
3076
fc36d603
VS
30772012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 ARC disk write support.
3080
3081 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
3082 (reopen): New argument writable. All users updated.
3083 Handle required access mode.
3084 (grub_arcdisk_write): Implement.
3085 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
3086 (grub_arc_firmware_vector): Make buffer to write a const buffer.
3087
e06c2e7a
VS
30882012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3089
3090 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
3091 (read_sblock): Don't attempt to read superblocks outside the disk size.
3092
ff447958
VS
30932012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3094
3095 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
3096 first superblock to find the second one when possible.
3097
9e88df39
VS
30982012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 * util/grub-install.in: Fix an ARC bug.
3101 Print a warning if no platform-specific setup is available.
3102
bb26e4ff
VS
31032012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 Use static allocation rather than scratch pointer in reed_solomon.
3106 It decreases its size significantly and avoids a variable in .text.
3107
3108 * grub-core/lib/reed_solomon.c (scratch): Removed.
3109 (chosenstat): New const or static array.
3110 (sigma): Likewise.
3111 (errpot): Likewise.
3112 (errpos): Likewise.
3113 (sy): Likewise.
3114 (mstat): Likewise.
3115 (errvals): Likewise.
3116 (eqstat): Likewise.
3117 (pol_evaluate): Replace x with log_x argument. All users updated.
3118 (syndroms): Removed.
3119 (gauss_solve): Use statically allocated arrays.
3120 (rs_recover): Likewise.
3121 Calculate syndroms directly.
3122 (decode_block): Use statically allocated arrays.
3123 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
3124 (main) [TEST]: Allow -DTEST -DSTANDALONE.
3125
2e13ede5
VS
31262012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3127
3128 Eliminate fixed limit on reed solomon decoder length.
3129
3130 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
3131 rather than hardcoding the address.
3132 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
3133 no_reed_solomon_length.
3134 Move gate_a20 to no-reed-solomon part.
3135 Don't force a particular size of no reed-solomon part.
3136 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
3137 Removed.
3138 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
3139 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
3140
f8a9ab12
VS
31412012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 * grub-core/commands/wildcard.c (match_files): Handle filenames
3144 without explicit device.
3145 (wildcard_expand): Don't add explicit device if not already present.
3146 * tests/grub_script_echo1.in: Add a new expansion test.
3147
87edb894
VS
31482012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 Replace single-linked with double-linked lists. It results in more
3151 compact and more efficient code.
3152
3153 * grub-core/kern/list.c (grub_list_push): Moved from here ...
3154 * include/grub/list.h (grub_list_push): ... to here. Set prev.
3155 (grub_list_remove): Moved from here ...
3156 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
3157 (grub_prio_list_insert): Set prev.
3158 * include/grub/list.h (grub_list): Add prev. All users updated.
3159
48b391e9
VS
31602012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 Handle newer autotools. Add some missing quotes while on it.
3163
3164 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
3165 (pkglib_DATA): Move grub-mkconfig_lib from here ...
3166 (pkgdata_DATA): ... here.
3167 * Makefile.util.def (update-grub_lib): Removed.
3168 * conf/Makefile.common (pkglib_DATA): Removed.
3169 (pkglib_SCRIPTS): Likewise.
3170 (pkgdata_DATA): New variable.
3171 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
3172 needed.
3173 Add missing quotes.
3174 Remove unused variable while on it.
3175 * tests/util/grub-shell.in: Likewise.
3176 * util/grub-install.in: Likewise.
3177 * util/grub-mkconfig.in: Likewise.
3178 * util/grub-mknetdir.in: Likewise.
3179 * util/grub-mkrescue.in: Likewise.
3180 * util/grub-mkstandalone.in: Likewise.
3181 * util/grub.d/00_header.in: Likewise.
3182 * util/grub.d/10_hurd.in: Likewise.
3183 * util/grub.d/10_illumos.in: Likewise.
3184 * util/grub.d/10_kfreebsd.in: Likewise.
3185 * util/grub.d/10_linux.in: Likewise.
3186 * util/grub.d/10_netbsd.in: Likewise.
3187 * util/grub.d/10_windows.in: Likewise.
3188 * util/grub.d/20_linux_xen.in: Likewise.
3189 * util/grub.d/30_os-prober.in: Likewise.
3190 * util/update-grub_lib.in: Removed.
3191
31922012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
3193
3194 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
3195 a workaround for intel problem.
3196
66832792
PRP
31972012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
31982012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
31992012-01-23 pfsmorigo
3200
3201 * util/grub-install.in: Support dd'in into PreP partition.
3202 * util/grub-probe.c (probe): Support discovering partition type.
3203 (main): Support -t msdos_parttype.
3204
7816a17e
VS
32052012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3206
3207 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
3208 infinite recursion using counter.
3209 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
3210 init to skip it if the magic check fails.
3211 (dec_stream_header): Init s->crc32.
3212
8f9d3a8c
ZB
32132012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
32142012-01-22 Zachary Bedell <pendorbound@gmail.com>
32152012-01-22 Richard Laager <rlaager@wiktel.com>
3216
3217 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
3218 All users updated.
3219 (find_bestub): Determine correct size.
3220 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
3221 (scan_disk): Align the size down.
3222 Call check pool before find_bestub to have ashift.
3223
b055dd32
VS
32242012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3225
3226 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
3227 dprintf in no-malloc zone.
3228
d779e9bd
ML
32292012-01-22 Mario Limonciello <mario_limonciello@dell.com>
3230
3231 * configure.ac: Add back in test for limits.h.
3232
b508af69
VS
32332012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 Support 4K-sector NTFS.
3236
3237 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
3238 (grub_ntfs_data): Remove blocksize.
3239 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
3240 Remove data argument. All users updated.
3241
dad9c8b5
VS
32422012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3243
3244 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
3245 being in .text to avoid dprel references.
3246 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
3247 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
3248 (grub_arch_highmemsize): Likewise.
3249 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
3250 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
3251 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
3252
d43a777e
VS
32532012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3254
3255 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
3256
3257 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
3258 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
3259
34e4208f
VS
32602012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3261
3262 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
3263 GRUB_UTIL.
3264 (grub_set_datetime_cmos): Likewise.
3265
3ec0fc1c
VS
32662012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3267
3268 Make XZ compression parameters dependent on target and not host CPU.
3269
3270 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
3271 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
3272
22489834
VS
32732012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3274
3275 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
3276 set but not used variable.
3277
8502fbca
VS
32782012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
3281 created when no uuid support is compiled into mkfs.reiser.
3282
76df2068
VS
32832012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3284
3285 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
3286 (utf8_to_macroman): Do the opposite.
3287 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
3288
64e3f8f6
VS
32892012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 * configure.ac: Refise build qemu_mips w/o unifont.
3292
9c271078
VS
32932012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 Eliminate grub_min/grub_max prone to overflow usage.
3296
3297 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
3298 (poll_nonroot_hub): Likewise.
3299 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
3300 (grub_affs_label): Likewise.
3301 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
3302 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
3303 (grub_hfs_label): Likewise.
3304 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
3305 * grub-core/fs/zfs/zfs.c (MIN): Remove.
3306 (zap_leaf_array_equal): Use grub_size. Remove MIN.
3307 (zap_leaf_array_get): Likewise.
3308 (dnode_get_path): Likewise.
3309 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
3310 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
3311 * grub-core/script/execute.c (grub_script_break): Likewise.
3312 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
3313 grub_max.
3314 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
3315 * include/grub/misc.h (grub_min): Removed.
3316 (grub_max): Likewise.
3317
80662dbc
VS
33182012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3319
3320 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
3321 direct.inode = 0.
3322
e6da1467
VS
33232012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3324
3325 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
3326
b1ac4cb1
VS
33272012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3328
3329 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
3330
b4bf7c3b
VS
33312012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
3334 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
3335
8ee1101a
VS
33362012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3337
3338 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
3339 rather than a hack for grub_strncasemap.
3340
33412012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3342
3343 Support multiple initrds
3344 Note: part of this was accidently committed in r3739.
3345
3346 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
3347 initrd.
3348 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3349 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3350 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3351 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3352 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3353
4d1e2bc9
VS
33542012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3355
3356 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
3357 disks with unknown size.
3358 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
3359
75b49ebe
VS
33602012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3361
3362 Remove defines pertaining to arbitrary limits not affecting GRUB
3363 anymore.
3364
3365 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
3366 (EXT2_MAX_SYMLINKCNT): Likewise.
3367 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
3368 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
3369 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
3370 (GRUB_PXE_MAX_BLKSIZE): Likewise.
3371 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
3372 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
3373 (DN_MAX_OBJECT_SHIFT): Likewise.
3374 (DN_MAX_OFFSET_SHIFT): Likewise.
3375 (DN_MAX_OBJECT): Likewise.
3376 (DNODES_PER_LEVEL_SHIFT): Likewise.
3377 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
3378 (SPA_MAXBLOCKSIZE): Likewise.
3379 (SPA_BLOCKSIZES): Likewise.
3380 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
3381 (MZAP_MAX_BLKSZ): Likewise.
3382
74a1dce7
VS
33832012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3384
3385 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
3386 handle NULL appropriately.
3387 Remove MIN.
3388
30c7d3ce
VS
33892012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 Fix efiemu.
3392
3393 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
3394 cpu/types.h.
3395 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
3396 * configure.ac: Fix efiemu check.
3397
3c76ea0c
VS
33982012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3399
3400 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
3401 grub_probe.
3402 Reported by: adamwill
3403
7e532280
SG
34042012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
3405
3406 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
3407
30492374
VS
34082012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3409
3410 Fix handling of wide characters in gfxterm.
3411
3412 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
3413 (clear_char): Likewise.
3414 (paint_char): Skip code == NULL chars.
3415 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
3416
e70cb72f
VS
34172012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3418
3419 * grub-core/normal/charset.c: Move comment to right place.
3420
5c827cf9
VS
34212012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3422
3423 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
3424 (GRUB_AFFS_FLAG_FFS): Put back where it was.
3425 (grub_affs_mount): Revert the correct version checking.
3426
53603892
VS
34272012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3428
3429 * docs/grub.texi (Unicode): Mention several other unsupported features.
3430
ff094b9b
VS
34312011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
3434 case statements as compile-time one.
3435 (direct_read): Prevent spurious warnings.
3436 (grub_squash_read_data): Likewise.
3437
c029da8a
VS
34382011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 Various squash4 fixes and LZO and XZ support.
3441
3442 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
3443 Add xzembed source files.
3444 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
3445 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
3446 (grub_squash_inode): New subtype long_dir.
3447 (SQUASH_TYPE_LONG_DIR): New inode type.
3448 (COMPRESSION): New enum.
3449 (XZBUFSIZ): New const.
3450 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
3451 (read_chunk): Use data->decompress.
3452 (zlib_decompress): New function.
3453 (lzo_decompress): Likewise.
3454 (xz_decompress): Likewise.
3455 (squash_mount): Set new data fields.
3456 (grub_squash_iterate_dir): Handle long dir.
3457 (squash_unmount): Free xzdec and xzbuf.
3458 (grub_squash_open): Check ino type.
3459 (direct_read): Stylistic fixes. Use data->decompress.
3460 (grub_squash_read_data): Likewise.
3461 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
3462 (get_byte): Likewise.
3463 (grub_zlib_disk_read): Removed.
3464 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
3465 (GRUB_POSIX_BOOL_DEFINED): New define.
3466 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
3467 * grub-core/lib/xzembed/xz.h: Addmissing includes.
3468 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
3469 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
3470
7a45a539
VS
34712011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3472
3473 Don't override more informative errors.
3474
3475 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
3476 * grub-core/font/font.c (open_section): Likewise.
3477 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
3478 filename. Don't override errors.
3479 (grub_cmd_openbsd_ramdisk): Don't override errors.
3480 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
3481 (grub_cmd_initrd): Likewise.
3482 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3483 (grub_cmd_initrd): Likewise.
3484 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
3485 (grub_cmd_linux): Likewise.
3486 (grub_cmd_initrd): Likewise.
3487 (grub_cmd_payload): Likewise.
3488 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3489 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
3490 (grub_cmd_module): Likewise.
3491 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3492 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3493 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
3494 (grub_cmd_xnu_mkext): Likewise.
3495 (grub_cmd_xnu_ramdisk): Likewise.
3496 (grub_xnu_check_os_bundle_required): Likewise.
3497 (grub_xnu_load_kext_from_dir): Likewise.
3498 (grub_cmd_xnu_kextdir): Likewise.
3499 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
3500
b2d004db
VS
35012011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3502
3503 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
3504 as 1024 in block size field. Found on one of my test images.
3505 Small optimisation while on it.
3506
ec000eac
VS
35072011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3508
3509 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
3510 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
3511 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
3512 performance fixes while on it.
3513 (grub_sfs_close): Fix memory leak while on it.
3514 (grub_sfs_label): Convert Latin1 to UTF-8.
3515
f50e1165
VS
35162011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3517
3518 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
3519 space to avoid overflows.
3520 (grub_hfs_label): Convert from macroman to UTF-8.
3521
2ae254de
VS
35222011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3523
3524 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
3525
0108f491
VS
35262011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3527
3528 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
3529
f45f5f89
VS
35302011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3531
3532 * unicode: Import Unicode 6.0 data.
3533
4d8c4765
VS
35342011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3535
63fa8ef9
VS
3536 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
3537 outside of range.
3538
35392011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3540
3541 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
3542
3543 * include/grub/charset.h (grub_getend): New function.
3544 * grub-core/script/function.c (grub_script_function_find): Use
3545 grub_getend.
3546 * grub-core/normal/completion.c (add_completion): Likewise.
3547
f3cb4a4e
VS
35482011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3549
3550 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
3551 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
3552 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
3553 (GRUB_UNICODE_TAG_END): Likewise.
3554 (GRUB_UNICODE_LAST_VALID): Likewise.
3555
5da8dbc5
VS
35562011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3557
3558 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
3559 len and make it smaller. All users updated.
3560 * util/import_unicode.py: Put length and not end character.
3561 Check length.
3562
8569f13d
VS
35632011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3564
3565 Make better Unicode-compliant and unify some UTF-8 code pathes.
3566
3567 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
3568 valid character.
3569 (grub_is_valid_utf8): Use grub_utf8_process.
3570 Check resulting code range.
3571 (grub_utf8_to_ucs4): Use grub_utf8_process.
3572 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
3573 valid character.
3574
cc4fddf5
VS
35752011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3576
3577 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
3578
bbc47747
VS
35792011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 * docs/grub.texi (Filesystems): Mention AFS.
3582
f63d6bf4
VS
35832011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3584
3585 * docs/grub.texi (Filesystems): Clarify restrictions.
3586 (Regexp): Mention non-Unicode regexp behaviour.
3587 (Other): Mention non-Unicode matching behaviour.
3588
74bbf0db
VS
35892011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3590
f63d6bf4 3591 Make HFS implementation use MacRoman.
74bbf0db
VS
3592
3593 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
3594 (macroman): New const array.
3595 (macroman_to_utf8): New function.
3596 (utf8_to_macroman): Likewise.
3597 (grub_hfs_find_dir): Use utf8_to_macroman.
3598 (grub_hfs_dir): Use macroman_to_utf8.
3599 Set case_insensitive.
3600
4ea0316e
VS
36012011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
3604
d3c13cbd
VS
36052011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3606
3607 Integrate hints into autogeneration scripts.
3608
3609 * docs/grub.texi (Filesystems): Add a hostdisk example.
3610 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
3611 (grub-probe): Add ofpath.
3612 * gentpl.py: Remove group nosparc64.
3613 * grub-core/commands/search.c (cache_entry): New struct.
3614 (cache): New var.
3615 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
3616 * grub-core/commands/search_wrap.c (options): Add platform-specific
3617 hint options.
3618 (grub_cmd_search): Handle platform-specific hints.
3619 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
3620 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
3621 (grub_util_biosdisk_data): Likewise.
3622 (grub_util_biosdisk_open): Set device_map.
3623 (read_device_map): Handle "" as indication of no map.
3624 Set device_map.
3625 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
3626 (grub_util_biosdisk_get_compatibility_hint): New function.
3627 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
3628 * include/grub/emu/hostdisk.h
3629 (grub_util_biosdisk_get_compatibility_hint): New proto.
3630 * util/grub-install.in: Don't call grub-mkdevicemap.
3631 Add platform-specific hint to load.cfg.
3632 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
3633 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
3634 hints. Set root preliminary to compatibility hint, not to OS name.
3635 * util/grub-probe.c (PRINT_*): Add hints.
3636 (print): Make static.
3637 (escape_of_path): New function.
3638 (guess_bios_drive): Likewise.
3639 (guess_efi_drive): Likewise.
3640 (guess_baremetal_drive): Likewise.
3641 (print_full_name): Likewise.
3642 (probe): Handle hints.
3643 (main): Likewise.
3644 * util/ieee1275/devicemap.c: Removed.
3645 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
3646 updated.
3647 (grub_util_devname_to_ofpath): Return NULL on failure.
3648
3649 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
3650 resource leak.
3651 * util/getroot.c (grub_util_pull_device): Fix memory leak.
3652
3653 * po/POTFILES.in: Regenerated.
3654
3655 Allow purely long options
3656
3657 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
3658 (SHORT_ARG_USAGE): Likewise.
3659 (grub_arg_show_help): Compare opt with help_options.
3660 (parse_option): Receive opt as argument. If makes big simplificatons.
3661 All users updated
3662
00ce2df3
VS
36632011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3664
3665 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
3666 Restructure to avoid warning.
3667
e77e325f
VS
36682011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3669
3670 * util/grub-install.in: Account for possible escaped comma in device
3671 name.
3672
165099ea
VS
36732011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3674
3675 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
3676 channel.
3677
ce4a999d
VS
36782011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3679
3680 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
3681 allocation and zero-setting.
3682 (grub_ieee1275_get_devname): Check that alias is complete.
3683
379586ad
VS
36842011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3685
3686 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
3687 unaligned segments.
3688
9197b0ad
VS
36892011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3690
3691 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
3692 prefix.
3693 (grub_ofdisk_open): Check and discard ieee1275 prefix.
3694 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
3695 Add ieee1275 prefix.
3696
edddb7f9
VS
36972011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3698
3699 * docs/grub.texi (Filesystems): Update.
3700
a1a8b1b9
VS
37012011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3702
3703 Support odc, newc and bigendian cpio formats.
3704
3705 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
3706 * grub-core/Makefile.core.def (newc): New module.
3707 (odc): Likewise.
3708 (cpio_be): Likewise.
3709 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
3710 (MAGIC): Likewise.
3711 (MAGIC2): Likewise.
3712 (head) [MODE_ODC]: Adapt for the format.
3713 (head) [MODE_NEWC]: Likewise.
3714 (head) [!MODE_*]: Write fields of interest as arrays.
3715 (MAGIC_USTAR): Removed.
3716 (read_number) [MODE_NEWC]: Change to hex.
3717 (read_number) [!MODE_*]: Parse binary arrays.
3718 (grub_cpio_find_file): Factor out the code for better structure and
3719 always use read_number.
3720 (grub_cpio_mount): Use MAGIC and MAGIC2.
3721 (grub_cpio_dir): Exit on first hook non-0 return.
3722 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
3723 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
3724 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
3725 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
3726 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
3727 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
3728 * grub-core/fs/newc.c: New file.
3729 * grub-core/fs/odc.c: Likewise.
3730 * grub-core/fs/cpio_be.c: Likewise.
3731
58eba9ee
VS
37322011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3733
3734 Fix handling of tar numbers occupying the whole field.
3735
3736 * grub-core/fs/cpio.c (read_number): New function.
3737 (grub_cpio_find_file): Use read_number instead of strtoull.
3738
a54a0e12
VS
37392011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3740
3741 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
3742 occupying the whole field size.
3743
a6120aca
LA
37442011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
3745
3746 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
3747
a93964ce
VS
37482011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3749
3750 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
3751
3ea1ca46
SG
37522011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
3753
3754 * grub-core/Makefile.core.def (lzma_decompress): Add missing
3755 TARGET_IMG_LDFLAGS.
3756
b87f7ef2
VS
37572011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3758
3759 * util/getroot.c (ESCAPED_PATH_MAX): New define.
3760 (mountinfo_entry): Increase the field size to take escaping into
3761 account.
3762 (find_root_device_from_libzfs): Add one byte to size of strings for
3763 security.
3764
62092395
VS
37652011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3766
3767 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
3768 an assert.
3769 * util/grub-setup.c (setup): Likewise.
3770
1f0b1a77
VS
37712011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3772
3773 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
3774 _LzmaDecodeA.
3775
8eba9997
VS
37762011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3777
3778 * docs/grub.texi (Internationalisation): New section.
3779
dd0c91e9
VS
37802011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3781
3782 * docs/grub.texi (Loopback booting): New section.
3783
37842011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
3785
3786 * util/grub-mkstandalone.in: Fix minor typo errors.
3787
198e150a
VS
37882011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
3791
3792 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
3793 net/icmp.c and net/icmp6.c.
3794 (http): New module.
3795 (priority_queue): Likewise.
3796 * grub-core/io/bufio.c: Rewritten.
3797 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
3798 TYPE_WITH_CONFIGFILE_OPTION.
3799 (legacy_commands): Add bootp and dhcp.
3800 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
3801 (grub_legacy_parse): Likewise.
3802 * grub-core/lib/priority_queue.c: New file.
3803 * grub-core/net/arp.c: Add missing license header.
3804 (arp_find_entry): Removed.
3805 (arp_find_entry): Likewise.
3806 (grub_net_arp_resolve): Rename to ...
3807 (grub_net_arp_send_request): ...this.
3808 (grub_net_arp_receive): New card argument.
3809 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
3810 Set router and DNS server.
3811 (grub_net_configure_by_dhcp_ack): Handle routing information.
3812 (grub_cmd_bootp): Set checksum.
3813 (grub_bootp_init): Remove net_dhcp.
3814 * grub-core/net/dns.c: New file.
3815 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
3816 completion.
3817 (get_card_packet): Handle allocation.
3818 (grub_efinet_findcards): Set mtu.
3819 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
3820 (get_card_packet): Handle allocation.
3821 (emucard): Set mtu.
3822 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
3823 (GRUB_MOD_INIT): Set mtu.
3824 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
3825 mtu.
3826 (get_card_packet): Handle allocation.
3827 (grub_ofnet_findcards): Set mtu.
3828 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
3829 assert.
3830 (grub_net_recv_ethernet_packet): Handle IPv6.
3831 * grub-core/net/http.c: New file.
3832 * grub-core/net/icmp.c: Likewise.
3833 * grub-core/net/icmp6.c: Likewise.
3834 * grub-core/net/ip.c (ip6addr): New type.
3835 (ip6hdr): Likewise.
3836 (reassemble): Likewise.
3837 (cmp): New function.
3838 (reassembles): New variable.
3839 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
3840 (id): New variable.
3841 (send_fragmented): New function.
3842 (grub_net_send_ip_packet): Rename to ...
3843 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
3844 Handle non-UDP.
3845 (grub_net_recv_ip_packets): Rename to ...
3846 (handle_dgram): ... this. Check checksum. Handle non-UDP.
3847 (free_rsm): New function.
3848 (free_old_fragments): Likewise.
3849 (grub_net_recv_ip4_packets): New function.
3850 (grub_net_send_ip6_packet): Likewise.
3851 (grub_net_send_ip_packet): Likewise.
3852 (grub_net_recv_ip6_packets): Likewise.
3853 (grub_net_recv_ip_packets): Likewise.
3854 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
3855 (LINK_LAYER_CACHE_SIZE): New const.
3856 (link_layer_find_entry): New function.
3857 (grub_net_link_layer_add_address): Likewise.
3858 (grub_net_link_layer_resolve_check): Likewise.
3859 (grub_net_link_layer_resolve): Likewise.
3860 (grub_net_ipv6_get_slaac): Likewise.
3861 (grub_net_ipv6_get_link_local): Likewise.
3862 (grub_cmd_ipv6_autoconf): Likewise.
3863 (parse_ip): Handle one number representation.
3864 (parse_ip6): New functoion.
3865 (match_net): Handle IPv6.
3866 (grub_net_resolve_address): Handle IPv6 and DNS.
3867 (grub_net_resolve_net_address): Handle IPv6.
3868 (route_cmp): New function.
3869 (grub_net_route_address): Find best route.
3870 (grub_net_addr_to_str): Handle IPv6.
3871 (grub_net_addr_cmp): New function.
3872 (grub_net_add_addr): Register local route.
3873 (print_net_address): Handle net address.
3874 (grub_net_poll_cards): Retransmit TCP.
3875 (grub_net_poll_cards_idle_real): Likewise.
3876 (have_ahead): New function.
3877 (grub_net_seek_real): Use underlying seek.
3878 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
3879 * grub-core/net/tcp.c: New file.
3880 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
3881 (cmp): New function.
3882 (ack): Likewise.
3883 (tftp_receive): Handle unordered input.
3884 (destroy_pq): New function.
3885 (tftp_close): Close pq.
3886 * grub-core/net/udp.c: Put missing license header.
3887 (grub_net_udp_socket): New function.
3888 (udp_socket_register): Likewise.
3889 (grub_net_udp_close): Likewise.
3890 (grub_net_recv_udp_packet): Check checksum.
3891 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
3892 * include/grub/misc.h (grub_memchr): New function.
3893 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
3894 (grub_net_card_driver): Return buf in recv.
3895 (grub_net_slaac_mac_list): New struct.
3896 (grub_network_level_protocol_id): Add ipv6.
3897 (grub_net_network_level_addr): Likewise.
3898 (grub_net_network_level_net_addr): Likewise.
3899 (grub_net_app_protocol): Add seek.
3900 (grub_net_socket): Removed.
3901 (grub_net_sockets): Likewise.
3902 (grub_net_socket_register): Likewise.
3903 (grub_net_socket_unregister): Likewise.
3904 (FOR_NET_SOCKETS): Likewise.
3905 (grub_net_add_addr): Add const.
3906 (GRUB_NET_BOOTP_*): New enum.
3907 (grub_net_addr_cmp): New proto.
3908 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
3909 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
3910 (grub_net_hwaddr_to_str): NEw proto.
3911 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
3912 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
3913 (grub_dns_init): New proto.
3914 (grub_dns_fini): Likewise.
3915 (grub_net_tcp_retransmit): Likewise.
3916 (grub_net_link_layer_add_address): Likewise.
3917 (grub_net_link_layer_resolve_check): Likewise.
3918 (grub_net_link_layer_resolve): Likewise.
3919 (grub_net_dns_lookup): Likewise.
3920 (grub_net_add_dns_server): Likewise.
3921 (grub_net_remove_dns_server): Likewise.
3922 (GRUB_NET_TRIES): New const.
3923 (GRUB_NET_INTERVAL): Likewise.
3924 * include/grub/net/arp.h: Mostly rewritten.
3925 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
3926 * include/grub/net/ip.h: Mostly rewritten.
3927 * include/grub/net/netbuff.h: Indent.
3928 * include/grub/net/tcp.h: New file.
3929 * include/grub/net/udp.h: Mostly rewritten.
3930 * include/grub/priority_queue.h: New file.
3931 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
3932 (grub_swap_bytes64_compile_time): Likewise.
3933 (grub_cpu_to_be16_compile_time): Likewise.
3934 (grub_cpu_to_be32_compile_time): Likewise.
3935 (grub_cpu_to_be64_compile_time): Likewise.
3936 (grub_be_to_cpu64_compile_time): Likewise.
3937
215c1800
VS
39382011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
3939
3940 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
3941 UINT_TO_PTR with cast.
3942
c17e546c
VS
39432011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
3946 don't use them.
3947
ff6b18b6
VS
39482011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3949
3950 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
3951 already there.
3952
70ffcc93
VS
39532011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3954
3955 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
3956 confusing ipxe.
3957
e5f4d260
VS
39582011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
3961 Add missing const attribute.
3962 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
3963 Likewise.
3964 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
3965 Likewise.
3966
8e54b4b7
VS
39672011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3968
3969 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
3970 misaligned access.
3971 (serpent_setkey): Likewise.
3972 (serpent_encrypt_internal): Likewise.
3973 (serpent_decrypt_internal): Likewise.
3974 (serpent_encrypt): Don't put an alignment-increasing cast.
3975 (serpent_decrypt): Likewise.
3976 (serpent_test): Likewise.
3977
813c0a2b
VS
39782011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3979
3980 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
3981
f2b60fbd
VS
39822011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3983
3984 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
3985
3986 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
3987 grub_addr_t casts.
3988 (PTR_TO_UINT64): Likewise.
3989 (PTR_TO_UINT32): Likewise.
3990
5ef5c511
VS
39912011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3992
3993 * util/grub-mkimage.c (generate_image): Decrease the higher limit
3994 because of stack.
3995 * util/grub-setup.c (setup): Don't add redundancy past the higher load
3996 limit.
3997
c476e6df
VS
39982011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
4001 text_width > available width a bit more gracefully.
4002
384ad7cc
VS
40032011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4004
4005 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
4006 current address calculation.
4007
96f8caf8
VS
40082011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4009
4010 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
4011 stack.
4012 (encode_block): Likewise.
4013
276b7a8b
VS
40142011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4015
4016 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
4017 certainety.
4018
e3fd394a
VS
40192011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4020
4021 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
4022 non-RS part to avoid RS messing with GDT.
4023 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
4024 Increase to suit in realmode routines.
4025
40262011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 * grub-core/kern/i386/realmode.S: Increase alignment.
4029 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
4030
ee9c2e7a
VS
40312011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
4034 be deterministic.
4035 (syndroms): Compute 0 syndrom.
4036 (rs_recover): Use 0 syndrom.
4037
7a7f7cc9
VS
40382011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
4041
a14b16d1
VS
40422011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4043
4044 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
4045 brackets.
4046
9f59e9fc
VS
40472011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4048
ca1b552c
VS
4049 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
4050 account.
4051 (get_top_pad): Likewise.
4052 (get_right_pad): Likewise.
4053 (get_bottom_pad): Likewise.
4054
40552011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 4058
e739d698
VS
40592011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4060
4061 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
4062 attribute as the structure isn't guaranteed to be properly aligned.
4063 (grub_efi_pci_device_path): Likewise.
4064 (grub_efi_pccard_device_path): Likewise.
4065 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
4066 specify the size of `memory_type'.
4067 (grub_efi_vendor_device_path): Likewise.
4068 (grub_efi_controller_device_path): Likewise.
4069 (grub_efi_acpi_device_path): Likewise.
4070 (grub_efi_expanded_acpi_device_path): Likewise.
4071 (grub_efi_atapi_device_path): Likewise.
4072 (grub_efi_scsi_device_path): Likewise.
4073 (grub_efi_fibre_channel_device_path): Likewise.
4074 (grub_efi_1394_device_path): Likewise.
4075 (grub_efi_usb_device_path): Likewise.
4076 (grub_efi_usb_class_device_path): Likewise.
4077 (grub_efi_i2o_device_path): Likewise.
4078 (grub_efi_mac_address_device_path): Likewise.
4079 (grub_efi_ipv4_device_path): Likewise.
4080 (grub_efi_ipv6_device_path): Likewise.
4081 (grub_efi_infiniband_device_path): Likewise.
4082 (grub_efi_uart_device_path): Likewise.
4083 (grub_efi_vendor_messaging_device_path): Likewise.
4084 (grub_efi_hard_drive_device_path): Likewise.
4085 (grub_efi_cdrom_device_path): Likewise.
4086 (grub_efi_vendor_media_device_path): Likewise.
4087 (grub_efi_file_path_device_path): Likewise.
4088 (grub_efi_protocol_device_path): Likewise.
4089 (grub_efi_piwg_device_path): Likewise.
4090 (grub_efi_bios_device_path): Likewise.
4091
cb8f88ea
VS
40922011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4093
4094 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
4095 (grub_ucs4_to_utf8_alloc): Likewise.
4096 (grub_ucs4_to_utf8): Likewise.
4097 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
4098 (grub_ucs4_to_utf8_alloc): Likewise.
4099
309e5352
VS
41002011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 AFFS never uses unicode.
4103
4104 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
4105 (grub_latin1_to_utf8): New inline function.
4106 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
4107
e7987e1b
VS
41082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4109
4110 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
4111 overflow.
4112
efc2616e
VS
41132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4114
4115 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
4116 (grub_squash_dirent_header): Likewise.
4117 (read_chunk): Don't double swap.
4118 (grub_squash_iterate_dir): Fix swap sizes.
4119
3c349f5a
VS
41202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4121
4122 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
4123
b453412d
VS
41242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4125
4126 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
4127 (grub_hfs_iterate_dir): Likewise.
4128
12e9d4d1
VS
41292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4130
4131 Fix video on platforms where unaligned access is forbidden.
4132 Make several optimisations while on it.
4133
4134 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
4135 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4136 (grub_video_fbblit_replace_32bit_1bit): Likewise.
4137 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4138 Disable.
4139 (grub_video_fbblit_replace_16bit_1bit):
4140 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4141 (grub_video_fbblit_replace_8bit_1bit): Likewise.
4142 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
4143 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
4144 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4145 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4146 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
4147 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
4148 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
4149 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
4150 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
4151 (grub_video_fbblit_replace_index_RGB888): Likewise.
4152 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
4153 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
4154 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
4155 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4156 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
4157 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
4158 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4159 Disable.
4160 (grub_video_fbblit_blend_XXX565_1bit):
4161 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4162 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
4163 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
4164 void *.
4165 * grub-core/video/fb/video_fb.c (common_blitter)
4166 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
4167 (grub_video_fb_create_render_target_from_pointer)
4168 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
4169 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
4170 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
4171 definition.
4172 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
4173
ace96609
VS
41742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4175
4176 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
4177 HH22 and HM10 relocations.
4178
fd261d73
VS
41792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4180
4181 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
4182
e59b7857
VS
41832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4184
4185 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
4186 allocation succeeded.
4187
9b4baaa4
VS
41882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4189
4190 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
4191 argument a u8 pointer. All users updated.
4192 Handle unaligned buffers.
4193
dc713193
VS
41942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
4197 add_part to workaround compiler bug.
4198
30dd48c2
VS
41992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4200
4201 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
4202
0c6087a8
VS
42032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4204
4205 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
4206 Reserve alignment invariants.
4207 (grub_multiboot_load): Likewise.
4208 (retrieve_video_parameters): Likewise.
4209 (grub_multiboot_make_mbi): Likewise.
4210
c2e77777
VS
42112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4212
4213 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
4214 incorrect pointer.
4215
b70b6d11
VS
42162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4217
4218 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
4219 (grub_pata_pio_write): Likewise.
4220
02a2bf83
VS
42212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 Add noreturn attributes and remove unreachable code.
4224
4225 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
4226 code.
4227 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
4228 code. Mark as noreturn.
4229 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
4230 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
4231 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
4232 unreachable code.
4233 * grub-core/kern/main.c (grub_main): Mark as noreturn.
4234 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
4235 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
4236 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
4237 * include/grub/kernel.h (grub_main): Mark as noreturn.
4238 * include/grub/reader.h (grub_rescue_run): Likewise.
4239
2019d09e
VS
42402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4241
4242 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
4243 redundant declaration.
4244
d1c501ee
VS
42452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4246
4247 * include/grub/net.h (grub_net_network_level_interfaces): Remove
4248 redundant declaration.
4249 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
4250
61664420
VS
42512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4252
4253 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
4254 to ensure alignment.
4255 (grub_hdparm_print_identify): Make argument uint16 * to ensure
4256 alignment. Ensure tmp alignment.
4257 (grub_cmd_hdparm): Ensure buf alignment.
4258 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
4259 to ensure alignment.
4260 (grub_ata_dumpinfo): Ensure text alignment.
4261 (grub_atapi_identify): Preserve alignment invariant.
4262 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
4263
0d51ee20
VS
42642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4265
4266 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
4267 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
4268 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
4269 * include/grub/misc.h (grub_reboot)
4270 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
4271 (grub_halt) [__mips__]: Likewise.
4272
753ef8c1
VS
42732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
4276 Remove redundant declaration.
4277 (grub_mmap_get_post64): Likewise.
4278 (grub_mmap_get_upper): Likewise.
4279 (grub_mmap_get_lower): Likewise.
4280
85c85365
VS
42812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4282
4283 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
4284 uint32_t * to ensure alignment.
4285 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
4286
a23f2cc4
VS
42872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4288
93018f64
VS
4289 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
4290 uint16_t * to ensure alignment.
4291 (sun_pc_partition_map_iterate): Make `block' a union to ensure
4292 alignment.
4293
42942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
4297 to ensure alignment.
4298 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
4299
58acccd6
VS
43002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4301
4302 * grub-core/fs/ntfs.c (u16at): Make into inline function.
4303 Handle unaligned pointers.
4304 (u32at): Likewise.
4305 (u64at): Likewise.
4306 (fixup): Use byte access instead of v16at.
4307 (find_attr): Fix imporper usage of v32at.
4308 (read_data): Likewise.
4309 (list_file): Handle byte-swapping and unaligned strings.
4310 (grub_ntfs_label): Likewise.
4311
9b05cad7
VS
43122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
4315 as it's not necessarily aligned.
4316
b3950b84
VS
43172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4318
4319 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
4320 redundant declaration.
4321 (grub_serial_init): Likewise.
4322 (grub_terminfo_init): Likewise.
4323
fcd232b7
VS
43242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4325
4326 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
4327 function.
4328 (ZAP_HASH_IDX): Likewise.
4329 (ZAP_LEAF_HASH_SHIFT): Likewise.
4330 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
4331 (LEAF_HASH): Likewise.
4332 (ZAP_LEAF_NUMCHUNKS): Likewise.
4333 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
4334 alignment invariants. Return pointer. All users updated.
4335 (ZAP_LEAF_ENTRY): Make into inline function.
4336 (NBBY): Removed.
4337 (xor): LIkewise.
4338 (xor_out): Use grub_crypto_xor.
4339 (dnode_get_path): Use grub_get_unaligned.
4340 (nvlist_find_value): Likewise.
4341 (grub_zfs_nvlist_lookup_uint64): Likewise.
4342 (grub_zfs_nvlist_lookup_string): Likewise.
4343 (get_nvlist_size): Likewise.
4344 (grub_zfs_open): Likewise.
4345 (fill_fs_info): Likewise.
4346 (grub_zfs_dir): Likewise.
4347 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
4348 alignment invariants.
4349 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
4350 necessarily aligned.
4351
f138623a
VS
43522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4353
4354 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
4355
564840dc
VS
43562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
4359 arithmetic to conserve alignment invariants.
4360
9b40df20
VS
43612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4362
4363 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
4364 redundant declaration.
4365 (grub_efiemu_mm_obtain_request): Likewise.
4366 (grub_efiemu_prepare): Likewise.
4367
d1c930f9
VS
43682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4369
4370 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
4371 to match types.
4372
4c5f3056
VS
43732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4374
4375 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
4376 case of aunaligned recptr.
4377 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
4378 alignment.
4379 (grub_hfsplus_btree_search): Handle unaligned index.
4380
728cba91
VS
43812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4382
4383 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
4384 to get freetag and skip.
4385
eb561f31
VS
43862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4387
4388 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
4389 array.
4390 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
4391 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
4392
20993fbb
VS
43932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4394
4395 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
4396 name for checksum and fix allocation algorithm.
4397
1f313b94
VS
43982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * include/grub/types.h (grub_properly_aligned_t): New type.
4401 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
4402 (grub_get_unaligned16): Add explicit casts.
4403 (grub_get_unaligned32): Likewise.
4404 (grub_get_unaligned64): Likewise.
4405 (grub_set_unaligned16): New function.
4406 (grub_set_unaligned32): Likewise.
4407
47ae27ec
VS
44082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4409
4410 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
4411
78c2cd1c
VS
44122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4413
4414 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
4415 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
4416 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
4417
53072f9b
VS
44182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4419
4420 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
4421 conditionals.
4422
055dc239
VS
44232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
4426 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
4427
496bd074
VS
44282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4429
4430 Unify and improve RAID and crypto xor.
4431
4432 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
4433 changed to grub_crypto_xor
4434 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
4435 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
4436 Use bigger types when possible.
4437
ef6e4335
VS
44382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 * grub-core/disk/raid.c (scan_devices): Fix condition.
4441
5d048bf2
VS
44422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4443
4444 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
4445 Make name a const ptr.
4446
ee533335
VS
44472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4448
4449 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
4450 first argument a const pointer.
4451 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
4452 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
4453 proto.
4454 (grub_children_iterate): Likewise.
4455 (grub_machine_mmap_iterate): Remove redundant declaration.
4456
cc8f3668
VS
44572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4458
4459 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
4460 (grub_cmd_acpi) [!x86]: Disable EBDA.
4461
c5fc563a
VS
44622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4463
4464 Enable UTF8 in gnulib regexp.
4465
4466 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
4467 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
4468 (isupper): Use grub_isupper.
4469 (isascii): New inline function.
4470 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
4471 * grub-core/lib/posix_wrap/wctype.h: Likewise.
4472 * grub-core/normal/charset.c (grub_utf8_process): New function.
4473 (grub_utf8_to_utf16): Use grub_utf8_process.
4474 (grub_encode_utf8_character): New function.
4475 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
4476 * include/grub/charset.h (grub_utf8_process): New declaration.
4477 (grub_encode_utf8_character): Likewise.
4478 * include/grub/misc.h (grub_islower): New inline function.
4479 (grub_isupper): Likewise.
4480 (grub_strchrsub): Moved down to fix the definitions.
4481
0af2346f
VS
44822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4483
4484 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
4485 specification.
4486
74dbd244
VS
44872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 * include/grub/loader.h (grub_loader_register_preboot_hook):
4490 Use struct preboot * and not void * for handle. All users updated.
4491 (grub_loader_unregister_preboot_hook): Likewise.
4492
1bc8f60d
VS
44932011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
4494
4495 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
4496 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
4497 UTF-16-BE. All users updated.
4498 (grub_hfsplus_cmp_catkey): Fix unicode handling.
4499 (grub_hfsplus_iterate_dir): Likewise.
4500 (grub_hfsplus_label): Likewise.
4501
48d6e456
VS
45022011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
4505
bf3a3857
VS
45062011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
4507
4508 Add missing const qualifiers.
4509
4510 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
4511 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
4512 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
4513 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
4514 (grub_lvm_check_flag): Likewise.
4515 * grub-core/efiemu/i386/coredetect.c
4516 (grub_efiemu_get_default_core_name): Likewise
4517 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
4518 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
4519 * grub-core/fs/ntfs.c (fixup): Likewise.
4520 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
4521 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
4522 (fzap_lookup): Likewise.
4523 (zap_lookup): Likewise.
4524 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
4525 * grub-core/lib/legacy_parse.c (check_option): Likewise.
4526 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
4527 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
4528 (grub_freebsd_add_meta_module): Likewise.
4529 (grub_cmd_freebsd_module): Likewise.
4530 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
4531 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
4532 (grub_xnu_writetree_get_size): Likewise.
4533 (grub_xnu_writetree_toheap_real): Likewise.
4534 (grub_xnu_find_key): Likewise.
4535 (grub_xnu_create_key): Likewise.
4536 (grub_xnu_create_value): Likewise.
4537 (grub_xnu_register_memory): Likewise.
4538 (grub_xnu_check_os_bundle_required): Likewise.
4539 (grub_xnu_scan_dir_for_kexts): Likewise.
4540 (grub_xnu_load_kext_from_dir): Likewise.
4541 * grub-core/normal/color.c (color_list): Likewise.
4542 * grub-core/normal/completion.c (current_word): Likewise.
4543 * grub-core/normal/menu_entry.c (insert_string): Likewise.
4544 * grub-core/term/serial.c (grub_serial_find): Likewise.
4545 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
4546 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
4547 Likewise.
4548 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
4549 (grub_freebsd_add_meta_module): Likewise.
4550 * include/grub/lib/arg.h (grub_arg_option): Likewise.
4551 * include/grub/net.h (grub_net_card_driver): Likewise.
4552 (grub_net_card): Likewise.
4553 (grub_net_app_protocol): Likewise.
4554 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
4555 * include/grub/serial.h (grub_serial_find): Likewise.
4556 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
4557 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
4558 (grub_xnu_create_value): Likewise.
4559 (grub_xnu_find_key): Likewise.
4560 (grub_xnu_scan_dir_for_kexts): Likewise.
4561 (grub_xnu_load_kext_from_dir): Likewise.
4562
4563 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
4564 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
4565 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
4566 Moved from here ...
4567 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
4568
112b4837
CW
45692011-11-28 Colin Watson <cjwatson@ubuntu.com>
4570
4571 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
4572
49e891ac
VS
45732011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
4576 (read_device): Fix size calculation.
4577
fd258e5c
RM
45782011-11-25 Robert Millan <rmh@gnu.org>
4579
4580 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
4581 (find_root_device_from_libzfs): Add zpool output parser to be used
4582 as fallback when libzfs isn't available.
4583
78845dc2
SG
45842011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
4585
4586 * po/Makefile.in.in: Add missing escape-continuation.
4587
adac5211
VS
45882011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
4591
10b64f1c
VS
45922011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4593
4594 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
4595
bb416954
VS
45962011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4597
4598 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
4599
bdfe9eeb
VS
46002011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4601
4602 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
4603
581ffa8a
VS
46042011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4605
4606 * grub-core/lib/adler32.c: Add missing license specification.
4607 * grub-core/lib/crc64.c: Likewise.
4608 * grub-core/loader/i386/pc/plan9.c: Likewise.
4609 * grub-core/partmap/plan.c: Likewise.
4610
2536cf64
LK
46112011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
4612
4613 Add facility to debug GRUB with gdb under qemu.
4614
4615 * grub-core/gdb_grub.in: New file.
4616 * grub-core/gmodule.pl.in: Likewise.
4617 * grub-core/Makefile.core.def (gmodule.pl): New script.
4618 (gdb_grub): Likewise.
4619
bc108a4a
VS
46202011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4621
4622 * util/grub-mount.c (argp_parser): Accept relative pathes.
4623 * util/grub-fstest.c (argp_parser): Likewise.
4624
111c1778
VS
46252011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4626
4627 Plan9 support.
4628
4629 * Makefile.util.def (libgrubmods): Add
4630 grub-core/partmap/plan.c.
4631 * docs/grub.texi: Notice Plan9 support.
4632 * grub-core/Makefile.core.def (plan9): New module.
4633 (part_plan): Likewise.
4634 * grub-core/loader/i386/pc/plan9.c: New file.
4635 * grub-core/partmap/plan.c: Likewise.
4636 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
4637 define.
4638 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
4639 * include/grub/mm.h (grub_extend_alloc): New inline function.
4640
c30be3b6
VS
46412011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 Make Reed-Solomon faster by using power of generator representation of
4644 GF(256)*.
4645
4646 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
4647 (gf_double_t): Likewise.
4648 (gf_invert): Removed.
4649 (gf_powx): New array.
4650 (gf_powx_inv): Likewise.
4651 (scratch): Move higher.
4652 (gf_reduce): Removed.
4653 (gf_mul): Use powx.
4654 (gf_invert): Likewise.
4655 (init_inverts): Replaced with ...
4656 (init_powx): ...this. All users updated.
4657 (pol_evaluate): Replace multiplications with additions.
4658 (rs_encode): Likewise.
4659 (gauss_eliminate): Call gf_invert.
4660 (grub_reed_solomon_add_redundancy): Call init_powx.
4661 (grub_reed_solomon_recover): Call init_powx unconditionally.
4662
fa5aeffc
VS
46632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4664
4665 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
4666
a346b81c
VS
46672011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4668
4669 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
4670 disk->partiton for safety.
4671
d89ee414
VS
46722011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4673
4674 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
4675 Fix a memory leak.
4676 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
4677
91ee7b6d
VS
46782011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4679
4680 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
4681
91e5a33d
VS
46822011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4683
4684 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
4685
9edd7be2
VS
46862011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4687
4688 Fix spaces handling in proc/self/mountinfo.
4689
4690 * util/getroot.c (unescape): New function.
4691 (grub_find_root_device_from_mountinfo): Use unescape.
4692
ba102053
VS
46932011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 Support ZFS embedding.
4696
4697 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
4698 (grub_zfs_fs): Register grub_zfs_embed.
4699
aa94b870
VS
47002011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4701
4702 Fix MIPS compilation.
4703
4704 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
4705 * include/grub/offsets.h: Rename decompressor fields from
4706 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
4707 * util/grub-mkimage.c (image_targets): Use new names.
4708
5fbdac14
VS
47092011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4710
4711 Defer multiboot device parsing until we're in compressed part.
4712
4713 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
4714 bsd_part. setdevice has fallen into disuse.
4715 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
4716 (bsd_part): Likewise.
4717 (boot_dev): New variable.
4718 (multiboot_trampoline): Don't parse multiboot device.
4719 Pass multiboot device in %edx.
4720 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
4721 grub_boot_device.
4722 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
4723 Likewise.
4724 * grub-core/kern/i386/pc/startup.S: Save edx.
4725 (grub_boot_drive): Removed.
4726 (grub_install_dos_part): Likewise.
4727 (grub_install_bsd_part): Likewise.
4728 (grub_boot_device): New variable.
4729 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
4730 (grub_install_bsd_part): Likewise.
4731 (grub_boot_drive): Likewise.
4732 (grub_boot_device): New variable.
4733 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
4734 Removed.
4735 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
4736 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
4737 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
4738 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
4739 * util/grub-install.in: Remove redundant condition.
4740
691cbb58
VS
47412011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4742
4743 Fix bug introduced by previous commit.
4744
4745 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
4746
60240b8b
VS
47472011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4748
4749 Use decompressors framework on i386-pc. It increases core size
4750 by 46 bytes but improves compatibility and maintainability.
4751
4752 * grub-core/Makefile.core.def (lzma_decompress): New image.
4753 (kernel): Add i386_pc_ldflags.
4754 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
4755 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
4756 to real_to_prot, prot_to_real and device info.
4757 * include/grub/offsets.h: Renamed decompressor offsets.
4758 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
4759 (image_target_desc): Remove raw_size and rename decompressor fields.
4760 (compress_kernel): Handle lzma.
4761 (generate_image): Handle decompressors on i386-pc.
4762
e9d3421c
VS
47632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4764
4765 * configure.ac: Add -fno-asynchronous-unwind-tables.
4766
2b23074a
VS
47672011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4768
4769 Move assembly code to C by using intwrap. It increases core size
4770 by 88 bytes but improves compatibility and maintainability.
4771
4772 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
4773 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
4774 ... here. Translated to C.
4775 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
4776 * grub-core/term/i386/pc/console.c (grub_console_getkey):
4777 ... here. Translated to C.
4778 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
4779 * grub-core/term/i386/pc/console.c (grub_console_getxy):
4780 ... here. Translated to C.
4781 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
4782 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
4783 ... here. Translated to C.
4784 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
4785 * grub-core/term/i386/pc/console.c (grub_console_cls):
4786 ... here. Translated to C.
4787 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
4788 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
4789 ... here. Translated to C.
4790 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
4791 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
4792 Translated to C.
4793 * grub-core/term/i386/pc/console.c (int10_9): New function.
4794 (grub_console_putchar): Likewise.
4795 * include/grub/i386/pc/console.h: Removed the not anymore shared
4796 functions.
4797
678f4b67
VS
47982011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4799
4800 Move grub_chainloader_real_boot out of the kernel.
4801
4802 * grub-core/Makefile.am: Remove machine/loader.h.
4803 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
4804 Removed.
4805 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
4806 variable.
4807 (grub_relocator16_keep_a20_enabled): Likewise.
4808 (grub_relocator16_boot): Fill new variables.
4809 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
4810 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
4811 relocator.
4812 (grub_chainloader_unload): Likewise.
4813 (grub_chainloader_cmd): Likewise.
4814 * include/grub/i386/pc/loader.h: Removed.
4815 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
4816 and esi. All initialisers updated.
4817
4626edf6
VS
48182011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
48192011-11-12 Colin Watson <cjwatson@ubuntu.com>
4820
4821 * Makefile.util.def (grub-mount): New util.
4822 * .bzrignore: Add grub-mount.
4823 * configure.ac: Check for fuse and enable grub-mount if available.
4824 * docs/man/grub-mount.h2m: New file.
4825 * util/grub-mount.c: Likewise.
4826
10f0117b
VS
48272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4828
4829 * grub-core/commands/efi/fixvideo.c: Gettextize.
4830 * grub-core/commands/hashsum.c: Likewise.
4831 * grub-core/commands/i386/cmostest.c: Likewise.
4832 * grub-core/commands/i386/pc/drivemap.c: Likewise.
4833 * grub-core/commands/i386/pc/lsapm.c: Likewise.
4834 * grub-core/commands/i386/pc/sendkey.c: Likewise.
4835 * grub-core/commands/lsmmap.c: Likewise.
4836 * grub-core/commands/menuentry.c: Likewise.
4837 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
4838 * grub-core/commands/setpci.c: Likewise.
4839 * grub-core/loader/i386/bsd.c: Likewise.
4840 * grub-core/loader/i386/linux.c: Likewise.
4841 * util/getroot.c: Likewise.
4842 * util/grub-editenv.c: Likewise.
4843 * util/grub-fstest.c: Likewise.
4844 * util/grub-mkfont.c: Likewise.
4845 * util/grub-mkimage.c: Likewise.
4846 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4847 * util/grub-pe2elf.c: Likewise.
4848 * util/grub-probe.c: Likewise.
4849 * util/grub-setup.c: Likewise.
4850 * util/ieee1275/ofpath.c: Likewise.
4851 * util/misc.c: Likewise.
4852 * util/raid.c: Likewise.
4853
566f779b
RM
48542011-11-11 Robert Millan <rmh@gnu.org>
4855
4856 * util/getroot.c (grub_util_get_geom_abstraction): Remove
4857 __attribute__((unused)) from `os_dev', which *is* being used.
4858
b50787de
VS
48592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4860
4861 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
4862 forgotten define.
4863 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
4864 GRUB_IA64_DL_GOT_ALIGN.
4865 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
4866 GRUB_IA64_DL_TRAMP_ALIGN.
4867
119d11c8
VS
48682011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 Replace grub_fatal with normal errors in i386 linux loader.
4871
4872 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
4873 (allocate_pages): Check find_efi_mmap_size return value.
4874 (grub_e820_add_region): Return error.
4875 (grub_linux_boot): Check mmap return value.
4876
6e0632e2
VS
48772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4878
4879 * grub-core/commands/acpihalt.c: Gettextized.
4880 * grub-core/commands/cacheinfo.c: Likewise.
4881 * grub-core/commands/cmp.c: Likewise.
4882 * grub-core/commands/efi/loadbios.c: Likewise.
4883 * grub-core/commands/gptsync.c: Likewise.
4884 * grub-core/commands/ieee1275/suspend.c: Likewise.
4885 * grub-core/commands/legacycfg.c: Likewise.
4886 * grub-core/commands/memrw.c: Likewise.
4887 * grub-core/commands/minicmd.c: Likewise.
4888 * grub-core/commands/parttool.c: Likewise.
4889 * grub-core/commands/time.c: Likewise.
4890 * grub-core/commands/videoinfo.c: Likewise.
4891 * grub-core/disk/geli.c: Likewise.
4892 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
4893 * grub-core/disk/luks.c: Likewise.
4894 * grub-core/disk/lvm.c: Likewise.
4895 * grub-core/font/font_cmd.c: Likewise.
4896 * grub-core/fs/zfs/zfscrypt.c: Likewise.
4897 * grub-core/fs/zfs/zfsinfo.c: Likewise.
4898 * grub-core/gfxmenu/view.c: Likewise.
4899 * grub-core/kern/emu/hostdisk.c: Likewise.
4900 * grub-core/kern/emu/main.c: Likewise.
4901 * grub-core/kern/emu/misc.c: Likewise.
4902 * grub-core/kern/emu/mm.c: Likewise.
4903 * grub-core/kern/mips/arc/init.c: Likewise.
4904 * grub-core/kern/mips/loongson/init.c: Likewise.
4905 * grub-core/kern/partition.c: Likewise.
4906 * grub-core/lib/i386/halt.c: Likewise.
4907 * grub-core/lib/mips/arc/reboot.c: Likewise.
4908 * grub-core/lib/mips/loongson/reboot.c: Likewise.
4909 * grub-core/loader/i386/pc/chainloader.c: Likewise.
4910 * grub-core/loader/i386/xnu.c: Likewise.
4911 * grub-core/loader/multiboot.c: Likewise.
4912 * grub-core/net/bootp.c: Likewise.
4913 * grub-core/net/net.c: Likewise.
4914 * grub-core/normal/term.c: Likewise.
4915 * grub-core/partmap/bsdlabel.c: Likewise.
4916 * grub-core/parttool/msdospart.c: Likewise.
4917 * grub-core/term/gfxterm.c: Likewise.
4918 * grub-core/term/terminfo.c: Likewise.
4919 * grub-core/video/i386/pc/vbe.c: Likewise.
4920 * util/grub-menulst2cfg.c: Likewise.
4921 * util/grub-mkdevicemap.c: Likewise.
4922 * util/grub-mklayout.c: Likewise.
4923 * util/grub-mkrelpath.c: Likewise.
4924 * util/grub-script-check.c: Likewise.
4925 * util/ieee1275/grub-ofpathname.c: Likewise.
4926 * util/resolve.c: Likewise.
4927
073aa7a9
VS
49282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4929
4930 Support %1$d syntax.
4931
4932 * tests/printf_unit_test.c: New file.
4933 * Makefile.util.def (printf_test): New test.
4934 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
4935
c76b5417
VS
49362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4937
4938 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
4939 fix.
4940
df067ad1
VS
49412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4942
4943 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
4944 dprintf.
4945 * grub-core/font/font.c (grub_font_load): Likewise.
4946
5b289bc5
VS
49472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4948
4949 * util/grub-macho2img.c: Add comment concerning gettext.
4950 * grub-core/lib/legacy_parse.c: Likewise.
4951
c1860f87
VS
49522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4953
4954 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
4955 (grub_xvasprintf): Likewise.
4956
d35d0d37
VS
49572011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 Add const keyword to grub_env_get and gettextize week days.
4960
4961 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
4962 (grub_read_hook_datetime): Return const char *.
4963 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
4964 updated.
4965 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
4966 Mark for gettext.
4967 (grub_get_weekday_name): Return const char *. Call gettext.
4968 * grub-core/script/argv.c (grub_script_argv_append): Receive const
4969 char * and len as the argument. All users updated.
4970 (grub_script_argv_split_append): Receive const char *.
4971 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
4972 * include/grub/env.h (grub_env_get): Likewise.
4973 (grub_env_read_hook_t): Return const char *.
4974 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
4975 (grub_script_argv_split_append): Likewise.
4976
9aed8a71
VS
49772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4978
4979 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
4980
067fdf00
VS
49812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4982
4983 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
4984 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
4985
a8bd9d39
VS
49862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4987
4988 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
4989 Fix prototype.
4990
f7ce5baf
VS
49912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
4992
4993 Fix mips compilation.
4994
4995 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
4996 normal decoder.
4997 (hashes): Use in embed decoder as well (for sizes).
4998 (dec_stream_header): Fix embed decompressor logic.
4999 (dec_stream_footer): Likewise.
5000
9bb182f3
VS
50012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5002
5003 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
5004 an error and not a fatal on unrecognised relocation types.
5005
63a9e6f6
VS
50062011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5007
5008 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
5009 Issue error rather than printf on unknown arguments.
5010
4c458569
VS
50112011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5012
5013 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
5014 Make buf a const.
5015
e2d22baf
VS
50162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5017
5018 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
5019 Fix module name.
5020
53dc8590
VS
50212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5022
5023 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
5024 leftover debug printf.
5025
6c189294
VS
50262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5027
5028 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
5029
f7688369
VS
50302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5031
5032 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
5033 A stylistic fix.
5034
11a775a3
VS
50352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5036
5037 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
5038
33f784e8
SL
50392011-11-10 Shea Levy <slevy@tieronedesign.com>
5040
5041 Allow all modules to perform serial IO
5042
5043 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
5044 * include/grub/serial.h (grub_serial_port_configure): New inline
5045 function.
5046 (grub_serial_port_fetch): Likewise.
5047 (grub_serial_port_put): Likewise.
5048 (grub_serial_port_fini): Likewise.
5049 (grub_serial_find): New proto.
5050
f6276525
VS
50512011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5052
5053 Put symlink at the end of the node and fix a potential
5054 memory corruption.
5055
5056 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
5057 Make symlink into an array.
5058 (set_rockridge): Set have_symlink and alloc_dirents.
5059 (grub_iso9660_read_symlink): Use new layout.
5060 (grub_iso9660_iterate_dir): Fix memory corruption.
5061 Use new layout.
5062 (grub_iso9660_dir): Set have_symlink.
5063 (grub_iso9660_open): Likewise.
5064
c3591189
VS
50652011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5066
5067 Remove local keyword.
5068
5069 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
5070 (version_test_gt): Likewise.
5071 (version_find_latest): Likewise.
5072 (gettext_printf): Likewise.
5073 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
5074
cb544caa
VS
50752011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5076
5077 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
5078
45bd824d
VS
50792011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5080
5081 Fix ZFS memory and resource leaks.
5082
5083 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
5084 All users updated.
5085 Free type on exit.
5086 (fill_vdev_info): New parameter inserted. All users updated.
5087 (check_pool_label): Likewise.
5088 (scan_disk): Likewise.
5089 (scan_devices): Close non-inserted disks.
5090 (fzap_iterate): Free l.
5091 (unmount_device): Free children descripto memory.
5092
ad9a2f44
VS
50932011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5094
5095 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
5096 argument (access out of bounds).
5097
6b68db81
VS
50982011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5099
5100 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
5101 >= 6 drives.
5102
28840fda
VS
51032011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5104
5105 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
5106 Fix declaration.
5107
8a5a3a5b
VS
51082011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5109
5110 Fix several memory leaks.
5111
5112 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
5113 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
5114 (grub_cpio_dir): Likewise.
5115 * grub-core/fs/fat.c (grub_fat_label): Likewise.
5116 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
5117 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
5118 (grub_romfs_label): Likewise.
5119 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
5120 (squash_unmount): New function.
5121 (grub_squash_dir): Fix memory leak.
5122 (grub_squash_open): Likewise.
5123 (grub_squash_read): Likewise.
5124 (grub_squash_mtime): Likewise.
5125 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
5126 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
5127 * util/grub-fstest.c (fstest): Likewise.
5128
57b01250
VS
51292011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5130
5131 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
5132 avoid accessing beyond the array.
5133
19e81ba7
VS
51342011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5135
5136 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
5137
52b656c0
VS
51382011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5139
5140 Several AFFS fixes.
5141
5142 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
5143 (GRUB_AFFS_FLAG_FFS): Removed.
5144 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
5145 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
5146 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
5147 (grub_fshelp_node): Make block 32-bit.
5148 Add block_cache and last_block_cache.
5149 (grub_affs_read_block): Fill and use block cache.
5150 (grub_affs_read_file): Removed.
5151 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
5152 boot block.
5153 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
5154 safety.
5155 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
5156 space.
5157 (grub_affs_close): Free block cache.
5158 (grub_affs_read): Use grub_fshelp_read_file directly.
5159
438a746a
VS
51602011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5161
5162 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
5163 with no error set.
5164
49a45021
VS
51652011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5166
5167 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
5168 used variable.
5169 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
5170 Likewise.
5171
3ae17eb8
VS
51722011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5173
5174 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
5175
5176 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
5177 byteswap when needed.
5178
27610c38
VS
51792011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5180
5181 Fix FreeBSD compilation.
5182
5183 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
5184 to avoid circular dependency.
5185 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
5186 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
5187 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
5188
4a19b601
VS
51892011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 Fix ZFS crypto error types.
5192
5193 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
5194 (grub_gcm_decrypt): Likewise.
5195 (grub_zfs_load_key_real): Fix error code type. Handle possible error
5196 from PBKDF2.
5197
958ee221
VS
51982011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5199
5200 Illumos support.
5201
5202 * Makefile.util.def (10_illumos): New script.
5203 * configure.ac: Set COND_HOST_ILLUMOS.
5204 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
5205 Support Illumos calls.
5206 (find_partition_start) [__sun__]: Likewise.
5207 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
5208 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
5209 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
5210 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
5211 device.
5212 * util/grub-probe.c (probe) [__sun__]: Do character check.
5213 * util/grub.d/10_illumos.in: New file.
5214
cac14fb6
VS
52152011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 Support escaped commas in hostdisk.
5218
5219 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
5220 (find_grub_drive): Use unescape_cmp.
5221 (make_device_name): Escape commas.
5222
78e08dc3
VS
52232011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5224
5225 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
5226
9f421dd1
VS
52272011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5228
5229 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
5230 variable.
5231
ed64e9e2
VS
52322011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 Support trampoline jumps on powerpc.
5235
5236 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
5237 __ia64__ path.
5238 (grub_dl_load_segments): Set mod->sz.
5239 (grub_dl_flush_cache): Flush whole space occupied by module, not just
5240 segments.
5241 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
5242 (jump): Likewise.
5243 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
5244 function.
5245 (trampoline): New struct.
5246 (trampoline_template): New const.
5247 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
5248 * include/grub/dl.h (grub_dl): Add sz element.
5249 [__powerpc__]: Follow __ia64__.
5250 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
5251 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
5252 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
5253 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
5254
3084ede4
VS
52552011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5256
5257 ZFS crypto support.
5258
5259 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
5260 * grub-core/Makefile.core.def (zfscrypt): New module.
5261 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
5262 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
5263 it. All users updated.
5264 (grub_zfs_decrypt): New var.
5265 (grub_zfs_load_key): Likewise.
5266 (zio_checksum_functions): Add SHA256+MAC.
5267 (zio_checksum_verify): Handle incomplete comparison due to MAC.
5268 (zio_read): Handle encrypted blocks.
5269 (zap_verify): Remove incorrect check.
5270 (fzap_iterate): Handle non-standard fzap.
5271 (zap_iterate): Likewise.
5272 (zap_iterate_u64): New function.
5273 (dnode_get_fullpath): Load keys.
5274 * grub-core/fs/zfs/zfscrypt.c: New file.
5275 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
5276 (grub_crypto_ecb_encrypt): Make input const.
5277 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
5278 (grub_crypto_ecb_encrypt): Make input const.
5279 (GRUB_CIPHER_AES): New macro.
5280 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
5281 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
5282 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
5283 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
5284 prefix. All users updated.
5285 (grub_zfs_add_key): New proto.
5286 (grub_zfs_decrypt): Likewise.
5287 (grub_zfs_load_key): Likewise.
5288 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
5289 * util/grub-fstest.c (options): Add -K option.
5290 (argp_parser): Likewise.
5291
b632b404
VS
52922011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5293
5294 Support zle compression on ZFS.
5295
5296 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
5297 (decomp_table): Add zle.
5298 * include/grub/zfs/zio.h (zio_compress): Add zle.
5299
c7ba4f69
VS
53002011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5301
5302 Support BtrFS embedding.
5303
5304 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
5305 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
5306 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
5307 * util/grub-setup.c (setup): Use fs embedding if available.
5308 Add additional sanity check.
5309
455377d9
VS
53102011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5311
5312 * util/grub-install.in: Fix condition for config_opt.
5313
c2fd16ca
VS
53142011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5315
5316 Support third redundancy strip on raidz3.
5317
5318 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
5319 Return error on singularity. All users updated.
5320 (read_device): Don't stop on 3rd failure on raidz3.
5321
8622923b
VS
53222011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5323
5324 Support case-insensitive ZFS subvolumes.
5325
5326 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
5327 All users updated.
5328 (zap_hash): Likewise.
5329 (name_cmp): New function.
5330 (zap_leaf_array_equal): New parameter case_insensitive.
5331 All users updated.
5332 (zap_leaf_lookup): Likewise.
5333 (fzap_lookup): Likewise.
5334 (zap_lookup): Likewise.
5335 (dnode_get_path): New parameter case_insensitive. Retrieve case
5336 sensitiviness of a volume. All users updated.
5337 (dnode_get_fullpath): New parameter case_insensitive.
5338 All users updated.
5339 (grub_zfs_dir): Set info.case_insensitiveness.
5340
95f2e860
VS
53412011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5342
5343 Support second redundancy strip on raidz(2,3).
5344
5345 * grub-core/fs/zfs/zfs.c (powx): New array.
5346 (powx_inv): Likewise.
5347 (poly): New const.
5348 (xor_out): New function.
5349 (gf_mul): Likewise.
5350 (recovery): Likewise.
5351 (read_device): Use second redundancy strip.
5352
11ee4389
VS
53532011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5354
5355 Use a power of generator representation of GF(256) multiplication group
5356 to save space time and complexity.
5357
5358 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
5359 (raid6_table2): Likewise.
5360 (powx): New array.
5361 (powx_inv): Likewise.
5362 (poly): New const.
5363 (grub_raid_block_mul): Replace with ...
5364 (grub_raid_block_mulx): ...this.
5365 (grub_raid6_init_table): Rewritten.
5366 (grub_raid6_recover): Use power of generator representation.
5367
09e2763f
VS
53682011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5369
5370 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
5371 for the right device.
5372
8bec9a28
VS
53732011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5374
5375 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
5376 expected by grub-mkimage and it's more clear since there is no implicit
5377 padding.
5378
dbd3a32e
VS
53792011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5380
5381 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
5382 disk.
5383 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
5384
182c872a
PMH
53852011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
5386
5387 * util/grub-mkrescue.in: Fix handling xorriso option.
5388
1e51cabd
VS
53892011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
5392 NULL.
5393
9cc3581d 53942011-11-03 crocket <crockabiscuit@gmail.com>
5395
5396 * util/grub.d/10_linux.in: Add Slackware initrd naming.
5397
158dc1ea
VS
53982011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5399
5400 XZ CRC64 and SHA256 support.
5401
5402 * Makefile.util.def (libgrubmods): Add crc64.c.
5403 * grub-core/Makefile.core.def (crc64): New module.
5404 * grub-core/lib/crc64.c: New file.
5405 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
5406 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
5407 Fix the type.
5408 (MAX_HASH_SIZE): New define.
5409 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
5410 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
5411 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
5412 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
5413 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
5414 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
5415 Handle non-crc32 hashes.
5416 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
5417 (dec_stream_header): Handle non-crc32 hashes.
5418 (dec_stream_footer): Likewise.
5419 (dec_block_header): Likewise.
5420 (dec_main): Likewise.
5421 (xz_dec_init): Likewise.
5422 (xz_dec_reset): Likewise.
5423 (xz_dec_end): Likewise.
5424 * util/import_gcry.py: Add CRC64 line.
5425
9d9b3d2f
VS
54262011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5427
5428 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
5429 as well.
5430
7d0ac931
VS
54312011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5432
5433 Make reiserfs label retrieval similar to other *_label functions.
5434
5435 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
5436 (REISERFS_MAX_LABEL_LENGTH): Removed.
5437 (REISERFS_LABEL_OFFSET): Likewise.
5438 (grub_reiserfs_label): Rewritten.
5439
54402011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5441
5442 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
5443 field.
5444
cf5ba824
VS
54452011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5446
5447 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
5448
17744004
VS
54492011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
5450
5451 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
5452 drive failure on both raidz and raidz2.
5453
aca5aefc
VS
54542011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
5455
5456 Fix RAIDZ(2) for >= 5 devices.
5457
5458 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
5459 asize argument. All users updated.
5460
ce8ca56e
VS
54612011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5462
5463 Fix RAIDZ(2).
5464
5465 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
5466 (fill_vdev_info_real): Set ashift.
5467 (read_device): Rewrite RAIDZ part based on reverse engineering.
5468
7c01e783
VS
54692011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5470
5471 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
5472 don't report potentially unavialiable fields in debug output.
5473 (find_path): Fix double-free and memory leak.
5474
ce109e84
VS
54752011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5476
5477 Read label on UFS1.
5478
5479 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
5480 (grub_ufs_fs): Always set .label.
5481
87661123
VS
54822011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5483
5484 Use shifts in UFS.
5485
5486 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
5487 (grub_ufs_data): New field log2_blksz.
5488 (grub_ufs_read_file): Use shifts.
5489 (grub_ufs_mount): Check block size and logarithm it.
5490
46bc1dc2
VS
54912011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5492
5493 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
5494 long symlinks.
5495
19ee2987
VS
54962011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 Handle symlinks and long names on tar and cpio.
5499
5500 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
5501 (ATTR_FILE): Likewise.
5502 (ATTR_DIR): Likewise.
5503 (ATTR_LNK): Likewise.
5504 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
5505 (grub_cpio_find_file): Fill mode, handle linkname field as well as
5506 L and K entries.
5507 (grub_cpio_mount): Zero-fill data.
5508 (handle_symlink): New function.
46bc1dc2
VS
5509 (grub_cpio_dir): Handle symlinks.
5510 (grub_cpio_open): Likewise.
5511 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 5512
c83a08d8
VS
55132011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 Fix iso9660 filename limitations and fix memory leaks.
5516
5517 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
5518 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
5519
45cdd3ea
VS
55202011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5521
5522 Fix JFS file name length limitations.
5523
5524 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
5525 (grub_jfs_diropen): Fix maximum filename length.
5526 (grub_jfs_getent): Fix filename length.
5527 (grub_jfs_lookup_symlink): Fix size checks.
5528
94ef05c2
VS
55292011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
5532 string.
5533
785ab8c7
VS
55342011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5535
eb0b6b45
VS
5536 Leverage BFS implementation to read AFS.
5537
5538 * Makefile.util.def (libgrubmods): Add afs.c.
5539 * grub-core/Makefile.core.def (afs): New module
5540 * grub-core/fs/afs.c: New file.
5541 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
5542
55432011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 5546
c4a1628f
VS
55472011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5548
5549 * grub-core/fs/bfs.c: Run indent.
5550
5825b379
VS
55512011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5552
5553 BFS implementation based on the specification.
5554
5555 * grub-core/fs/bfs.c: New file.
5556 * Makefile.util.def (libgrubmods): Add bfs.c.
5557 * grub-core/Makefile.core.def (bfs): New module.
5558
42b2a706
VS
55592011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5560
5561 * util/grub-fstest.c (cmd_cp): Clarify error message.
5562 (cmd_cmp): Likewise.
5563
61b99bfc
YB
55642011-10-30 Yves Blusseau <blusseau@zetam.org>
5565
5566 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
5567 and befs_be.
5568
faba3d16
VS
55692011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
5570
5571 Remove afs and befs because of copyright problem.
5572
5573 * grub-core/fs/afs.c: Removed.
5574 * grub-core/fs/afs_be.c: Removed.
5575 * grub-core/fs/befs.c: Removed.
5576 * grub-core/fs/befs_be.c: Removed.
5577 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
5578 * grub-core/Makefile.core.def (afs): Removed.
5579 (afs_be): Likewise.
5580 (befs): Likewise.
5581 (befs_be): Likewise.
5582
c39224b0
VS
55832011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5584
5585 Prefer rockridge over Joliet.
5586
5587 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
5588 to ...
5589 (set_rockridge): ... here.
5590 (grub_iso9660_mount): Check rockridge on the primary label when
5591 discovering. Ignore Joliet if Rockridge is present.
5592
e551115a
VS
55932011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5594
5595 Use shifts in nilfs2.
5596
5597 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
5598 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
5599 (grub_nilfs2_palloc_entries_per_group): Replace with ...
5600 (grub_nilfs2_log_palloc_entries_per_group): ... this.
5601 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
5602 (grub_nilfs2_entries_per_block): Replaced with ...
5603 (grub_nilfs2_log_entries_per_block_log): ... this.
5604 (grub_nilfs2_blocks_per_group): Replaced with ...
5605 (grub_nilfs2_blocks_per_group_log): ... this.
5606 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
5607 (grub_nilfs2_blocks_per_desc_block_log): ... this.
5608 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
5609 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
5610 (grub_nilfs2_palloc_entry_offset): Replaced ...
5611 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
5612 (grub_nilfs2_dat_translate): Use shifts.
5613 (grub_nilfs2_read_inode): Likewise.
5614 (GRUB_MOD_INIT): Ensure that logs are correct.
5615
564dd58c
VS
56162011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5617
5618 Use shifts in minix filesystem.
5619
5620 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
5621 (GRUB_MINIX_ZONE2SECT): Likewise.
5622 (grub_minix_data): Replace block_size with log_block_size.
5623 (grub_minix_read_file): Use shifts.
5624 (grub_minix_mount): Check block size and take a logarithm.
5625
ed9ba06d
VS
56262011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5627
5628 Use shifts in squash4.
5629
5630 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
5631 (squash_mount): Check block size and take logarithm.
5632 (direct_read): Use shifts.
5633
ad03fe76
VS
56342011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5635
5636 Correct befs block counting logic.
5637
5638 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
5639 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
5640 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
5641 (grub_afs_read_inode): Use block_shift.
5642 (RANGE_SHIFT): New definition.
5643 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
5644 unexpected conditions, use shifts and appropriate types.
5645 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
5646
6563f63d
VS
56472011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5648
5649 * grub-core/disk/raid.c (scan_devices): Check partition.
5650 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
5651
5b1ae25f
VS
56522011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
5653
5654 Support BFS (befs) UUID.
5655
5656 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
5657 (grub_afs_small_data_element_header): New struct.
5658 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
5659 (grub_afs_read_attribute) [MODE_BFS]: New function.
5660 (grub_afs_iterate_dir): Allocate for complete inode.
5661 (grub_afs_mount): Likewise.
5662 (grub_afs_uuid) [MODE_BFS]: New function.
5663 (grub_afs_fs) [MODE_BFS]: Add .uuid.
5664
f8d82408
VS
56652011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
5666
5667 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
5668 (zfs_unmount): Fix memory leak.
5669
5773fb64
VS
56702011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5671
5672 Support NTFS reparse points.
5673
5674 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
5675 (symlink_descriptor): New struct.
5676 (grub_ntfs_read_symlink): New function.
5677 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
5678 (grub_ntfs_open): Likewise.
5679
91c3fdde
VS
56802011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5681
5682 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
5683
3be82e10
VS
56842011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 fstest xnu_uuid subcommand.
5687
5688 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
5689 grub-core/commands/xnu_uuid.c.
5690 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
5691 (fstest): Handle xnu_uuid.
5692 (options): Document xnu_uuid.
5693 (argp_parser): Parse xnu_uuid.
5694
8e32442e
VS
56952011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5696
5697 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
5698 -l argument. Add newline at the end if printing.
5699 (GRUB_MOD_INIT): Document -l.
5700
52a05075
VS
57012011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5702
5703 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
5704
1869edb5
VS
57052011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5706
5707 ZFS multi-device and version 33 support.
5708
5709 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
5710 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
5711 (grub_zfs_data): Add multidev-ice-related fields.
5712 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
5713 (dva_get_offset): Make dva const.
5714 (zfs_fetch_nvlist): New function.
5715 (fill_vdev_info_real): Likewise.
5716 (fill_vdev_info): Likewise.
5717 (check_pool_label): Likewise.
5718 (scan_disk): Likewise.
5719 (scan_devices): Likewise.
5720 (read_device): Likewise.
5721 (read_dva): Likewise.
5722 (zio_read_gang): Use read_dva.
5723 (zio_read_data): Likewise.
5724 (zap_leaf_lookup): Add missing endian conversion.
5725 (zap_verify): Add missing endian conversion. All users updated.
5726 (fzap_lookup): Likewise.
5727 (fzap_iterate): Likewise.
5728 (dnode_get_path): Handle SA bonus.
5729 (nvlist_find_value): Make input const. All users updated.
5730 (unmount_device): New function.
5731 (zfs_unmount): Use unmount_device.
5732 (zfs_mount): Use scan_disk.
5733 (zfs_mtime): New function.
5734 (grub_zfs_open): Handle system attributes.
5735 (fill_fs_info): Likewise.
5736 (grub_zfs_dir): Likewise.
5737 (grub_zfs_fs): Add mtime.
5738 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
5739 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
5740 (SA_MTIME_OFFSET): Likewise.
5741 (SA_SYMLINK_OFFSET): Likewise.
5742 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
5743 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
5744 (fstest): Support zfsinfo.
5745 (argp_parser): Likewise.
5746
186b4028
VS
57472011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5748
5749 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
5750 error.
5751
57522011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
5753
5754 ZFS fixes.
5755
5756 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
5757 sharing the same block. Iterate over correct number of indices.
5758 (dnode_get_path): Handle symlinks correctly.
5759
c0584900
VS
57602011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5761
5762 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
5763
67e2bd71
VS
57642011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5765
5766 Read label on HFS+.
5767
5768 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
5769 (grub_hfsplus_btree_search): Fix types.
5770 (grub_hfsplus_label): Implement.
5771
e9cc6b7b
VS
57722011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5773
5774 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
5775
19832ddb
VS
57762011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5777
5778 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
5779
66b40850
VS
57802011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5781
5782 Fix symlink handling on iso9660.
5783
5784 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
5785 All users updated.
5786 (grub_iso9660_susp_iterate): Accept zero-size iterate.
5787 (grub_iso9660_read_symlink): Moved most of code ...
5788 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
5789
db821363
VS
57902011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5791
5792 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
5793 Use union to avoid breaking strict-aliasing rules.
5794
e1211949
VS
57952011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5796
5797 Support multi-extent iso files.
5798
5799 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
5800 Add node.
5801 (grub_fshelp_node): Revamp. All users updated.
5802 (FLAG_*): New enum.
5803 (read_node): New function.
5804 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
5805 All users updated.
5806 (grub_iso9660_mount): Don't attempt to read sua when there is none.
5807 (get_node_size): New function.
5808 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
5809 entries.
5810 Fix memory leak on . and ..
5811 (grub_iso9660_read): Use read_node.
5812 (grub_iso9660_close): Free node.
5813
d4888031
VS
58142011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5815
5816 Fix tar 4G limit and handle paths containing dot.
5817
5818 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
5819 (canonicalize): New function.
5820 (grub_cpio_find_file): Use canonicalize. Store offs in
5821 grub_disk_addr_t.
5822 (grub_cpio_dir): Use grub_disk_addr_t.
5823 (grub_cpio_open): Likewise.
5824
9f12e664
VS
58252011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 Fix handling of uncompressed blocks on squashfs and break 4G limit.
5828
5829 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
5830 unused flags.
5831 (grub_squash_inode): Add long_file and block_size.
5832 (grub_squash_cache_inode): New struct.
5833 (grub_squash_dirent): Make types into enum.
5834 (SQUASH_TYPE_LONG_REGULAR): New type.
5835 (grub_squash_frag_desc): Add field size.
5836 (SQUASH_BLOCK_FLAGS): New enum.
5837 (grub_squash_data): Use grub_squash_cache_inode.
5838 (grub_fshelp_node): Make ino_chunk 64-bit.
5839 (read_chunk): Minor argument change. All users updated.
5840 (squash_mount): Use correct le_to_cpu.
5841 (grub_squash_open): Handle LONG_REGULAR.
5842 (direct_read): New function.
5843 (grub_squash_read_data): Handle blocks correctly.
5844
9f326fba
VS
58452011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5846
5847 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
5848
f4d9b64b
VS
58492011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
5850
5851 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
5852
5bbd28b8
VS
58532011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 Fix 2G limit on ZFS.
5856
5857 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
5858 types.
5859 (uberblock_verify): Likewise.
5860 (dmu_read): Likewise.
5861 (grub_zfs_read): Likewise. Remove invalid cast.
5862
68c72069
VS
58632011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
5864
5865 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
5866 (grub_jfs_blkno): Fix incorrect shift.
5867 (grub_jfs_read_file): Use more appropriate types.
5868
6e536dc8
VS
58692011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
5870
5871 Support triple indirect on minix2 and minix3.
5872
5873 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
5874 Declare triple_indir_zone.
5875 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
5876 indirect.
5877
e0864e7a
VS
58782011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
5879
5880 Minix FS fixes.
5881
5882 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
5883 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
5884 Rename ctime to mtime. All users updated.
5885 (grub_minix_get_file_block): Fix types and double indirect computations.
5886
89481cab
VS
58872011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5888
5889 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
5890 if no label is found.
5891 (grub_fat_iterate_dir): Fix file size type.
5892 (grub_fat_iterate_dir): Likewise.
5893
f646e143
VS
58942011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5895
5896 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
5897 save some space.
5898 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
5899 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
5900
534d769e
VS
59012011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5902
5903 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
5904
e084ba18
VS
59052011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5906
5907 * util/import_gcry.py: Accept space between # and include.
5908
3471ecdf
VS
59092011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5910
5911 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
5912
124df5f6
VS
59132011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5914
5915 Fine grainely disable warnings on lexer. Remove Wno-error on it.
5916
5917 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
5918 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
5919 yylex_strncpy.
5920 * grub-core/script/yylex.l: Add fine-grained #pragma.
5921
4defb8d5
VS
59222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
5925 New inline function.
5926 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
5927 Likewise.
5928 (memset) [GRUB_UTIL]: Likewise.
5929 (memcmp) [GRUB_UTIL]: Likewise.
5930
4e94ae65
VS
59312011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5932
5933 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
5934 inline function rather than a define.
5935
18c575e5
VS
59362011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5937
5938 * util/grub-setup.c: Add missing include.
5939
f8bc22a8
VS
59402011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5941
5942 * util/ieee1275/grub-ofpathname.c: Add missing include.
5943
3ce69fc9
VS
59442011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5945
5946 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
5947 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
5948 Likewise.
5949
d1e293bb
VS
59502011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5951
5952 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
5953 grub_memcmp usage.
5954
7a5c54a4
VS
59552011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5956
5957 * util/grub-install.in: Add datarootdir as per automake manual
5958 suggestion.
5959 * util/grub-mknetdir.in: Likewise.
5960
59612011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
5962
5963 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
5964 suggestion.
5965 * util/grub.d/10_kfreebsd.in: Likewise.
5966 * util/grub.d/10_linux.in: Likewise.
5967 * util/grub.d/10_netbsd.in: Likewise.
5968 * util/grub.d/10_windows.in: Likewise.
5969 * util/grub.d/20_linux_xen.in: Likewise.
5970
766f7d08
VS
59712011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
5972
5973 Remove redundant grub_kernel_image_size.
5974
5975 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
5976 _edata and _start.
5977 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
5978 the small code. It moves it only by few bytes but simplifies the code.
5979 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
5980 _start.
5981 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
5982 (grub_kernel_image_size): Removed.
5983 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
5984 (grub_kernel_image_size): Removed.
5985 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
5986 compiled with Apple toolchain.
5987 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
5988 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
5989 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
5990 (grub_total_module_size): Likewise.
5991 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
5992 Removed.
5993 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
5994 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
5995 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
5996 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
5997 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
5998 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
5999 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
6000 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
6001 Removed.
6002 (grub_total_module_size): Removed.
6003 * util/grub-mkimage.c (image_target_desc): Remove image_size.
6004 (image_targets): Likewise.
6005 Set .compressed_size to no field on sparc.
6006 (generate_image): Remove kernel_image_size handling.
6007
fcf1d672
SJ
60082011-10-19 Szymon Janc <szymon@janc.net.pl>
6009
6010 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
6011 NULL pointer dereference.
6012
de9c615e
VS
60132011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
6016 done with a dedicated section.
6017
6018 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
6019 Ensure the correct position of boot_path.
6020 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
6021 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
6022 other fields.
6023 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
6024 * include/grub/boot.h: Removed. All references removed.
6025 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
6026 Removed.
6027 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
6028
e55599dc
VS
60292011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6030
6031 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
6032 name.
6033
36dd20ad
VS
60342011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6035
6036 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
6037
f8f72eb8
VS
60382011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6039
6040 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6041 Don't add the bogus brackets.
6042
a374751b
VS
60432011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6044
6045 ExFAT support.
6046
6047 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
6048 * grub-core/Makefile.core.def (exfat): New module.
6049 * grub-core/fs/exfat.c: New file.
6050 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
6051 (GRUB_FAT_ATTR_*): Make into an enum.
6052 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
6053 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
6054 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
6055 (GRUB_FAT_MAXFILE): Removed.
6056 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
6057 (grub_current_fat_bpb_t): New type.
6058 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
6059 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
6060 (grub_fat_dir_node_t): New type.
6061 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
6062 (fat_log2) [MODE_EXFAT]: Removed.
6063 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
6064 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
6065 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
6066 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
6067 (grub_fat_label) [MODE_EXFAT]: New function.
6068 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
6069 reserved_first_sector to 0.
6070
544c2487
VS
60712011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6072
6073 Move grub_reboot out of the kernel.
6074
6075 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
6076 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
6077 * grub-core/lib/efi/reboot.c: ... here.
6078 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
6079 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
6080 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
6081 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
6082 * grub-core/lib/i386/reboot_trampoline.S: ... here.
6083 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
6084 * grub-core/lib/ieee1275/reboot.c: ... here.
6085 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
6086 * grub-core/lib/mips/arc/reboot.c: ... here.
6087 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
6088 * grub-core/lib/mips/loongson/reboot.c: ...here.
6089 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
6090 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
6091 * include/grub/emu/misc.h (grub_reboot): New function declaration.
6092 * include/grub/i386/reboot.h: New file.
6093 * include/grub/mips/loongson/ec.h: Fix includes.
6094 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
6095 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
6096 * grub-core/lib/i386/reboot.c: New file.
6097
a97501d2
VS
60982011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
6099
6100 Make grub_prefix into module to fix the arbitrary limit and save
6101 some space.
6102
6103 * grub-core/kern/emu/main.c (grub_prefix): Removed.
6104 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
6105 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
6106 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
6107 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
6108 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
6109 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
6110 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
6111 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
6112 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
6113 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
6114 * include/grub/ia64/efi/kernel.h: Removed.
6115 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
6116 (grub_prefix): Removed.
6117 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
6118 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
6119 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
6120 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
6121 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
6122 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
6123 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
6124 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
6125 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
6126 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
6127 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
6128 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
6129 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
6130 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
6131 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
6132 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
6133 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
6134 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
6135 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
6136 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
6137 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
6138 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
6139 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
6140 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
6141 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
6142 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
6143 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
6144 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
6145 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
6146 from module.
6147 * util/grub-mkimage.c (image_target_desc): Removed prefix and
6148 prefix_end.
6149 (image_targets): Likewise.
6150 (generate_image): Put prefix as a module.
6151
39705fad
VS
61522011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6153
6154 Replace grub_module_iterate with FOR_MODULES.
6155
6156 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
6157 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
6158 (grub_efi_modules_addr): ...this.
6159 * grub-core/kern/efi/init.c (grub_modbase): New variable.
6160 (grub_efi_init): Set grub_modbase.
6161 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
6162 (grub_modbase): New variable.
6163 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
6164 (grub_modbase): New variable.
6165 (grub_machine_init): Set grub_modbase.
6166 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
6167 (grub_modbase): New variable.
6168 (grub_machine_init): Set grub_modbase.
6169 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
6170 (grub_modbase): New variable.
6171 (grub_machine_init): Set grub_modbase.
6172 * grub-core/kern/main.c (grub_module_iterate): Remove.
6173 (grub_modules_get_end): Use grub_modbase.
6174 (grub_load_modules): Use FOR_MODULES.
6175 (grub_load_config): Likewise.
6176 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
6177 (grub_modbase): New variable.
6178 (grub_machine_init): Set grub_modbase.
6179 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
6180 (grub_modbase): New variable.
6181 (grub_machine_init): Set grub_modbase.
6182 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
6183 Removed.
6184 (grub_modbase): New variable.
6185 (grub_machine_init): Set grub_modbase.
6186 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
6187 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
6188 (grub_module_iterate): Likewise.
6189 (grub_modbase): New variable declaration.
6190 (FOR_MODULES): New macro.
6191
2afb7f6c
VS
61922011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6193
6194 * configure.ac: Check for __ctzdi2 and __ctzsi2.
6195 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
6196
366e34fa
VS
61972011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6198
6199 Fix few obvious type discrepancies.
6200
6201 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
6202 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
6203 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
6204 variable.
6205 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
6206 and connected types.
6207 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
6208 offset.
6209 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
6210 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
6211 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
6212 and connected types.
6213
177b960e
VS
62142011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 Fix python 3.x incompatibilities.
6217
6218 * gentpl.py: Put brackets around print strings.
6219 * util/import_gcry.py: Open explicitly as utf-8.
6220 Use in instead of has_key.
6221
3b619ae1
VS
62222011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6223
6224 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
6225 (GRUB_XFS_INO_AGBITS): Make into inline function.
6226 (GRUB_XFS_INO_INOINAG): Likewise.
6227 (GRUB_XFS_INO_AG): Likewise.
6228 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
6229 (GRUB_XFS_EXTENT_OFFSET): Likewise.
6230 (GRUB_XFS_EXTENT_BLOCK): Likewise.
6231 (GRUB_XFS_EXTENT_SIZE): Likewise.
6232 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
6233 (GRUB_XFS_NEXT_DIRENT): Likewise.
6234 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
6235 (grub_xfs_read_file): Fix offset type.
6236
8bcebcb8
RM
62372011-10-15 Robert Millan <rmh@gnu.org>
6238
6239 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
6240
0017e5ef
RM
62412011-10-15 Robert Millan <rmh@gnu.org>
6242
6243 Fix build problem on FreeBSD and GNU/kFreeBSD.
6244
6245 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
6246
d8919552
VS
62472011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6248
6249 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
6250
6251 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
6252 types.
6253 (grub_hfsplus_btree_recoffset): Likewise.
6254 (grub_hfsplus_btree_recptr): Likewise.
6255 (grub_hfsplus_find_block): Likewise.
6256 (grub_hfsplus_btree_search): Likewise.
6257 (grub_hfsplus_read_block): Likewise.
6258 (grub_hfsplus_read_file): Likewise.
6259 (grub_hfsplus_mount): Likewise.
6260 (grub_hfsplus_btree_iterate_node): Likewise.
6261 (grub_hfsplus_btree_search): Likewise.
6262 (grub_hfsplus_iterate_dir): Likewise.
6263 (grub_hfsplus_read): A small code simplification.
6264
c81296b6
VS
62652011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6266
6267 * grub-core/kern/emu/hostdisk.c
6268 (convert_system_partition_to_system_disk): Don't assume that children
6269 of mapper nodes are mapper nodes.
6270
0eb8ffb1
VS
62712011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
6274 * include/grub/misc.h (grub_isxdigit): New function.
6275 * grub-core/video/colors.c (my_isxdigit): Removed. All users
6276 switched to grub_isxdigit.
6277 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
6278 number starting with a letter.
6279
a98f4a08
RM
62802011-10-09 Robert Millan <rmh@gnu.org>
6281
6282 LVM support for FreeBSD and GNU/kFreeBSD.
6283
6284 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
6285 GNU/kFreeBSD.
6286 (LVM_DEV_MAPPER_STRING): Move from here ...
6287 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
6288 * util/getroot.c: Include `<grub/util/lvm.h>'.
6289 (grub_util_get_dev_abstraction): Enable
6290 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
6291 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
6292 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
6293 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
6294 support it.
6295 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
6296 GNU/kFreeBSD.
6297 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
6298 when LVM abstraction is required for ${GRUB_DEVICE}.
6299
050e8e90
SJ
63002011-10-06 Szymon Janc <szymon@janc.net.pl>
6301
6302 Add support for LZO compression in GRUB:
6303 - import of minilzo library,
6304 - LZO decompression for btrfs,
6305 - lzop files decompression.
6306
6307 * grub-core/io/lzopio.c: New file.
6308 * grub-core/lib/adler32.c: Likewise.
6309 * grub-core/lib/minilzo/lzoconf.h: Likewise.
6310 * grub-core/lib/minilzo/lzodefs.h: Likewise.
6311 * grub-core/lib/minilzo/minilzo.c: Likewise.
6312 * grub-core/lib/minilzo/minilzo.h: Likewise.
6313 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
6314 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
6315 grub-core/lib/minilzo/minilzo.c to common.
6316 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
6317 cflags in cppflags.
6318 * grub-core/Makefile.core.def (btrfs): Likewise.
6319 * grub-core/Makefile.core.def (lzopio): New module.
6320 (adler32): Likewise.
6321 * grub-core/fs/btrfs.c: Include minilzo.h.
6322 (GRUB_BTRFS_COMPRESSION_LZO): New define.
6323 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
6324 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
6325 (grub_btrfs_lzo_decompress): New function.
6326 (grub_btrfs_extent_read): Add support for LZO compression type.
6327 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
6328 (GRUB_USHRT_MAX): Likewise.
6329 (GRUB_UINT_MAX): Likewise.
6330 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
6331 (UINT_MAX): Likewise.
6332 (CHAR_BIT): Likewise.
6333 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
6334 grub-core/lib/posix_wrap/limits.h
6335 (UCHAR_MAX): Likewise.
6336 * include/grub/file.h (grub_file_filter_id): New compression filter
6337 GRUB_FILE_FILTER_LZOPIO.
6338 * include/grub/file.h (grub_file_filter_id): Set
6339 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
6340 * include/grub/types.h (grub_get_unaligned16): New function.
6341 (grub_get_unaligned32): Likewise.
6342 (grub_get_unaligned64): Likewise.
6343 * util/import_gcry.py (cryptolist): Add adler32.
6344
0eb8ffb1
VS
63452011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
6346
6347 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
6348 in perspective decreases the complexity of build system and fixes
6349 compilation right now.
6350
ce79cc99 63512011-10-01 Ales Nesrsta <starous@volny.cz>
6352
6353 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
6354 (fixed problem related to using UHCI with coreboot).
6355
8667a314
BC
63562011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
6357
6358 * gentpl.py: Use Autogen macros so that the output template file
6359 (Makefile.tpl) size is reduced.
6360
fc5efcc0
MK
63612011-09-29 Mads Kiilerich <mads@kiilerich.com>
6362
6363 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
6364 extra_dist.
6365
d1ab689d
ML
63662011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6367
6368 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
6369 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
6370
c05de032
ML
63712011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6372
6373 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
6374 _fullpath.
6375
cca7ccd8
ML
63762011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6377
6378 Remove extra declaration of sleep for mingw32.
6379
6380 * util/misc.c (sleep) [__MINGW32__]: Removed.
6381 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
6382
e0b0dc83
GS
63832011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6384
6385 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
6386 type and packname.
6387 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
6388 Resurrected.
6389 (NETBSD_BTINFO_BOOTWEDGE): New definition.
6390 (grub_netbsd_btinfo_bootwedge): New struct.
6391 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
6392 New function.
6393 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
6394
91a1a164
TH
63952011-09-28 Thomas Haller <thomas.haller@fen-net.de>
6396
6397 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
6398 loader.
6399
2ded951e
AB
64002011-09-28 Andreas Born <futur.andy@googlemail.com>
6401
6402 Fix incorrect identifiers in bash-completion.
6403
6404 * util/bash-completion.d/grub-completion.bash.in
6405 (_grub_mkpasswd-pbkdf2): Rename to ...
6406 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
6407 (_grub_script-check): Rename to ...
6408 (_grub_script_check): ... this. All users updated.
6409
69915030
VS
64102011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
6411
6412 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
6413 Return 0 if disk isn't biosdisk.
6414
20fd15f9
GS
64152011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
6416
6417 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
6418 on NetBSD.
6419 * Makefile.util.def (grub-fstest): Likewise.
6420
1a7d7db9
GS
64212011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
6422
6423 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
6424 Get sector size from disk label.
6425
2221ab6c
CW
64262011-09-05 Colin Watson <cjwatson@ubuntu.com>
6427
6428 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
6429 */README* as well as README*.
6430 Reported by: Axel Beckert.
6431
ca51c4a0
VS
64322011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6433
6434 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
6435 case of less than 256 MiB of RAM.
6436
ab80f326
VS
64372011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6438
6439 * grub-core/commands/wildcard.c (make_regex): Handle @.
6440
4155e697
VS
64412011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6442
6443 * util/grub-install.in: Move cryptodisk logic to appropriate place.
6444
ab178c08
SJ
64452011-08-21 Szymon Janc <szymon@janc.net.pl>
6446
6447 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
6448 AC_LANG_CONFTEST macros.
6449
7dc3c686
SJ
64502011-08-20 Szymon Janc <szymon@janc.net.pl>
6451
6452 Add grub-fstest option to uncompress data for commands.
6453
6454 * util/grub-fstest.c (uncompress): New var.
6455 (options): New option -u.
6456
fe8d4a7b
SJ
64572011-08-20 Szymon Janc <szymon@janc.net.pl>
6458
6459 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
6460 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
6461
a5219af1
SJ
64622011-08-20 Szymon Janc <szymon@janc.net.pl>
6463
6464 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
6465 file type was not recognized correctly (not gzip or corrupted).
6466
f87abff5
VS
64672011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6468
6469 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
6470 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
6471
d94497ea
VS
64722011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
6475 loongson.
6476 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
6477 video_radeon_fuloong2e.
6478 * grub-core/video/radeon_fuloong2e.c: New file.
6479 * include/grub/video.h (grub_video_id_t): Add new ID
6480 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
6481
0d1fd011
VS
64822011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6483
6484 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
6485 define.
6486 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
6487 that PRID matches the detected subplatform and reset the subplatform
6488 if it doesn't.
6489
84beb0ee
VS
64902011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6491
6492 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
6493
1227c133
VS
64942011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6495
6496 Fix PCI iterating on functions >= 4.
6497
6498 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
6499 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
6500 Removed.
6501 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
6502 (grub_pci_read): Fix bitmask.
6503 (grub_pci_read_word): Likewise.
6504 (grub_pci_read_byte): Likewise.
6505 (grub_pci_write): Likewise.
6506 (grub_pci_write_word): Likewise.
6507 (grub_pci_write_byte): Likewise.
6508
9594c689
VS
65092011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
6512 can still be specified in TARGET_CFLAGS)
6513
14a2562c
VS
65142011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6515
6516 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
6517
6518 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
6519 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
6520 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
6521 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
6522 (FULOONG): Rename to ...
6523 (FULOONG2F): ... this. All users updated.
6524 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
6525 (machtype_fuloong2f_str): ... this.
6526 (machtype_fuloong2e_str): New string.
6527 Check for machtype_fuloong2e_str.
6528 * grub-core/loader/mips/linux.c (loongson_machtypes)
6529 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
6530 * grub-core/term/serial.c (loongson_defserial)
6531 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
6532 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
6533 loongson_defserial.
6534 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
6535 Rename to ...
6536 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
6537 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
6538 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
6539 to IMAGE_FULOONG2F_FLASH. All users updated.
6540 (image_targets): Rename images.
6541 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
6542
b526cbb6
SJ
65432011-08-19 Szymon Janc <szymon@janc.net.pl>
6544
6545 Make enable of disk cache statistics code configurable.
6546
6547 * configure.ac: --enable-cache-stats added.
6548 * config.h.in (DISK_CACHE_STATS): New define.
6549 * grub-core/Makefile.core.def (cacheinfo): New command.
6550 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
6551 * grub-core/commands/cacheinfo.c: New file.
6552 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
6553 moved to cacheinfo.c.
6554 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
6555 debug code.
6556 * include/grub/disk.h: Likewise.
6557
fb739ccd
SJ
65582011-08-19 Szymon Janc <szymon@janc.net.pl>
6559
6560 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
6561 * grub-core/Makefile.am: Likewise.
6562
2bba8cfd
VS
65632011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6564
6565 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
6566 non-zero pull.
6567
43526629
VS
65682011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6569
6570 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
6571 All users updated.
6572 (grub_jfs_lookup_symlink): Use correct starting inode.
6573
5c144cc8
VS
65742011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6575
6576 * util/grub-setup.c (main): Add missing gcry initialisation.
6577
b1257f65
VS
65782011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 Don't accept text modes on EFI when booting Linux.
6581
6582 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
6583 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
6584
828bc390
ML
65852011-08-15 Mario Limonciello <mario_limonciello@dell.com>
65862011-08-15 Colin Watson <cjwatson@ubuntu.com>
6587
6588 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
6589 use of "/path/.." as in grub-install for EFI as well as handling
6590 symlinks correctly.
6591 Fixes Debian bug #637768.
6592
5f60ccac
CW
65932011-08-15 Colin Watson <cjwatson@ubuntu.com>
6594
6595 * util/grub-probe.c: Remove duplicate #include.
6596
6dc212f9
RM
65972011-08-10 Robert Millan <rmh@gnu.org>
6598
6599 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
6600
6601 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
6602 function.
6603 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
6604 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
6605
66816d85
RM
66062011-08-03 Robert Millan <rmh@gnu.org>
6607
6608 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
6609 la_array as packed.
6610 Reported by: Zachary Bedell
6611
20168fca
CW
66122011-07-26 Colin Watson <cjwatson@ubuntu.com>
6613
6614 * configure.ac: The Loongson port requires grub-mkfont due to its
6615 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
6616 be built.
6617
303b6246
CW
66182011-07-26 Colin Watson <cjwatson@ubuntu.com>
6619
6620 * util/grub-install.in: Don't source grub-mkconfig_lib until after
6621 processing arguments (otherwise help2man fails when GRUB has not yet
6622 been installed).
6623
6795300e
VS
66242011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6625
41aa28ea
VS
6626 New script grub-mkstandalone.
6627
6628 * Makefile.util.def (grub-mkstandalone): New script.
6629 * docs/man/grub-mkstandalone.h2m: New file.
6630 * util/grub-mkstandalone.in: Likewise.
6631
66322011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6633
6634 Support ATA disks with 4K sectors.
6795300e
VS
6635
6636 * include/grub/ata.h (grub_ata): New member log_sector_size.
6637 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
6638 (grub_ata_identify): Read sector size.
6639 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
6640
92227597
VS
66412011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6642
6643 * util/grub-install.in: Don't use uhci outside of x86.
6644
c77069f5
VS
66452011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6646
6647 * util/grub-mkrescue.in: Add missing quotes.
6648
66492011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
6650
6651 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
6652 dereference.
6653
583168a2
VS
66542011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
6657
6be1c01f
VS
66582011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 * include/grub/video.h: add missing EXPORT_FUND on
6661 grub_video_edid_checksum and grub_video_edid_preferred_mode.
6662
a1167439
VS
66632011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6664
6665 * include/grub/mips/kernel.h: Fix define conflict.
6666
bf66054f
VS
66672011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6668
6669 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
6670 all four ways.
6671
8fc4fa45
CW
66722011-07-21 Colin Watson <cjwatson@ubuntu.com>
6673
6674 Preferred resolution detection for VBE.
6675
6676 * grub-core/video/video.c (grub_video_edid_checksum): New function.
6677 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
6678 the Flat Panel extension, in line with the X.org VESA driver.
6679 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
6680 New function.
6681 (grub_vbe_bios_get_ddc_capabilities): Likewise.
6682 (grub_vbe_bios_read_edid): Likewise.
6683 (grub_vbe_get_preferred_mode): Likewise.
6684 (grub_video_vbe_setup): When the mode is "auto", try to get the
6685 preferred mode from VBE, and use the largest mode that is no larger
6686 than the preferred mode (some BIOSes expose a preferred mode that is
6687 not in their mode list!). If this fails, fall back to 640x480 as a
6688 safe conservative choice.
6689 (grub_video_vbe_get_edid): New function.
6690 (grub_video_vbe_adapter): Add get_edid.
6691 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
6692 (struct grub_video_adapter): Add get_edid.
6693 (grub_video_edid_checksum): Add prototype.
6694 (grub_video_edid_preferred_mode): Likewise.
6695 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
6696 structure.
6697
6698 * grub-core/commands/videoinfo.c (print_edid): New function.
6699 (grub_cmd_videoinfo): Print EDID if available.
6700
6701 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
6702 is more appropriate on a wider range of platforms than 640x480.
6703 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
6704 documentation.
6705
ca5572a9
VS
67062011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6707
6708 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
6709
e4bcf625
VS
67102011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6711
6712 * po/POTFILES.in: Regenerate.
6713
c4edd548
VS
67142011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6715
6716 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
6717 incorrect memory usage.
6718
16a2bab0
VS
67192011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6720
6721 * util/grub-install.in: Source grub-mkconfig_lib.
6722
2e418de6
VS
67232011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
6724
6725 Remove getroot.c from core on emu platform.
6726
6727 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
6728 kern/emu/raid.c.
6729 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
6730 useless.
6731 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
6732 * util/getroot.c (get_win32_path): ... here.
6733 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
6734 * util/getroot.c (fini_libzfs): ... here.
6735 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
6736 * util/getroot.c (grub_get_libzfs_handle): ... here.
6737 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
6738 Moved from here...
6739 * util/getroot.c (grub_find_zpool_from_dir): ... here.
6740 * grub-core/kern/emu/misc.c
6741 (grub_make_system_path_relative_to_its_root): Moved from here...
6742 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
6743 * grub-core/kern/emu/getroot.c: Moved from here ...
6744 * util/getroot.c: ... here. All users updated.
6745 * grub-core/kern/emu/raid.c: Moved from here ...
6746 * util/raid.c: ... here. All users updated.
6747
def9832a
VS
67482011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
6749
6750 * po/POTFILES.in: Regenerate.
6751
cd8fe79a
VS
67522011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6753
6754 Fix compilation on GNU/Linux.
6755
6756 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
6757 Disable geli.
6758 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
6759 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
6760 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
6761
a251b719
VS
67622011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
67632011-07-07 Michael Gorven <michael@gorven.za.net>
67642011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
6765
6766 LUKS and GELI support.
6767
6768 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
6769 grub-core/disk/luks.c, grub-core/disk/geli.c,
6770 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
6771 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
6772 grub-core/lib/arg.c.
6773 (libgrubmods.a): Remove gcrypts cflags and cppflags.
6774 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
6775 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
6776 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
6777 (grub-bin2h): Add libgcry.a.
6778 (grub-mkimage): Likewise.
6779 (grub-mkrelpath): Likewise.
6780 (grub-script-check): Likewise.
6781 (grub-editenv): Likewise.
6782 (grub-mkpasswd-pbkdf2): Likewise.
6783 (grub-pe2elf): Likewise.
6784 (grub-fstest): Likewise.
6785 (grub-mkfont): Likewise.
6786 (grub-mkdevicemap): Likewise.
6787 (grub-probe): Likewise.
6788 (grub-ofpath): Likewise.
6789 (grub-mklayout): Likewise.
6790 (example_unit_test): Likewise.
6791 (grub-menulst2cfg): Likewise.
6792 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
6793 * grub-core/Makefile.core.def (cryptodisk): New module.
6794 (luks): Likewise.
6795 (geli): Likewise.
6796 * grub-core/disk/AFSplitter.c: New file.
6797 * grub-core/disk/cryptodisk.c: Likewise.
6798 * grub-core/disk/geli.c: Likewise.
6799 * grub-core/disk/luks.c: Likewise.
6800 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
6801 grub_util_is_lvm.
6802 (grub_util_get_dm_abstraction): New function.
6803 (grub_util_follow_gpart_up): Likewise.
6804 (grub_util_get_geom_abstraction): Likewise.
6805 (grub_util_get_dev_abstraction): Use new functions.
6806 (grub_util_pull_device): Pull GELI and LUKS.
6807 (grub_util_get_grub_dev): Handle LUKS and GELI.
6808 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
6809 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
6810 (follow_geom_up): Removed.
6811 (grub_util_fd_seek): New function.
6812 (open_device): Use grub_util_fd_seek.
6813 (nread): Rename to ..
6814 (grub_util_fd_read): ... this. All users updated.
6815 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
6816 (grub_crypto_cbc_decrypt): Likewise.
6817 (grub_crypto_hmac_write): Likewise.
6818 (grub_crypto_hmac_buffer): Likewise.
6819 (grub_password_get): Extend to util.
6820 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
6821 New member modname.
6822 (gcry_md_spec) [GRUB_UTIL]: Likewise.
6823 * include/grub/cryptodisk.h: New file.
6824 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
6825 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
6826 LUKS and GELI.
6827 (grub_util_follow_gpart_up): New proto.
6828 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
6829 (grub_util_fd_read): Likewise.
6830 (grub_cryptodisk_cheat_mount): Likewise.
6831 (grub_util_cryptodisk_print_uuid): Likewise.
6832 (grub_util_get_fd_sectors): Likewise.
6833 * util/grub-fstest.c (mount_crypt): New var.
6834 (fstest): Mount crypto if requested.
6835 (options): New option -C.
6836 (argp_parser): Parse -C.
6837 (main): Init and fini gcry.
6838 * util/grub-install.in: Support cryptodisk install.
6839 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
6840 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
6841 cryptodisk.
6842 (prepare_grub_to_access_device): Likewise.
6843 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
6844 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
6845 (probe_cryptodisk_uuid): New function.
6846 (probe_abstraction): Likewise.
6847 (probe): Use new functions.
6848 * util/import_gcry.py: Create Makefile.utilgcry.def.
6849 Add modname member.
6850
9bfdcbbc
VS
68512011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6852
6853 Lazy device scanning.
6854
6855 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
6856 (grub-setup): Remove util/raid.c.
6857 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
6858 * grub-core/disk/lvm.c (scan_depth): New variable.
6859 (grub_lvm_iterate): Rescan if necessary.
6860 (find_lv): New function based on grub_lvm_open.
6861 (grub_lvm_open): Use find_lv. Rescan on error.
6862 (is_node_readable): New function.
6863 (is_lv_readable): Likewise.
6864 (grub_lvm_scan_device): Skip already found disks.
6865 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
6866 Stop if searched device is found and readable.
6867 * grub-core/disk/raid.c (inscnt): New variable.
6868 (scan_depth): Likewise.
6869 (scan_devices): New function based on grub_raid_register. Abort if
6870 looked for device is found.
6871 (grub_raid_iterate): Rescan if needed.
6872 (find_array): NEw function based on -grub_raid_open.
6873 (grub_raid_open): Use find_array and rescan.
6874 (insert_array): Set became_readable_at.
6875 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
6876 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
6877 New function.
6878 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
6879 (grub_util_pull_device): New function.
6880 (grub_util_get_grub_dev): Call grub_util_pull_device.
6881 * util/raid.c: Moved to ..
6882 * grub-core/kern/emu/raid.c: ... here.
6883 (grub_util_raid_getmembers): New parameter "bootable".
6884 All users updated. Support 1.x.
6885 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
6886 All users updated.
6887 * include/grub/disk.h (grub_disk_pull_t): New enum.
6888 (grub_disk_dev): Change iterate prototype.
6889 All users updated.
6890 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
6891 New proto.
6892 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
6893 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
6894 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
6895 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
6896 All users updated.
6897 * include/grub/util/raid.h: Removed.
6898
1c358e59
VS
68992011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
6900
6901 * po/POTFILES.in: Regenerate.
6902
abee94ed
VS
69032011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
6904
6905 Unify sparc init with other ieee1275.
6906
6907 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
6908 instead of kern/sparc64/ieee1275/init.c.
6909 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
6910 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
6911 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
6912 grub/machine/kernel.h.
6913 (grub_ieee1275_original_stack) [__sparc__]: New variable.
6914 (grub_claim_heap) [__sparc__]: Use sparc version.
6915 (grub_machine_init): Moved args parsing to
6916 (grub_parse_cmdline): ...this.
6917 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
6918 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
6919 New definition.
6920 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
6921
6922 Move BOOTP to separate file.
6923
6924 * grub-core/Makefile.core.def (net): Add net/bootp.c.
6925 * grub-core/net/net.c: Move all BOOTP functions to
6926 * grub-core/net/bootp.c: ... here.
6927
6928 Use frame interface on PXE.
6929
6930 * grub-core/Makefile.core.def (pxecmd): Removed.
6931 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
6932 * grub-core/commands/i386/pc/pxecmd.c: Removed.
6933 * grub-core/i386/pc/pxe.c: Moved from here ...
6934 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
6935 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
6936 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
6937
6938 EFI network support.
6939
6940 * grub-core/Makefile.core.def (efinet): New module.
6941 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
6942 here...
6943 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
6944 All users updated.
6945 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
6946 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
6947 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
6948 * grub-core/net/drivers/efi/efinet.c: New file.
6949 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
6950 (grub_efi_net_config): New extern var.
6951
6952 Various cleanups and bugfixes.
6953
6954 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
6955 error.
6956 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
6957 disk declared as partition.
6958 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
6959 leak on failure.
6960 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
6961 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
6962 (grub_debug_zalloc): Likewise.
6963 (grub_debug_realloc): Likewise.
6964 (grub_debug_memalign): Likewise.
6965 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
6966 Check that target is IPv4.
6967 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
6968 local-mac-address as fallback.
6969 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
6970 memory leak.
6971 * grub-core/net/ip.c (ipchksum): Rename to ...
6972 (grub_net_ip_chksum): ... this. All users updated.
6973 (grub_net_recv_ip_packets): Special handling for DHCP.
6974 * util/grub-mkimage.c (generate_image): Zero-out aout header.
6975
6976 Unify prefix handling
6977
6978 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
6979 (grub_machine_get_bootlocation): ... this.
6980 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
6981 (grub_machine_get_bootlocation): ... this.
6982 (grub_prefix): New variable.
6983 (prefix): Removed.
6984 (root_dev): New variable.
6985 (dir): Likewise.
6986 (main): Use new variables.
6987 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
6988 Revamped into ...
6989 (grub_machine_get_bootlocation): ... this.
6990 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
6991 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
6992 (grub_machine_get_bootlocation): ... this.
6993 (grub_machine_set_prefix): Removed.
6994 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
6995 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
6996 Revamped into ...
6997 (grub_machine_get_bootlocation): ... this.
6998 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
6999 (grub_set_prefix_and_root): ... this. All users updated.
7000 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
7001 Revamped into ...
7002 (grub_machine_get_bootlocation): ... this.
7003 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
7004 (grub_machine_get_bootlocation): New proto.
7005 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
7006
7007 Less intrusive and more reliable seek on network implementation.
7008
7009 * grub-core/kern/file.c (grub_file_net_seek): Removed.
7010 (grub_file_seek): Don't call grub_file_net_seek.
7011 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
7012 (grub_net_fs_read_real): .. this.
7013 (grub_net_seek_real): Use net->offset.
7014 (grub_net_fs_read): Seek if necessary.
7015
7016 Unify IEEE1275 netwotk config with the other platforms.
7017
7018 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
7019 New variable.
7020 (grub_machine_get_bootlocation): Support network.
7021 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
7022 Support type and device parsing.
7023 (grub_ieee1275_get_device_type): New function.
7024 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
7025 into ...
7026 (grub_ieee1275_net_config_real): ... this.
7027 (grub_ofnet_probecards): Removed.
7028 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
7029 * include/grub/ieee1275/ofnet.h: Removed.
7030 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
7031 extern var.
7032 (grub_ieee1275_get_device_type): New function.
7033
7034 Unify network device closing across platforms and make more robust.
7035
7036 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
7037 grub_grubnet_fini.
7038 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
7039 already.
7040 * grub-core/net/net.c (grub_net_network_level_interface_register):
7041 Update num_ifaces.
7042 (grub_net_card_unregister): Close all interfaces.
7043 (receive_packets): Don't poll if no iterfaces are registered.
7044 Open if necessary.
7045 (grub_net_fini_hw): New function.
7046 (grub_net_restore_hw): Likewise.
7047 (fini_hnd): New variable.
7048 (GRUB_MOD_INIT): Register preboot hook.
7049 (GRUB_MOD_FINI): Run and unregister preboot hook.
7050
7051 Poll network cards when idle.
7052
7053 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
7054 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
7055 * grub-core/net/net.c (receive_packets): Save last poll time.
7056 (grub_net_poll_cards_idle_real): New function.
7057 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
7058 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
7059 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
7060
7061 Rename ofnet interfaces.
7062
7063 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
7064 (grub_ofnet_findcards): Use ofnet_%s names.
7065
7066 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
7067
7068 Cleanup socket opening.
7069
7070 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
7071 (grub_net_fs_close): Likewise.
7072 (grub_net_fs_read_real): Use eof member.
7073 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
7074 (+grub_net_udp_close): New inline function.
7075
7076 * include/grub/net/tftp.h: Moved to the top of ...
7077 * grub-core/net/tftp.c: ... here.
7078 * include/grub/net/ip.h: Moved mostly to the top of ...
7079 * grub-core/net/ip.c: ... here.
7080 * include/grub/net/ethernet.h: Moved mostly to the top of ...
7081 * grub-core/net/ethernet.c: ... here.
7082
7083 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
7084
7085 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
7086 FS name.
7087
7088 * include/grub/net/ip.h (ipv4_ini): Removed.
7089 (ipv4_fini): Likewise.
7090
7091 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
7092 (grub_net_send_ip_packets): Likewise.
7093
cf1337aa
VS
70942011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7095
7096 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
7097 grub_read_cmos prototype.
7098
93c06ff9
VS
70992011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7100
7101 VGA text support in qemu-mips
7102
7103 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
7104 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
7105 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
7106 text.
7107 * grub-core/kern/i386/qemu/init.c: Renamed to ...
7108 * grub-core/kern/vga_init.c: ... this.
7109 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
7110 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
7111 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
7112 Adjust.
7113 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
7114 GRUB_MACHINE_PCI_IO_BASE.
7115
748ccabe
VS
71162011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7117
7118 MIPS qemu flash support.
7119
7120 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
7121 magic.
7122 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
7123 (grub_machine_init): Probe memory if its size isn't known.
7124 * util/grub-mkimage.c (image_targets): Add flash targets.
7125 (generate_image): Handle flash targets.
7126
d7345994
VS
71272011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7128
7129 MIPS qemu at_keyboard support.
7130
7131 * gentpl.py (videoinkernel): Add qemu-mips.
7132 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
7133 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
7134 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
7135 modules.
7136 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
7137 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
7138 * grub-core/term/serial.c (grub_serial_register)
7139 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
7140
a07a81b3
VS
71412011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7142
7143 CMOS support on sparc.
7144
7145 * gentpl.py (cmos): Add powerpc and sparc.
7146 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
7147 powerpc and sparc.
7148 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
7149 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
7150 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
7151 grub_set_datetime_cmos.
7152 * grub-core/lib/ieee1275/cmos.c: New file.
7153 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
7154 (find_rtc): Set no_ieee1275_rtc on error.
7155 (grub_get_datetime): Call grub_get_datetime_cmos on error.
7156 (grub_set_datetime): Call grub_set_datetime_cmos on error.
7157 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
7158 fail. Move value to argument. All users updated
7159 (grub_cmos_write): Likewise.
7160 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
7161 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
7162 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
7163 grub_get_datetime_cmos and grub_set_datetime_cmos.
7164
77546584
GS
71652011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
7166
7167 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
7168 sourcing grub-mkconfig_lib.
7169 * util/update-grub_lib.in: Likewise.
7170 * util/grub.d/00_header.in: Likewise.
7171 * util/grub.d/10_hurd.in: Likewise.
7172 * util/grub.d/10_kfreebsd.in: Likewise.
7173 * util/grub.d/10_linux.in: Likewise.
7174 * util/grub.d/10_netbsd.in: Likewise.
7175 * util/grub.d/10_windows.in: Likewise.
7176 * util/grub.d/20_linux_xen.in: Likewise.
7177 * util/grub.d/30_os-prober.in: Likewise.
7178
54894791
CW
71792011-06-28 Colin Watson <cjwatson@ubuntu.com>
7180
7181 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
7182 default_bg_color rather than black.
7183 (grub_gfxterm_fullscreen): Likewise.
7184 (grub_gfxterm_background_color_cmd): Save new background color in
7185 default_bg_color.
7186
8d5d8444
VS
71872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7188
7189 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
7190
5afeb5bd
VS
71912011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7192
7193 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
7194 mismerge.
7195
ba7df45e
VS
71962011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7197
7198 Chainloading on coreboot support.
7199
7200 * grub-core/Makefile.core.def (chain): Add coreboot.
7201 * grub-core/loader/i386/coreboot/chainloader.c: New file.
7202
d0b526b2
VS
72032011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7204
7205 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
7206 if it happens.
7207
5ff1d945
VS
72082011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7209
7210 Implement time command.
7211
7212 * grub-core/Makefile.core.def (time): New module.
7213 * grub-core/commands/time.c: New file.
7214 * grub-core/script/parser.y: Remove "time" keyword.
7215 * grub-core/script/yylex.l: Likewise.
7216
5ebaad7e
VS
72172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7218
7219 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
7220
bdea3798
VS
72212011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7222
7223 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
7224 when handling leftovers.
7225
b28c5655
VS
72262011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7227
7228 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
7229 so that help2man doesn't fail.
7230
b6f945dc
VS
72312011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7232
7233 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
7234 type in pointers on sparc64.
7235 (get_card_packet): Likewise.
7236
f9b75e8a
CW
72372011-06-27 Colin Watson <cjwatson@ubuntu.com>
7238
7239 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
7240 with `*'.
7241 (grub_cmd_videoinfo): Fetch current video mode.
7242
1e3d9b86
VS
72432011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7244
7245 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
7246 because of underlying system restrictions.
7247
efff4b1c
VS
72482011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7249
7250 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
7251 necessary.
7252
9fc9ce37
VS
72532011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7254
7255 Coreboot video support.
7256
7257 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
7258 (vbe): Likewise.
7259 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
7260 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
7261 here ...
7262 * grub-core/kern/i386/int.S: ... here.
7263 * grub-core/video/i386/pc/vbe.c: Updated includes.
7264 * grub-core/video/i386/pc/vga.c: Likewise.
7265 * include/grub/i386/coreboot/memory.h
7266 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
7267 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
7268 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
7269 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
7270 Disable interrupts.
7271 * include/grub/i386/pc/vga.h: Removed. All users updated.
7272
41bec7fe
VS
72732011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7274
7275 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
7276 definitions for dprintf.
7277 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
7278
ca80309d
VS
72792011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7280
7281 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
7282 prototype.
7283 (get_card_packet): Likewise.
7284
9e322ce8
YB
72852011-06-26 Yves Blusseau <blusseau@zetam.org>
7286
7287 Display the path of the file when file is not found
7288
7289 * grub-core/fs/fat.c: Display the filename when file is not found.
7290 * grub-core/fs/fshelp.c: Likewise.
7291 * grub-core/fs/hfs.c: Likewise.
7292 * grub-core/fs/jfs.c: Likewise.
7293 * grub-core/fs/minix.c: Likewise.
7294 * grub-core/fs/ufs.c: Likewise.
7295 * grub-core/fs/btrfs.c: Likewise.
7296 * grub-core/commands/i386/pc/play.c: Likewise.
7297
cbf597af
SJ
72982011-06-26 Szymon Janc <szymon@janc.net.pl>
7299
7300 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
7301 pointer checks before calling grub_free().
7302 * grub-core/commands/wildcard.c (match_devices): Likewise.
7303 * grub-core/commands/wildcard.c (match_files): Likewise.
7304 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
7305 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
7306 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
7307 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
7308 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
7309 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
7310 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
7311 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
7312 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
7313
6295b32f
P
73142011-06-25 Patrick <p55@mailinator.com>
7315
7316 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
7317
77c0840b
VS
73182011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7319
7320 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
7321 (grub_pxe_send): Likewise.
7322 (GRUB_MOD_INIT): Fix types.
7323
40ea05de
SJ
73242011-06-24 Szymon Janc <szymon@janc.net.pl>
7325
7326 * grub-core/io/xzio.c: Fix code style issues
7327
90162423
MRA
73282011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
73292011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
7330
7331 Network infrastructure.
7332 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
7333
7334 * include/grub/net/arp.h: New file.
90162423
MRA
7335 * include/grub/net/device.h: Likewise.
7336 * include/grub/net/ethernet.h: Likewise.
7337 * include/grub/net/ip.h: Likewise.
7338 * include/grub/net/netbuff.h: Likewise.
7339 * include/grub/net/tftp.h: Likewise.
7340 * include/grub/net/udp.h: Likewise.
7341 * include/grub/ieee1275/ofnet.h: Likewise.
7342 * include/grub/emu/export.h: Likewise.
7343 * include/grub/net.h: Likewise.
7344 * grub-core/net/arp.c: Likewise.
7345 * grub-core/net/ethernet.c: Likewise.
7346 * grub-core/net/ip.c: Likewise.
7347 * grub-core/net/udp.c: Likewise.
7348 * grub-core/net/tftp.c: Likewise.
7349 * grub-core/net/netbuff.c: Likewise.
7350 * grub-core/net/net.c: Likewise.
7351 * grub-core/net/drivers/emu/emunet.c: Likewise.
7352 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
7353 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
7354 export.h.
7355 * grub-core/Makefile.core.def (net): New module.
7356 (tftp): Likewise.
7357 (ofnet): Likewise.
7358 (emunet): Likewise.
7359 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
7360 network protocols.
7361 * grub-core/kern/device.c (grub_net_open) : New variable.
7362 (grub_device_open): Handle network device.
7363 (grub_device_close): Likewise.
7364 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
7365 (grub_grubnet_fini): Likewise.
7366 (grub_file_seek): Seek in network device.
7367 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
7368 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
7369 network root.
7370 (grub_machine_fini): Call grub_grubnet_fini.
7371 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
7372 network.
7373 (grub_ieee1275_get_aliasdevname): New function.
7374 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
7375 Add unofficial Solaris network info.
7376 (grub_multiboot_make_mbi): Likewise.
7377 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
7378 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
7379 * include/grub/device.h (grub_fs): Removed.
7380 * include/grub/err.h (grub_err_t): Add network-related values.
7381 * include/grub/i386/pc/pxe.h: Removed bootp parts.
7382 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
7383 (grub_ieee1275_get_aliasdevname): New proto.
7384 * include/grub/net.h: Rewritten.
423a1849 7385
031f22a0
VS
73862011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7387
7388 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
7389 names.
7390
4388ca72
VS
73912011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7392
7393 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
7394 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
7395 it truncates the output.
7396 Reported by: Ximin Luo.
7397
98e2f506
VS
73982011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7399
7400 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
7401
2a5e94d8
VS
74022011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7403
7404 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
7405 partmap before abstraction.
7406
535c1910
AK
74072011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
7408
7409 * util/grub-mkconfig_lib.in: Add missing quotes.
7410
bc09e1a2
VS
74112011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7412
7413 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
7414 old method if mountinfo would return /dev/root and /dev/root doesn't
7415 exist.
7416
290766fb
VS
74172011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7418
7419 ZFS zlib support
7420
7421 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
7422 (decomp_table): Add zlib entries.
7423 (zio_read): USe 8 bits for compression function rather than 3.
7424 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
7425
74262011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7427
7428 * grub-core/disk/ahci.c: Add missing license statements.
7429 * grub-core/fs/romfs.c: Likewise.
7430 * grub-core/lib/ia64/setjmp.S: Likewise.
7431 * grub-core/loader/i386/pc/freedos.c: Likewise.
7432 * grub-core/loader/ia64/efi/linux.c: Likewise.
7433 * grub-core/video/colors.c: Likewise.
7434 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
7435
5ab3f48a
VS
74362011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7437
7438 AHCI support.
7439
7440 * grub-core/Makefile.core.def (ata_pthru): Removed.
7441 (ahci): New module.
7442 (pata): Likewise.
7443 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
7444 on unload.
7445 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
7446 readwrite.
7447 (grub_hdparm_do_check_powermode_cmd): Likewise.
7448 (grub_hdparm_do_smart_cmd): Likewise.
7449 (grub_hdparm_set_val_cmd): Likewise.
7450 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
7451 * grub-core/disk/ahci.c: New file.
7452 * grub-core/disk/ata.c: Factor out the low-level part into ...
7453 * grub-core/disk/pata.c: ... here.
7454 * grub-core/disk/ata_pthru.c: Contents moved to ...
7455 * grub-core/disk/pata.c: ... here.
7456 * grub-core/disk/scsi.c (grub_scsi_names): New array.
7457 (grub_scsi_iterate): Use grub_scsi_names.
7458 (grub_scsi_open): Likewise.
7459 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
7460 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
7461 (grub_ata_regs_t): New struct.
7462 (grub_disk_ata_pass_through_parms): Likewise.
7463 (grub_ata_device): Renamed to ...
7464 (grub_ata): ... this.
7465 (grub_ata_dev): New struct.
7466 Removed all low-level inline functions.
7467 * include/grub/scsi.h: Add PATA and AHCI subsystems.
7468 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
7469 iterate hooks and open. All users updated.
7470 * util/grub-install.in: Handle AHCI disk module.
7471
c31dc5f5
SJ
74722011-06-23 Szymon Janc <szymon@janc.net.pl>
7473
7474 Add support for DRI and RSTn markers in JPEG files.
7475
7476 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
7477 (JPEG_MARKER_RST0): Likewise.
7478 (JPEG_MARKER_RST1): Likewise.
7479 (JPEG_MARKER_RST2): Likewise.
7480 (JPEG_MARKER_RST3): Likewise.
7481 (JPEG_MARKER_RST4): Likewise.
7482 (JPEG_MARKER_RST5): Likewise.
7483 (JPEG_MARKER_RST6): Likewise.
7484 (JPEG_MARKER_RST7): Likewise.
7485 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
7486 (grub_jpeg_decode_dri): New function.
7487 (grub_jpeg_decode_sos): Move image data related part into
7488 grub_jpeg_decode_data function.
7489 (grub_jpeg_decode_data): New function.
7490 (grub_jpeg_reset): New function.
7491 (grub_jpeg_decode_jpeg): Handle new markers.
7492
fe12fd5b
VS
74932011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7494
7495 * util/ieee1275/ofpath.c (check_sas): Close fd.
7496 (main): Free of_path.
7497 Reported by: David Volgyes <dvolgyes>.
7498
03147f46
VS
74992011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7500
7501 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
7502 Reported by: David Volgyes <dvolgyes>.
7503
cad3237f
VS
75042011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7505
7506 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
7507 file after stat.
7508 Reported by: David Volgyes <dvolgyes>.
7509
13548d26
VS
75102011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7511
7512 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
7513
7514 Reported by: David Volgyes <dvolgyes>.
7515
e061a1b5
VS
75162011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7517
7518 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
7519 Prevent memory leak.
7520
1abe47dc
VS
75212011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7522
7523 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
7524 (main): Close file.
e061a1b5 7525 Reported by: David Volgyes <dvolgyes>.
1abe47dc 7526
fbc62666
VS
75272011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
7530 to continue if allocation is failed.
7531
7532 Reported by: David Volgyes <dvolgyes>.
7533
e98c83e9
DV
75342011-06-23 David Volgyes <dvolgyes>
7535
7536 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
7537 dereference.
7538
a199a8cd
VS
75392011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7540
7541 Fix spurious warning.
7542
7543 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
7544 (acorn_partition_map_find): Use .bin member.
7545
e2d1dba0
VS
75462011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7547
7548 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
7549 /dev/root as a valid device.
7550
8a5d6919
JM
75512011-06-23 Jim Meyering <meyering@redhat.com>
7552
e2d1dba0
VS
7553 Avoid NULL deref in grub_device_open.
7554
8a5d6919
JM
7555 * grub-core/kern/device.c (grub_device_open): Don't dereference
7556 a NULL pointer upon failed grub_env_get.
7557
f7db6f4a
VS
75582011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7559
7560 Support non-512B sectors and agglomerate reads.
7561
7562 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
7563 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
7564 (disk_io_guid): Removed.
7565 (make_devices): Locate solely by BlockIO.
7566 (grub_efidisk_open): Fill log_sector_size and total_sectors.
7567 (grub_efidisk_read): Use read_blocks.
7568 (grub_efidisk_write): Use write_blocks.
7569 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
7570 log_sector_size.
7571 (get_safe_sectors): Handle non-512B sectors.
7572 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
7573 sectors.
7574 (grub_biosdisk_write): Handle non-512B sectors.
7575 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
7576 (grub_scsi_read): Remove special non-512B block handling (now handled
7577 one level up).
7578 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
7579 and do sanity checks.
7580 (grub_disk_adjust_range): Handle non-512B sectors.
7581 (transform_sector): New function.
7582 (grub_disk_read_small): Likewise.
7583 (grub_disk_read): Rewritten.
7584 (grub_disk_write): Handle non-512B sectors.
7585 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
7586 log_sector_size.
7587 (open_device): Use log_sector_size.
7588 (grub_util_biosdisk_read): Likewise.
7589 (grub_util_biosdisk_write): Likewise.
7590 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
7591 non-512B sectors.
7592 (pc_partition_map_embed): Likewise.
7593 * include/grub/disk.h (grub_disk): New field log_sector_size.
7594 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
7595 (GRUB_DISK_CACHE_BITS): Increased to 6.
7596 * util/grub-fstest.c (fstest): New command testload.
7597 (argp_parser): Likewise.
7598
881ac815
RM
75992011-06-16 Robert Millan <rmh@gnu.org>
7600
7601 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
7602 `ata' driver on kernel of FreeBSD 9.
7603
7604 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
7605 (get_ataraid_disk_name): New functions.
7606 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
7607 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
7608 get_ataraid_disk_name() and get_ada_disk_name().
7609
1e9aef7d
CW
76102011-06-13 Colin Watson <cjwatson@ubuntu.com>
7611
7612 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
7613 input format.
7614
351c7c8a
CW
76152011-05-29 Colin Watson <cjwatson@ubuntu.com>
7616
7617 * docs/grub.texi (Obtaining and Building GRUB): Substitute
7618 `ftp.gnu.org' for `alpha.gnu.org'.
7619
6b4e6430
CW
76202011-05-27 Colin Watson <cjwatson@ubuntu.com>
7621
7622 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
7623 partitions under /dev/disk/by-id/.
7624
c64db050
CW
76252011-05-27 Colin Watson <cjwatson@ubuntu.com>
7626
7627 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
7628 after ten consecutive open failures. Scanning all the way up to
7629 10000 is excessive and can cause serious performance problems in
7630 some configurations.
7631 Fixes Ubuntu bug #787461.
7632
245f4aba
VS
76332011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7634
7635 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
7636 opening new one.
7637
f767c929
VS
76382011-05-21 Colin Watson <cjwatson@ubuntu.com>
76392011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7640
7641 Don't stat devices unless we have to.
7642
7643 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
7644 dir == /dev/mapper.
7645 (grub_guess_root_device): Use already known os_dev if possible.
7646 * grub-core/kern/emu/hostdisk.c
7647 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
7648 if device is known to be a dm one.
7649
f35fa3a6
CW
76502011-05-20 Colin Watson <cjwatson@ubuntu.com>
7651
7652 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
7653 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
7654 Reported by: Pawel Tecza.
7655
9a79fcf2
VS
76562011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
7657
7658 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
7659 (lsefisystab): Likewise.
7660 (lssal): Likewise.
7661 (lsefimmap): Likewise.
7662 (hdparm): Enable on qemu-mips.
7663 (setjmp): Add ia64 nodist.
7664 (serial): Simplify tags.
7665
63e3eea9
CW
76662011-05-18 Colin Watson <cjwatson@ubuntu.com>
7667
7668 * Makefile.util.def (grub-ofpathname): Install manual page.
7669
09728256
CW
76702011-05-18 Colin Watson <cjwatson@ubuntu.com>
7671
7672 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
7673
8b63a142
CW
76742011-05-18 Colin Watson <cjwatson@ubuntu.com>
7675
7676 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
7677
e775d8ed
VS
76782011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7679
7680 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
7681 into dprintf.
7682
bf947d36
VS
76832011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7684
7685 Use full 64-bit division.
7686
7687 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
7688 (grub_divmod64): ... this.
7689 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
7690 version.
7691
b84f26c5
CW
76922011-05-18 Colin Watson <cjwatson@ubuntu.com>
7693
7694 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
7695 `source'.
7696
5626056f
CW
76972011-05-18 Colin Watson <cjwatson@ubuntu.com>
7698
7699 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
7700 to avoid accidents when debugging with 'sh -x'.
7701 * grub-core/gensyminfo.sh.in: Likewise.
7702 * tests/example_scripted_test.in: Likewise.
7703 * tests/grub_cmd_regexp.in: Likewise.
7704 * tests/grub_script_blanklines.in: Likewise.
7705 * tests/grub_script_dollar.in: Likewise.
7706 * tests/grub_script_expansion.in: Likewise.
7707 * tests/grub_script_final_semicolon.in: Likewise.
7708 * tests/partmap_test.in: Likewise.
7709 * tests/util/grub-shell-tester.in: Likewise.
7710 * tests/util/grub-shell.in: Likewise.
7711
e2965f4a
CW
77122011-05-18 Colin Watson <cjwatson@ubuntu.com>
7713
7714 Move gfxmenu color handling to video, so that gfxterm can use it
7715 too.
7716
7717 * grub-core/gfxmenu/named_colors.c: Move to ...
7718 * grub-core/video/colors.c: ... here. Rename
7719 grub_gui_get_named_color to grub_video_get_named_color.
7720 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
7721 * grub-core/video/colors.c (my_isxdigit): ... here.
7722 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
7723 Move to ...
7724 * grub-core/video/colors.c (parse_hex_color_component): ... here.
7725 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
7726 to ...
7727 * grub-core/video/colors.c (grub_video_parse_color): ... here.
7728
7729 * include/grub/gui.h (grub_gui_color_t): Move to ...
7730 * include/grub/video.h (grub_video_rgba_color_t): ... here.
7731 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
7732 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
7733 * include/grub/gui.h (grub_gui_map_color): Move to ...
7734 * include/grub/video.h (grub_video_map_rgba_color): ... here.
7735 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
7736 to ...
7737 * include/grub/video.h (grub_video_get_named_color): ... here.
7738 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
7739 * include/grub/video.h (grub_video_parse_color): ... here.
7740
7741 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
7742 video/colors.c.
7743 (gfxmenu): Remove gfxmenu/named_colors.c.
7744 (video) [videomodules]: Add video/colors.c.
7745
7746 Add a background_color command.
7747
7748 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
7749 function.
7750 (GRUB_MOD_INIT): Register background_color command.
7751 (GRUB_MOD_FINI): Unregister background_color command.
7752 (redraw_screen_rect): Allow blend/replace of text layer to be
7753 controlled independently from whether there is a background bitmap.
7754 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
7755 changing bitmap.
7756
1e4b4390
VS
77572011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7758
26618ff0
VS
7759 Patch BPB in ntldr and chainloader --bpb.
7760
1e4b4390
VS
7761 * grub-core/fs/fat.c: Include grub/fat.h.
7762 (grub_fat_bpb): Moved to ...
7763 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
7764 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
7765 grub/ntfs.h.
7766 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
7767 Moved from here...
7768 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
7769 here.
7770 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
7771 New function.
7772 (grub_chainloader_cmd): Patch BPB if --bpb is given.
7773 (GRUB_MOD_INIT): Show --bpb.
7774 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
7775 * grub-core/normal/main.c (features): New variable.
7776 (GRUB_MOD_INIT): Set feature_* variables.
7777 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
7778 proto.
7779 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
7780
cf02731e
VS
77812011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7782
7783 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
7784 for cleanness.
7785
e3a1073f
VS
77862011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7787
7788 FreeDOS direct loading support.
7789
7790 * docs/grub.texi (Supported OS): Add FreeDOS.
7791 * grub-core/Makefile.core.def (freedos): New module.
7792 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
7793 variable.
7794 (grub_relocator16_boot): Handle %ebx.
7795 * grub-core/lib/i386/relocator16.S: Likewise.
7796 * grub-core/loader/i386/pc/freedos.c: New file.
7797
05caa461
VS
77982011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7799
7800 Long Linux command line support.
7801
7802 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
7803 (maximal_cmdline_size): New variable.
7804 (allocate_pages): Use maximal_cmdline_size.
7805 (grub_cmd_linux): Set and use maximal_cmdline_size.
7806 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
7807 (allocate_pages): Use maximal_cmdline_size.
7808 (grub_cmd_linux): Set and use maximal_cmdline_size.
7809 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
7810 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
7811 and cmdline_size.
7812
a2491e23
VS
78132011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
78142011-05-18 Colin Watson <cjwatson@ubuntu.com>
7815
7816 Improve devmapper support
7817
7818 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
7819 (grub_util_is_lvm): New function.
7820 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
7821 than lvm if not dmraid.
7822 Handle mapped md nodes.
7823 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
7824 (grub_util_device_is_mapped): ... this. Make always available. All users
7825 updated.
7826 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
7827 (convert_system_partition_to_system_disk): Handle lvm, mpath and
7828 dmraid nodes.
7829 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
7830
6ad6223e
VS
78312011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7832
7833 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
7834
7835 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
7836 * grub-core/modinfo.sh.in: New file.
7837 * grub-core/Makefile.core.def (modinfo.sh): New script.
7838 * util/grub-mknetdir.in: Use modinfo.sh.
7839 * util/grub-mkrescue.in: Likewise.
7840
543a8f6e
VS
78412011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7842
7843 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
7844 Fix potential usage of Elf32 instead of Elf64 when compiling on
7845 32-bit architecture. Add endianness macros while on it.
7846
4959e111
VS
78472011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7848
7849 Use mipsel- rather than mips- in directories involving mipsel ports to
7850 allow both endiannesses coexist.
7851
7852 * configure.ac: proparate target_cpu=mipsel rather than resetting to
7853 mips. All conditions adjusted.
7854 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
7855 variable.
7856 * util/grub-install.in: Adjust conditions to take renaming into account.
7857 * util/grub-mkimage.c (image_targets): Likewise. New target
7858 mips-qemu_mips-elf for bigendian mips.
7859
35341bbc
VS
78602011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7861
7862 Avoid unnecessary copying on MIPS.
7863
7864 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
7865 early if src == dest.
7866 * util/grub-mkimage.c (generate_image): Arange for src == dest if
7867 compression is none.
7868
b772baed
VS
78692011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7870
7871 Reduce memory footprint on SGI by putting modules before the kernel
7872 as opposed to after.
7873
7874 * grub-core/Makefile.core.def (kernel): Increase linking address.
7875 (none_decompress): Likewise.
7876 (xz_decompress): Likewise.
7877 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
7878 address.
7879 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
7880 layout change.
7881 (grub_arch_modules_addr): New function.
7882 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
7883 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
7884 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
7885 here.
7886 * grub-core/kern/mips/startup.S (total_size): Rename to ...
7887 (grub_total_modules_size): ... this. Make global.
7888 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
7889 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
7890 New definition.
7891 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
7892 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
7893 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
7894 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
7895 * util/grub-mkimage.c (image_target_desc): New flag
7896 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
7897 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
7898 (generate_image): Handle images with modules before kernel.
7899
566a1917
VS
79002011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7901
7902 Prevent potential loss of memory map by overwrite on qemu-mips.
7903
7904 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
7905 Save ram size in $s4.
7906 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
7907 All users changed to grub_arch_memsize.
7908 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
7909 Loongson.
7910 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
7911 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
7912 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
7913 external variable.
7914
5d420cd9
CW
79152011-05-17 Colin Watson <cjwatson@ubuntu.com>
7916
7917 * .bzrignore: Remove grub-dumpbios.
7918
d064b830
CW
79192011-05-17 Colin Watson <cjwatson@ubuntu.com>
7920
7921 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
7922 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
7923 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
7924 existing options which append).
7925 * docs/grub.texi (Simple configuration): Document new options.
7926 Reported by: Ian Jackson. Fixes Debian bug #617538.
7927
3ca2b466
CW
79282011-05-17 Colin Watson <cjwatson@ubuntu.com>
7929
7930 * util/grub-fstest.c (cmd_cat): New function.
7931 (fstest): Handle CMD_CAT.
7932 (options): Add cat.
7933 (argp_parser): Handle cat.
7934
24c9143a
CW
79352011-05-17 Colin Watson <cjwatson@ubuntu.com>
7936
7937 * Makefile.util.def (grub-bin2h): Don't install.
7938 * docs/man/grub-bin2h.h2m: Remove.
7939
90f7ac19
VS
79402011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7941
7942 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
7943 place.
7944
8d4a5178
VS
79452011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7946
7947 Reenable qemu-mips port.
7948
7949 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
7950 Fix small arc bug while on it.
7951 * gentpl.py: Handle qemu_mips.
7952 * grub-core/Makefile.am: Likewise.
7953 * grub-core/Makefile.core.def: Likewise.
7954 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
7955 inappropriate includes.
7956 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
7957 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
7958 * grub-core/kern/main.c (grub_modules_get_end)
7959 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
7960 * grub-core/kern/mips/qemu-mips: Moved to ..
7961 * grub-core/kern/mips/qemu_mips: ... this.
7962 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
7963 (grub_machine_init): Call terminfo_init and serial_init.
7964 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
7965 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
7966 New variable.
7967 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
7968 parameter passing.
7969 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
7970 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
7971 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
7972 * include/grub/mips/qemu_mips/cmos.h: New file.
7973 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
7974 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
7975 Removed.
7976 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
7977 Use correct mips-style address.
7978 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
7979 (GRUB_TICKS_PER_SECOND): Removed.
7980 (grub_get_rtc): Likewise.
7981 (grub_cpu_idle): Likewise.
7982 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
7983 New definition.
7984 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
7985 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
7986 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
7987 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
7988 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
7989 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
7990 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
7991 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
7992
400b9371
VS
79932011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7994
7995 SGI ARCS port.
7996
7997 * Makefile.util.def (libgrubmods.a): Add dvh.c.
7998 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
7999 platforms.
8000 * configure.ac: New target mips-arc.
8001 * gentpl.py: Likewise.
8002 * grub-core/Makefile.am: Likewise.
8003 * grub-core/Makefile.core.def: Likewise.
8004 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
8005 (none_decompress): Likewise.
8006 (lsdev): New module.
8007 (datetime): Use lib/arc/datetime.c on ARC.
8008 (part_dvh): New module.
8009 * grub-core/commands/arc/lsdev.c: New file.
8010 * grub-core/disk/arc/arcdisk.c: Likewise.
8011 * grub-core/kern/mips/arc/init.c: Likewise.
8012 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
8013 aligned addresses.
8014 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
8015 support.
8016 (grub_arch_dl_relocate_symbols): Likewise.
8017 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
8018 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
8019 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
8020 platforms.
8021 * grub-core/lib/arc/datetime.c: New file.
8022 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
8023 pci.h on non-loongson.
8024 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
8025 (grub_linux_boot): Set unused registers to 0.
8026 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
8027 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
8028 * grub-core/mmap/mips/uppermem.c: ...here.
8029 * grub-core/partmap/dvh.c: New file.
8030 * grub-core/term/arc/console.c: Likewise.
8031 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
8032 (grub_terminfo_set_current): Add terminal "arc".
8033 (grub_terminfo_readkey): Support ARC sequences.
8034 * include/grub/arc/arc.h: New file.
8035 * include/grub/arc/console.h: Likewise.
8036 * include/grub/disk.h (grub_disk_dev_id): Add
8037 GRUB_DISK_DEVICE_ARCDISK_ID.
8038 * include/grub/mips/arc/kernel.h: New file.
8039 * include/grub/mips/arc/memory.h: Likewise.
8040 * include/grub/mips/arc/time.h: Likewise.
8041 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
8042 * include/grub/mips/kernel.h (grub_halt): ... here.
8043 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
8044 here...
8045 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
8046 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
8047 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
8048 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
8049 proto.
8050 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
8051 from here ...
8052 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
8053 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
8054 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
8055 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
8056 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
8057 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
8058 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
8059 (grub_phys_addr_t): Moved from here ...
8060 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
8061 (grub_vtop): Moved from here ...
8062 * include/grub/mips/memory.h (grub_vtop): ... here.
8063 (grub_map_memory): Moved from here ...
8064 * include/grub/mips/memory.h (grub_map_memory): ... here.
8065 (grub_unmap_memory): Moved from here ...
8066 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
8067 (grub_machine_mmap_iterate): Moved from here ...
8068 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
8069 (grub_mmap_get_lower): Moved from here ...
8070 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
8071 (grub_mmap_get_upper): Moved from here ...
8072 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
8073 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8074 here ...
8075 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8076 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
8077 here ...
8078 * include/grub/mips/time.h (grub_get_rtc): ... here.
8079 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8080 here ...
8081 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8082 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
8083 here ...
8084 * include/grub/mips/time.h (grub_cpu_idle): ... here.
8085 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
8086 definition.
8087 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
8088 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
8089 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
8090 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
8091 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
8092 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
8093 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
8094 (GRUB_MACHINE_LINK_ADDR): Likewise.
8095 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
8096 to 6.
8097 * util/grub-install.in: Run dvhtool on ARC.
8098 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 8099 (generate_image): Handle ECOFF output for mips-arc.
400b9371 8100
c8ecc840
VS
81012011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8102
8103 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
8104 blocks.
8105
153a4b55
VS
81062011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8107
8108 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
8109 after enabling port.
8110
ff44d107
VS
81112011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8112
8113 Skip incorrect USB devices.
8114
8115 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
8116 configcnt == 0.
8117 * include/grub/usb.h (grub_usb_err_t): New enum value
8118 GRUB_USB_ERR_BADDEVICE.
8119
638dbe4f
VS
81202011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8121
8122 Fuloong video init support.
8123
8124 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
8125 well.
8126 (grub_vga_read_arx): New function.
8127 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
8128 definition.
8129 (framebuffer): New members io, mmioptr and mmiobase.
8130 (read_sis_cmd): New function.
8131 (write_sis_cmd): Likewise.
8132 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
8133 rather than 640x400.
8134 * grub-core/video/sis315_init.c: New file.
8135
c3fc520c
VS
81362011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8137
8138 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
8139 non-loongson.
8140 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
8141 to grub_dl_register_symbol.
8142
67b1e5c9
VS
81432011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8144
8145 Fix compilation errors.
8146
8147 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
8148 potentially unused.
8149 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
8150 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
8151 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
8152 to loongson machines.
8153
b756f75f
VS
81542011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8155
8156 Several FS mtime support.
8157
8158 * grub-core/fs/affs.c (grub_affs_time): New struct.
8159 (grub_affs_file): New field mtime.
8160 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
8161 type. Removed 'size'. New field 'di'. All users updated.
8162 (grub_affs_mount): Simplify checsum checking.
8163 (grub_affs_iterate_dir): New helper grub_affs_create_node.
8164 (grub_affs_dir): Handle mtime.
8165 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
8166 (grub_cpio_dir): Likewise.
8167 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
8168 (grub_hfs_filerec): New field mtime.
8169 (grub_hfs_dir): Handle mtime.
8170 (grub_hfs_mtime): New function.
8171 (grub_hfs_fs): Register grub_hfs_mtime.
8172 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
8173 (grub_iso9660_dir): New field mtime.
8174 (grub_fshelp_node): New field dirent.
8175 (iso9660_to_unixtime): New function.
8176 (iso9660_to_unixtime2): Likewise.
8177 (grub_iso9660_read_symlink): Use node->dirent.
8178 (grub_iso9660_iterate_dir): Likewise.
8179 (grub_iso9660_dir): Set mtime.
8180 (grub_iso9660_mtime): New function.
8181 (grub_iso9660_fs): Register grub_iso9660_mtime.
8182 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
8183 (grub_jfs_inode): New fields atime, ctime and mtime.
8184 (grub_jfs_dir): Set mtime.
8185 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
8186 * grub-core/fs/ntfs.c (list_file): Set mtime.
8187 (grub_ntfs_dir): Likewise.
8188 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
8189 (grub_reiserfs_iterate_dir): Set mtime.
8190 (grub_reiserfs_dir): Likewise.
8191 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
8192 (grub_fshelp_node): Likewise.
8193 (grub_sfs_iterate_dir): Set mtime.
8194 (grub_sfs_dir): Likewise.
8195 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
8196 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
8197 (grub_xfs_inode): New fields atime, mtime, ctime.
8198 (grub_xfs_dir): Set mtime.
8199 * include/grub/datetime.h (grub_datetime2unixtime): New function.
8200 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
8201 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
8202
8203 Support UDF symlinks.
8204
8205 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
8206 (grub_ufs_read_symlink): New function. All users updated.
8207
8208 Check amiga partmap checksum.
8209
8210 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
8211 (grub_amiga_partition): Likewise.
8212 (amiga_partition_map_checksum): New function.
8213 (amiga_partition_map_iterate): Check checksum.
8214
5470225d
VS
82152011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8216
8217 ROMFS support.
8218
8219 * Makefile.util.def (libgrubmods.a): Add romfs.
8220 * grub-core/Makefile.core.def (romfs): New module.
8221 * grub-core/fs/romfs.c: New file.
8222
d4680a35
VS
82232011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8224
8225 Squashfs v4 support.
8226
8227 * Makefile.util.def (libgrubmods.a): Add squash4.
8228 * grub-core/Makefile.core.def (squash4): New module.
8229 * grub-core/fs/squash4.c: New file.
8230 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
8231 disk_input_start, disk_input.
8232 (get_byte): Handle disk_input.
8233 (grub_zlib_disk_read): New function.
8234 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
8235
bcb18e74
FZ
82362011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
82372011-05-15 Feiran Zheng <famcool@gmail.com>
8238
8239 * Makefile.util.def (libgrubmods.a): Add minix3.
8240 * grub-core/Makefile.core.def (minix3): New module.
8241 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
8242 (GRUB_MINIX_BSIZE): Removed.
8243 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
8244 (grub_minix_ino_t): New type.
8245 (grub_minix_le_to_cpu_ino): New macro.
8246 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
8247 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
8248 (grub_minix_data): New field block_size.
8249 (grub_minix_read_file): Handle 64-bit correctly.
8250 * grub-core/fs/minix3.c: New file.
8251
32297d5f
TG
82522011-05-15 Tristan Gingold <gingold@free.fr>
82532011-05-15 Robert Millan <rmh.grub@aybabtu.com>
82542011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8255
8256 IA64 support.
8257
8258 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
8259 * configure.ac: Add ia64-efi target.
8260 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
8261 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
8262 * gentpl.py: Add ia64_efi platform.
8263 Rename x86_efi to efi and Add ia64-efi. All users updated.
8264 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
8265 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
8266 Remove kern/generic/rtc_get_time_ms.c on EFI.
8267 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
8268 kern/ia64/dl_helper.c on ia64-efi.
8269 Add kern/emu/cache.c on emu.
8270 (linux): Use on loader/ia64/efi/linux.c on ia64.
8271 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
8272 whether symbol is a function.
8273 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
8274 (grub_symbol): New field 'isfunc'.
8275 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
8276 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
8277 (grub_dl_load_segments): Place all sections into the same region.
8278 [__ia64__]: Create trampolines and got.
8279 [GRUB_MACHINE_EMU]: Call mprotect.
8280 (grub_dl_resolve_symbols): Resolve symbol type as well.
8281 [__ia64__]: Create function descriptors.
8282 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
8283 (grub_rtc_get_time_ms): ... this. Expressions simplified.
8284 (grub_get_rtc): New function.
8285 * grub-core/kern/emu/cache.c [__ia64__]: New file.
8286 * grub-core/kern/emu/cache.S: Renamed to ...
8287 * grub-core/kern/emu/cache_s.S: ... this.
8288 [__ia64__]: Add a nop.
8289 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
8290 [__ia64__]: New function.
8291 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
8292 * grub-core/kern/ia64/dl.c: New file.
8293 * grub-core/kern/ia64/dl_helper.c: Likewise.
8294 * grub-core/kern/ia64/efi/init.c: New file.
8295 * grub-core/kern/ia64/efi/startup.S: Likewise.
8296 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
8297 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
8298 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
8299 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
8300 * grub-core/loader/ia64/efi/linux.c: New file.
8301 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
8302 (GRUB_MOD_DEP): Likewise.
8303 (grub_dl) [__ia64__]: New fields got and tramp.
8304 (grub_dl): New field 'base'.
8305 (grub_dl_register_symbol): New argument isfunc. All users updated.
8306 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
8307 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
8308 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
8309 (grub_ia64_dl_get_tramp_got_size): New proto.
8310 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
8311 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
8312 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
8313 * include/grub/efi/api.h: Skip call wrappers on ia64.
8314 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
8315 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
8316 * include/grub/elf.h (ELF_ST_INFO): New definition.
8317 * include/grub/ia64/efi/kernel.h: New file.
8318 * include/grub/ia64/efi/memory.h: Likewise.
8319 * include/grub/ia64/efi/time.h: Likewise.
8320 * include/grub/ia64/kernel.h: Likewise.
8321 * include/grub/ia64/setjmp.h: Likewise (from glibc).
8322 * include/grub/ia64/time.h: New file.
8323 * include/grub/ia64/types.h: Likewise.
8324 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
8325 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
8326 New protos.
8327 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
8328 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
8329 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
8330 * util/grub-mkimage.c (image_target_desc): New field pe_target.
8331 All users updated.
8332 (EFI64_HEADER_SIZE): New definition. All users updated.
8333 (image_targets): Add ia64-efi.
8334 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
8335 jumpers_addr. All users updated.
8336 Create function descriptors.
8337 (count_funcs): New function.
8338 (unaligned_uint32): New struct.
8339 (MASK20): New definition.
8340 (MASK19): Likewise.
8341 (MASKF21): Likewise.
8342 (add_value_to_slot_20b): New function.
8343 (add_value_to_slot_21_real): Likewise.
8344 (add_value_to_slot_21): Likewise.
8345 (ia64_kernel_trampoline): New struct.
8346 (nopm): New variable.
8347 (jump): Likewise.
8348 (make_trampoline): New function.
8349 (relocate_addresses): Handle ia64.
8350 (make_reloc_section): Likewise.
8351 (load_image): Likewise.
8352
983b414d
VS
83532011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8354
8355 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
8356 warning. Move variables before code while on it.
8357
5d063cdc
VS
83582011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8359
8360 Fuloong support.
8361
8362 * configure.ac: Rename yeeloong platform to loongson. All users updated.
8363 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
8364 * grub-core/boot/mips/loongson/fuloong.S: New file.
8365 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
8366 Explicitly init CS5536.
8367 [FULOONG]: Don't use serial until CS5536 is available.
8368 Set GPIO based on dumps.
8369 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
8370 [FULOONG]: Handle GPIO and memory controller differences.
8371 Parse machine type in $a2.
8372 * grub-core/boot/mips/startup_raw.S: Determine and save the
8373 architecture.
8374 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
8375 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
8376 init on architecture type.
8377 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
8378 SIS315E. Don't init at_keyboard on fuloong.
8379 (grub_halt): Support Fuloong.
8380 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
8381 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
8382 (loongson_machtypes): New array.
8383 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
8384 type.
8385 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
8386 config. All users updated. Handle CS5536 serial.
8387 * grub-core/term/serial.c (grub_serial_register): Conditionalise
8388 default port on machine type. Register serial as inactive.
8389 * grub-core/video/sis315pro.c: New file.
8390 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
8391 definition.
8392 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
8393 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
8394 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
8395 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
8396 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
8397 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
8398 to ...
8399 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
8400 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
8401 definition.
8402 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
8403 (grub_arch_machine): New extern var.
8404 * include/grub/mips/loongson/serial.h
8405 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
8406 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
8407 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
8408 (GRUB_MACHINE_SERIAL_PORT0): ... this.
8409 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
8410 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
8411 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
8412 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
8413 * include/grub/term.h (grub_term_register_input_inactive): New inline
8414 function.
8415 (grub_term_register_output_inactive): Likewise.
8416 * include/grub/video.h (grub_video_driver_id): New value
8417 GRUB_VIDEO_DRIVER_SIS315PRO.
8418 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
8419 New field "names". All users updated.
8420 New field value IMAGE_FULOONG_FLASH.
8421 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
8422
6ada82d1
JU
84232011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
8424
8425 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
8426 and add some clarification.
8427
90c571a4
VS
84282011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8429
8430 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
8431 platforms if kernel is compressed.
8432
de04eecf
VS
84332011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8434
8435 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
8436 unused modules since currently referrence counter isn't reliable and
8437 there isn't much memory to recover there anyway.
8438
57688121
VS
84392011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
8442 rather than resetting it to allow modules to reference themselves
8443 in init.
8444
3d2c7e35
VS
84452011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8446
8447 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
8448 counter on dependencies since grub_dl_unref already handles this.
8449
b25db218
VS
84502011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8451
8452 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
8453 on error if not already done.
8454
25a45338
VS
84552011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8456
8457 Fix few potential memory misusage.
8458
8459 * grub-core/font/font.c (load_font_index): Don't free char_index to
8460 avoid double free.
b25db218
VS
8461 (grub_font_load): Zero-fill font at alloc for safety.
8462 Close file on error.
8463 (free_font): Free bmp_idx.
25a45338 8464
0cac83df
VS
84652011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8466
8467 * docs/grub.texi (Installation): Fix several outdated claims.
8468
2217a143
VS
84692011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8470
8471 Handle module_license on windows.
8472
8473 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
8474 sections shifted.
8475 (insert_string): Make argument const char * instead of char *.
8476 (write_section_data): Handle long section names.
8477 Handle module_license.
8478
d4de6b01
VS
84792011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8480
8481 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
8482 handle class-free menuentries.
8483 (grub_normal_add_menu_entry): Add a check to be sure.
8484
4c2a3b43
VS
84852011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8486
8487 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
8488 PgUp and PgDown.
8489
85c6210f
VS
84902011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8491
8492 * configure.ac: Bump version to 1.99.
8493
36084912
VS
84942011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8495
8496 Give ATA device a bit more time on first try in order to allow disks
8497 to spin up.
8498
8499 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
8500 if dev->present is 1. Reset dev->present on failure.
8501 (grub_ata_device_initialize): Set dev->present to 1.
8502 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
8503 (grub_ata_device): New member 'present'.
8504
bda0e219
VS
85052011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8506
8507 * util/grub-mkimage.c (generate_image): Update hash.
8508
19e1c41b
VS
85092011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8510
8511 Flush caches on DMA memory.
8512
8513 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
8514 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
8515 (grub_dma_free): Likewise.
8516 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
8517
91bbcc0c
VS
85182011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8519
8520 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
8521 to avoid asm treating ld and sd as macros.
8522
60ddfad3
VS
85232011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8524
8525 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
8526 decompressor.
8527
a298aa04
VS
85282011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8529
8530 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
8531 grub_decompress_core since later would fail if grub_decompress_core
8532 is too far.
8533
9b44feca
VS
85342011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8535
8536 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
8537 R_MIPS_JALR since it's used by newer compiler.
8538
56dbe7b4
VS
85392011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8540
8541 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
8542
52856af2
VS
85432011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8544
8545 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
8546 file_path to 0 for surety.
8547 (grub_chainloader_boot): Set exit_data to NULL.
8548 Unset the loader once done.
8549 (grub_cmd_chainloader): Fix confusing error message if file is empty.
8550
9c9bfc6d
VS
85512011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8552
8553 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
8554 unknown key into a dprintf.
8555
dd94a3df
VS
85562011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8557
8558 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
8559 on first non-existant partition.
8560
fa68d99c
VS
85612011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8562
8563 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
8564 openning fails.
8565 Reported by: Mark Korenberg.
8566
157effb7
VS
85672011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8568
8569 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
8570 overflow.
8571
ea75312f
VS
85722011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8573
8574 * util/grub-mkimage.c (main): Explicitely flush and sync the output
8575 before closing to ensure that it will be readable by grub-setup.
8576
072b5d31
VS
85772011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8578
8579 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
8580 (devpath_1): Use MAKE_PIWG_PATH.
8581 (devpath_2): Likewise.
8582 (devpath_3): Likewise.
8583 (devpath_4): Likewise.
8584 (devpath_5): Likewise.
8585 (devpath_6): Likewise.
8586
8587 The appleldr.mod was checked that to be binary identical to previous
8588 version.
8589
7fae0051
Z
85902011-05-05 Zach <mikezackles>
8591
8592 Support 2010 Macbooks.
8593
8594 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
8595 (devs): Add devpath_6.
8596
7c515bee
VS
85972011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8598
8599 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
8600 /dev/random. /dev/urandom is good enough for our purposes (salting).
8601
ed660bd8
VS
86022011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8603
8604 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
8605
ee5614b7
VS
86062011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8607
8608 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
8609 hexadecimal.
8610
664889a6
VS
86112011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8612
8613 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
8614 and not 0 on failure.
8615
bd405bbc
CW
86162011-05-03 Colin Watson <cjwatson@ubuntu.com>
8617
8618 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
8619 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
8620 disk; otherwise grub_fs_probe will not fall back to the next
8621 filesystem.
8622 (grub_pxefs_open): Likewise, for consistency.
8623 Reported and tested by: Ezekiel Grave.
8624
4ebff753
CW
86252011-05-03 Colin Watson <cjwatson@ubuntu.com>
8626
8627 * tests/partmap_test.in: Don't hardcode path to parted.
8628 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
8629
8f942553
CW
86302011-05-01 Colin Watson <cjwatson@ubuntu.com>
8631
8632 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
8633 of `ls' to find out which devices are available.
8634
3c62402d
VS
86352011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
8638 than source address for efi mmap buffer.
8639
723f63f2
VS
86402011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
8643 wrong action on non-detecting the magic.
8644
68797f92
VS
86452011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8646
8647 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
8648 already supplied by another part of the module (fixes compilation on
8649 FreeBSD).
8650
6be8715d
VS
86512011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8652
8653 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
8654 match the one used by mdadm.
8655
e91dba5b
CW
86562011-04-21 Colin Watson <cjwatson@ubuntu.com>
8657
8658 * po/README: Add instructions for creating po/LINGUAS.
8659
c85140b3
CW
86602011-04-21 Colin Watson <cjwatson@ubuntu.com>
8661
8662 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
8663 #551428.
8664
8665 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
8666 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
8667 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
8668 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
8669 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
8670 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
8671 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
8672 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
8673 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
8674 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
8675 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
8676 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
8677 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
8678 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
8679 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
8680 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
8681 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
8682 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
8683 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
8684 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
8685 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
8686 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
8687
92051871
CW
86882011-04-21 Colin Watson <cjwatson@ubuntu.com>
8689
8690 * grub-core/kern/emu/getroot.c
8691 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
8692 test that was incorrectly reintroduced in r3214.
8693 Reported by: Ian Dall. Fixes Savannah bug #33133.
8694
b13f79a4
CW
86952011-04-21 Colin Watson <cjwatson@ubuntu.com>
8696
8697 Fix stack pointer handling in 16-bit relocator.
8698
8699 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
8700 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
8701 Fixes Ubuntu bug #683904.
8702
9b710a88
VS
87032011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
8704
8705 * configure.ac: Bump version to 1.99~rc2.
8706
d97e7b59
VS
87072011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
8708
8709 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
8710 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
8711 * grub-core/lib/x86_64/setjmp.S: Likewise.
8712 * grub-core/lib/mips/setjmp.S: Likewise.
8713 * grub-core/lib/powerpc/setjmp.S: Likewise.
8714 * grub-core/lib/sparc64/setjmp.S: Likewise.
8715
0624551c
VS
87162011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
8717
8718 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
8719 * grub-core/lib/efi/datetime.c: Likewise.
8720
e8f28d4c
VS
87212011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8722
8723 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
8724 New function.
8725 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
8726 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
8727 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
8728
bba79a15
VS
87292011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8730
8731 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
8732 bitmap.
8733 (grub_gfxterm_term_init): Likewise.
8734
abc474ef
VS
87352011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8736
8737 Take into account the decorations the computing menu entry width.
8738
8739 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
8740 (grub_gfxmenu_create_box): Register get_border_width.
8741 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
8742 if available.
8743 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
8744 get_border_width.
8745
e74b3947
EP
87462011-04-18 Endres Puschner <code@e7p.de>
8747
8748 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
8749 Don't skip first class.
8750
34faa595
VS
87512011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8752
8753 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
8754 chunks.
8755 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
8756
93a777e3
VS
87572011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8758
8759 Complete 64-bit division support.
8760
8761 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
8762 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
8763 * include/grub/misc.h (grub_divmod64): Rename to ...
8764 (grub_divmod64_full): ... this.
8765 (grub_divmod64): New inline function.
8766
a5102d94
VS
87672011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8768
8769 * util/grub-mkimage.c (generate_image): Add forgotten comma.
8770
f3fb7b36
VS
87712011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8772
8773 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
8774 performing the necessary test.
8775
9ac718b0
VS
87762011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8777
8778 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
8779 (kfreebsd.elf): Likewise.
8780 (pc-chainloader.elf): Likewise.
8781 (ntldr.elf): Likewise.
8782
50d2cc5a
VS
87832011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8784
8785 Identify RAID by its UUID rather than (guessed) name.
8786
8787 * grub-core/disk/raid.c (ascii2hex): New function.
8788 (grub_raid_open): Accept mduuid/%s specification.
8789 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
8790 (get_mdadm_uuid): ... this.
8791 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
8792
e03f7bea
VS
87932011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
8794
8795 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
8796 to negative size.
8797
e74c3112
CW
87982011-04-13 Colin Watson <cjwatson@ubuntu.com>
8799
8800 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
8801 btrfs subvolume.
8802 * util/grub.d/20_linux_xen.in: Likewise.
8803
78fa584f
CW
88042011-04-13 Colin Watson <cjwatson@ubuntu.com>
8805
8806 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
8807 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
8808
8809 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
8810 Build a list of relevant visible mounts using the mnt_id and
8811 parent_mnt_id fields, and then scan that list at the end.
8812
9d5f8162
CW
88132011-04-12 Colin Watson <cjwatson@ubuntu.com>
8814
8815 * docs/grub.texi (normal): New section.
8816 (normal_exit): New section.
8817 (Embedded configuration): Add reference to normal.
8818 (GRUB only offers a rescue shell): Likewise.
8819 * docs/grub-dev.texi (Error Handling): Fix typo.
8820
09a9d66f
CW
88212011-04-12 Colin Watson <cjwatson@ubuntu.com>
8822
8823 * NEWS: Drop obsolete entry about probe-only btrfs support.
8824
0c676933
CW
88252011-04-12 Colin Watson <cjwatson@ubuntu.com>
8826
8827 * util/import_gcry.py: Fix typo.
8828
ec9f5e0d
VS
88292011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8830
8831 * NEWS: Add btrfs support.
8832
fe6b2cba
VS
88332011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
88342011-04-11 Colin Watson <cjwatson@ubuntu.com>
8835
8836 BtrFS support. Written by me (Vladimir) with important bugfixes and
8837 even more important testing by Colin.
8838
8839 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
8840 * grub-core/Makefile.core.def (btrfs): Add crc.c.
8841 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
8842 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
8843 mem_input_off and mem_input. All users updated to accept in-RAM input.
8844 (gzio_seek): New function.
8845 (test_zlib_header): Likewise.
8846 (grub_gzio_read): Likewise.
8847 (grub_zlib_decompress): Likewise.
8848 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
8849 Accept partial and non-virtual mounts.
8850 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
8851 avoid receiving /dev/dm-X as device.
8852 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
8853 Handle bind and partial mounts.
8854 * grub-core/lib/crc.c: New file.
8855 * include/grub/deflate.h: Likewise.
8856 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
8857 proto.
8858 * include/grub/lib/crc.h: New file.
8859
e745cf0c
VS
88602011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8861
8862 Implement automatic module license checking according to new GNU
8863 guidelines.
8864
8865 * grub-core/kern/dl.c (grub_dl_check_license): New function.
8866 (grub_dl_load_core): Use grub_dl_check_license.
8867 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
8868 (GRUB_MOD_LICENSE): Likewise.
8869 (GRUB_MOD_DUAL_LICENSE): Likewise.
8870 All modules updated.
8871
2a9bc016
CW
88722011-04-11 Colin Watson <cjwatson@ubuntu.com>
8873
8874 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
8875 reserved_first_sector to 1. btrfs reserves plenty of space for boot
8876 loaders.
8877 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
8878
8a3bc88e
VS
88792011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8880
8881 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
8882
af869a4a
VS
88832011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8884
8885 * util/grub-fstest.c (read_file): Report GRUB error if file opening
8886 failed.
8887
9ee8d94f
VS
88882011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8889
8890 * grub-core/kern/file.c (grub_file_open): Don't take into account the
8891 parenthesis in the middle of the filename.
8892
b01abe3e
VS
88932011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8894
8895 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
8896 rather than trying to put initrd way too high.
8897 Reported by: Ryan Lortie <desrt@desrt.ca>
8898
335bda1e
VS
88992011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8900
8901 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
8902 improperly removed string.
8903
5ca1a64d
VS
89042011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8905
8906 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
8907 is_disk.
8908 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
8909 (open_device) Likewise.
8910 (grub_util_biosdisk_close): Likewise.
d8ce9995 8911 Reported by: Mark Korenberg.
5ca1a64d 8912
cbac5b1e
AK
89132011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
8914
8915 * util/grub-mkconfig_lib.in: Add missing quotes.
8916
088cdb65
CW
89172011-04-10 Colin Watson <cjwatson@ubuntu.com>
8918
8919 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
8920 is NULL.
8921
8b8a81fa
VS
89222011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8923
8924 Dynamically count the number of lines for the lower banner.
8925
8926 * grub-core/normal/menu_entry.c (per_term_screen): New member
8927 num_entries.
8928 (print_down): Use num_entries.
8929 (update_screen): Likewise.
8930 (grub_menu_entry_run): Set num_entries.
8931 * grub-core/normal/menu_text.c (menu_viewer_data): New member
8932 num_entries.
8933 (grub_print_message_indented): Move real part to ...
8934 (grub_print_message_indented_real): ... here. Additional argument
8935 dry_run.
8936 (draw_border): Additional argument num_entries.
8937 (print_message): Additional argument dry_run.
8938 (print_entries): Receive menu viewer data.
8939 (grub_menu_init_page): New argment num_entries.
8940 (menu_text_set_chosen_entry): Use num_entries.
8941 (grub_menu_try_text): Likewise.
8942 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
8943 All users updated.
8944 (grub_ucs4_count_lines): New function.
8945 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
8946 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
8947 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
8948 (grub_term_border_height): Likewise.
8949 (grub_term_num_entries): Likewise.
8950
277f955b
VS
89512011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8952
8953 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
8954 Remove now unused string.
8955
536ce85a
CW
89562011-04-09 Colin Watson <cjwatson@ubuntu.com>
8957
8958 * docs/grub-dev.texi (Finding your way around): Update for 1.99
8959 build system.
8960 (Getting started): GRUB is developed in Bazaar now, not Subversion.
8961
8962 (Comment): Fix typo.
8963 (Getting started): General copy-editing.
8964 (Typical Development Experience): Likewise.
8965 (Error Handling): Likewise.
8966 (Video API): Likewise.
8967
2cf09e32
CW
89682011-04-09 Colin Watson <cjwatson@ubuntu.com>
8969
8970 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
8971 throughout.
8972
1ec652f4
VS
89732011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8974
8975 * util/grub-mkimage.c (main): Handle special naming of yeeloong
8976 directory.
8977
2c583728
CW
89782011-04-08 Colin Watson <cjwatson@ubuntu.com>
8979
8980 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
8981 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
8982 "development".
8983
d7a565e9
VS
89842011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8985
8986 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
8987 grub_strcpy since the lines aren't necessarily 0-terminated.
8988
7c2e4909
VS
89892011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8990
8991 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
8992 root on legacy.
8993
34c09785
VS
89942011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
8995
8996 * grub-core/commands/probe.c (options): Argument to set isn't optional.
8997 (GRUB_MOD_INIT): DEVICE isn't optional.
8998
6a6f8058
VS
89992011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9000
9001 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
9002 word on new line if it's too long anyway. Fixes a hang.
9003
2e335e90
VS
90042011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9005
9006 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
9007 const.
9008 * util/grub-setup.c (main): Reuse md device name if available.
9009 * util/raid.c (grub_util_raid_getmembers): Receive device name and
9010 not GRUB name as argument.
9011 Based on patch by: Florian Wagner <fwagner>.
9012
10a7a867
VS
90132011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9016 Place mbi on low memory for better compatibility.
9017
7a3d6cd9
VS
90182011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9019
9020 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
9021
18dd6b47
VS
90222011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
90232011-04-08 Colin Watson <cjwatson@ubuntu.com>
9024
9025 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 9026 * conf/Makefile.common: Likewise.
18dd6b47 9027
3c0e3f14
VS
90282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9029
f7148863
VS
9030 * grub-core/normal/menu.c: Add missing include.
9031
90322011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9033
9034 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 9035
6d1fa41f
MZ
90362011-04-08 Martin Zuther <mzuther@mzuther.de>
9037
9038 * util/grub-mkconfig.in: Ignore emacsen backup.
9039
478182a8
VS
90402011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9041
9042 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
9043 on open.
9044 (grub_util_biosdisk_close): Likewise.
9045
72a89a54
VS
90462011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9047
9048 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
9049 const attribute and use grub_isdigit.
9050
b5ebecfa
A
90512011-04-06 Andrey <dev_null@ukr.net>
9052
9053 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
9054 gcc warning.
9055
7755f66e
VS
90562011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9057
9058 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
9059 useful grub_dprintf's.
9060
461121ff
VS
90612011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9062
9063 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
9064
2a961775
VS
90652011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9066
9067 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
9068
adf594cc
VS
90692011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9070
9071 Output errors if theme loading failed.
9072
9073 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
9074 grub_gfxterm_fullscreen on error paths to ...
9075 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
9076 theme loading error.
9077
665900a3
VS
90782011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9079
9080 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
9081 space for older compilers.
9082 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9083
a562b479
VS
90842011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9085
9086 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
9087 and report them as not RAID members since they are useless for GRUB.
9088 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9089
850e9373
VS
90902011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9091
9092 Increase LVM implementation robustness in order not to crash on
9093 configurations like pvmove. Previously code assumed that in some places
9094 only lvs or only pvs are used whereas it seems that they are used
9095 interchangeably.
9096
9097 * grub-core/disk/lvm.c (read_node): New function.
9098 (read_lv): Use read_node.
9099 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
9100 Match volumes only at the end when all lvs are found. Take both
9101 pvs (first) and lvs (second) into account.
9102 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
9103 mirror_* into node_*. All users updated.
9104 (grub_lvm_stripe): Merge this ...
9105 (grub_lvm_mirror): ... and this ...
9106 (grub_lvm_node): ... into this. All users updated.
9107
6f332153
VS
91082011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9109
9110 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
9111 of function to allow further scanning for LVMs.
9112
829ea451
VS
91132011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9114
9115 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
9116 on failed seek as it breaks open fd reusage.
9117
09ceb9a5
VS
91182011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9119
9120 * util/grub-install.in: Add a recommendation to use --recheck before
9121 reporting bugs.
9122
67e11623
VS
91232011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9124
9125 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
9126 are obtained.
9127
caee5efd
VS
91282011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9129
9130 GRUB developper manual based on existing Internals section and
9131 contributions by the various authors with active copyright assignment.
9132
9133 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
9134 * docs/font_char_metrics.png: New file.
9135 * docs/font_char_metrics.txt: Likewise.
9136 * docs/grub-dev.texi: Likewise.
9137 * docs/grub.texi (Internals): Move from here ...
9138 * docs/grub-dev.texi: ... here.
9139
2cccc747
CW
91402011-04-01 Colin Watson <cjwatson@ubuntu.com>
9141
9142 Store the loopback device as data on loopback grub_disk structures,
9143 rather than the file it points to. This fixes use of freed memory
9144 if an existing loopback device is replaced.
9145
9146 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
9147 disk->data, not dev->file.
9148 (grub_loopback_read): Adjust file assignment to match.
9149 Fixes Ubuntu bug #742967.
9150
186ae367
CW
91512011-04-01 Colin Watson <cjwatson@ubuntu.com>
9152
9153 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
9154 when replacing an existing device.
9155
cfed2ad0
VS
91562011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9157
9158 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
9159 memory corruptions.
9160
9161 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
9162 unsigned.
9163 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
9164 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
9165 (grub_jfs_read_inode): Likewise.
9166 (grub_jfs_opendir): Likewise. Remove now useless casts.
9167 (grub_jfs_getent): Likewise.
9168 Make ino a grub_uint32_t rather than int.
9169 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
9170 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
9171 division and module with bit operations.
9172 (grub_jfs_find_file): Make ino a grub_uint32_t.
9173 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
9174
05d2ed32
CW
91752011-04-01 Colin Watson <cjwatson@ubuntu.com>
9176
9177 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
9178 warning. (This was in fact always initialised before use, but GCC
9179 wasn't smart enough to prove that.)
9180 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
9181
91dc6073
VS
91822011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9183
9184 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
9185 stack alignment.
9186 (efi_wrap_1): Likewise.
9187 (efi_wrap_2): Likewise.
9188 (efi_wrap_3): Likewise.
9189 (efi_wrap_4): Likewise.
9190 (efi_wrap_5): Likewise.
9191 (efi_wrap_6): Likewise.
9192 (efi_wrap_10): Likewise.
9193 Based on information by: Red Hat/Peter Jones.
9194
a8afc1d1
CW
91952011-03-31 Colin Watson <cjwatson@ubuntu.com>
9196
9197 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
9198 set-but-not-used variable.
9199
a826cc7d
CW
92002011-03-31 Colin Watson <cjwatson@ubuntu.com>
9201
9202 * docs/grub.texi (Simple configuration): Be more explicit about
9203 GRUB_DEFAULT, and add an example.
9204 Reported by: Leslie Rhorer.
9205
875b67ba
CW
92062011-03-30 Colin Watson <cjwatson@ubuntu.com>
9207
9208 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
9209 shell".
9210
fd7cd914
AS
92112011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9212
9213 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
9214 * util/grub.d/20_linux_xen.in: Likewise.
9215
090b1b6a
VS
92162011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9217
9218 * util/grub.d/10_linux.in: Try alternative config filenames where
9219 we parse config file.
9220 * util/grub.d/20_linux_xen.in: Likewise.
9221
baad885c
AS
92222011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9223
9224 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
9225 * util/grub.d/20_linux_xen.in: Likewise.
9226
241e41f5
VS
92272011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9228
9229 * grub-core/disk/raid.c (insert_array): Add few potentially
9230 useful grub_util_info.
9231 (grub_raid_register): Likewise.
9232
56445fb2
VS
92332011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9234
9235 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
9236 Preserve partition number in mdadm code path.
9237
c871b1c6
VS
92382011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9239
9240 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
9241 few potentially useful grub_util_info.
9242
5e631b4f
CW
92432011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9244
9245 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
9246
2d5d0333
CW
92472011-03-30 Colin Watson <cjwatson@ubuntu.com>
9248
9249 * docs/grub.texi (default): Use @example rather than nested
9250 itemized lists to avoid breaking gendocs.
9251
3d7ed04e
CW
92522011-03-30 Colin Watson <cjwatson@ubuntu.com>
9253
9254 * docs/grub.texi (Future): Update.
9255
abf04200 92562011-03-30 Colin Watson <cjwatson@ubuntu.com>
9257
9258 * docs/grub.texi (Environment): New chapter.
9259 (Changes from GRUB Legacy): Link to "Environment block" section for
9260 details of limitations.
9261 (Simple configuration): Likewise. Link to documentation of gfxmode
9262 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
9263 respectively.
9264 (Shell-like scripting): Note that normal variables are stored in the
9265 environment.
9266 (gettext): Link to documentation of lang and locale_dir.
9267 (list_env): New section.
9268 (load_env): New section.
9269 (save_env): New section.
9270
9271 (Reporting bugs): Fix typo.
9272
e1ad0edd
VS
92732011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9274
9275 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
9276 the example.
9277
5d803174
VS
92782011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9279
9280 * grub-core/term/at_keyboard.c (set_scancodes)
9281 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
9282
2a2da1d0
CW
92832011-03-30 Colin Watson <cjwatson@ubuntu.com>
9284
9285 * docs/grub.texi (Menu-specific commands): Remove some semantics
9286 that were true in GRUB Legacy but not in GRUB 2.
9287 (submenu): New section.
9288 (false): New section.
9289 (read): New section.
9290 (true): New section.
9291
a7527639
CW
92922011-03-30 Colin Watson <cjwatson@ubuntu.com>
9293
9294 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
9295
92962011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
9297
9298 * docs/grub.texi (Simple configuration): Explain some of the
9299 current limitations of grub-mkconfig.
8a748df2 9300 Reported by: Leslie Rhorer.
e30af029 9301
fc858482
VS
93022011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9303
9304 Old macs search for boot.efi rather than for bootia32.efi.
9305
9306 * util/grub-install.in: Copy bootia32.efi to boot.efi.
9307 * util/grub-mkrescue.in: Likewise.
9308 Suggested by: Peter Jones.
9309
e1eb511d
VS
93102011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9311
9312 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
9313
70e75364
VS
93142011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9315
9316 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
9317 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
9318 (grub_lvm_mirror): New struct.
9319 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
9320 (grub_lvm_iterate): Iterate only visible volumes.
9321 (grub_lvm_read): Factor out to ..
9322 (read_lv): ... this. Support mirrors.
9323 (grub_lvm_read): New wrapper function.
9324 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
9325 stripped or mirrored.
9326
fc18f6a3
VS
93272011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9328
9329 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
9330
5c650f4c
CW
93312011-03-29 Colin Watson <cjwatson@ubuntu.com>
9332
9333 * docs/grub.texi (loopback): New section.
9334
61d7156b
CW
93352011-03-29 Colin Watson <cjwatson@ubuntu.com>
9336
9337 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
9338 removed -p option.
9339
994b8264
CW
93402011-03-29 Colin Watson <cjwatson@ubuntu.com>
9341
9342 * docs/grub.texi (BIOS installation): New section, partly based on
9343 previous text in other sections.
9344 (Installing GRUB using grub-install): Replace BIOS discussion with a
9345 cross-reference.
9346 (Images): Likewise.
9347
9e4d19e0
VS
93482011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9349
9350 * grub-core/kern/emu/hostdisk.c (find_partition_start)
9351 [HAVE_DIOCGDINFO]: Add safety checks.
9352
a307c0b2
VS
93532011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9354
9355 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
9356 per default compiled in kernel and prior to 8.0 isn't shipped at all.
9357
b4db4f39
CW
93582011-03-29 Colin Watson <cjwatson@ubuntu.com>
9359
9360 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
9361 real_sb->size is zero (e.g. RAID-0), get the disk size from
9362 real_sb->data_size instead.
9363 Fixes Ubuntu bug #743136.
9364
35e5f84c
VS
93652011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9366
9367 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
9368 printf clauses for printing size and start.
9369
d2e29d81
VS
93702011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9371
9372 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
9373 Reported and tested by: Timothy Nikkel.
9374
ed5587af
VS
93752011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9376
9377 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
9378 (dirty_region_add_real): ... this.
9379 (dirty_region_add): Don't discard margin refresh when performing
9380 scheduled repaint.
9381
a1dc717c
VS
93822011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9383
9384 * grub-core/lib/relocator.c (allocate_regstart)
9385 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
9386 terminals are capabple of malloc-free operation.
9387 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
9388 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
9389
9f3677d3
VS
93902011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
9391
9392 * util/grub-setup.c: Copy the partition table zone if floppy support
9393 is disabled, even if no partition table is found.
9394
9395 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
9396 during POST if an invalid partition table is contained in the PBR
9397 of the active partition when GRUB is installed to a partition.
9398
24148725
CW
93992011-03-28 Colin Watson <cjwatson@debian.org>
9400
9401 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
9402 comment.
9403
f329eda7
CW
94042011-03-28 Colin Watson <cjwatson@debian.org>
9405
9406 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
9407 to be specific about what kind of RAID device we're scanning for.
9408
c482ad98
SG
94092011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
9410
9411 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
9412 return freed string.
9413
5ee04984
VS
94142011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9415
9416 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
9417
f4727da9
VS
94182011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9419
9420 Use libgeom on FreeBSD to detect partitions.
9421
9422 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
9423 (grub-mkrelpath): Likewise.
9424 (grub-script-check): Likewise.
9425 (grub-editenv): Likewise.
9426 (grub-mkpasswd-pbkdf2): Likewise.
9427 (grub-fstest): Likewise.
9428 (grub-mkfont): Likewise.
9429 (grub-mkdevicemap): Likewise.
9430 (grub-probe): Likewise.
9431 (grub-setup): Likewise.
9432 (grub-ofpathname): Likewise.
9433 (grub-mklayout): Likewise.
9434 (example_unit_test): Likewise.
9435 (grub-menulst2cfg): Likewise.
9436 * grub-core/Makefile.core.def (grub-emu): Likewise.
9437 (grub-emu-lite): Likewise.
9438 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
9439 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
9440 define HAVE_DIOCGDINFO.
9441 (follow_geom_up) [FreeBSD]: New function.
9442 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
9443 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
9444 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
9445 unconditionally of HAVE_DIOCGDINFO.
9446
82fe6c75
VS
94472011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9448
9449 Fix FreeBSD compilation problem.
9450
9451 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
9452 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
9453
4c6c9431
CW
94542011-03-24 Colin Watson <cjwatson@ubuntu.com>
9455
9456 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
9457 Switch back to page zero before loading a kernel, since some kernel
9458 drivers expect that.
9459 Thanks to: Felix Kuehling.
9460
c7064d94
VS
94612011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9462
9463 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
9464 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
9465 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
9466
3f71cded
VS
94672011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9468
9469 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
9470 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
9471
ef6de21a
VS
94722011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9473
9474 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
9475 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
9476 malloc is disabled.
9477
8bc66a2c
VS
94782011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9479
9480 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
9481 for modules headers when counting the needed allocation size.
9482
5657722c
VS
94832011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9484
9485 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
9486 if no ASCII character is found to prevent crash.
9487
41a85f55
AK
94882011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
9489
9490 * grub-core/video/bitmap.c (match_extension): Ignore case.
9491
59e1e5f1
VS
94922011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9493
9494 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
9495
bd4d051a
VS
94962011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9497
9498 * grub-core/script/parser.y: Declare "time" as valid argument.
9499
bae7fcc1
PJ
95002011-03-23 Peter Jones <pjones@redhat.com>
9501
9502 Fix incorrect assert failure reporting.
9503
9504 * grub-core/tests/example_functional_test.c (example_test): Add
9505 a failure comment.
9506 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
9507 (failure_start): ...this. Check that malloc succeeded.
9508 Don't call xvasprintf. Return failure struct.
9509 (failure_append_vtext): New function.
9510 (failure_append_text): Likewise.
9511 (add_failure): Likewise.
9512 (grub_test_assert_helper): Likewise.
9513 * include/grub/test.h (grub_test_assert_helper): New declaration.
9514 (grub_test_assert): Macro rewritten.
9515
537dc9be
VS
95162011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9517
9518 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
9519
fa3e01bf
VS
95202011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9521
9522 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
9523
b1d28404
VS
95242011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9525
9526 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
9527 into GRUB-style one.
9528
2e3e2e09
VS
95292011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9530
9531 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
9532 error and not grub_errno.
9533 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
9534
ed57e557
VS
95352011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9536
9537 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
9538 GRUB_USB_SPEED_NONE in case of failure and not the error code.
9539
d1611f01
VS
95402011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9541
9542 * grub-core/efiemu/i386/pc/cfgtables.c
9543 (grub_machine_efiemu_init_tables): Make declaration a prototype.
9544 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
9545 (grub_xnu_unlock): Likewise.
9546 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
9547
7d4e39d6
VS
95482011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9549
9550 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
9551 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
9552 * grub-core/commands/hashsum.c (aliases): Likewise.
9553 * grub-core/commands/setpci.c (pci_registers): Likewise.
9554 * grub-core/disk/usbms.c (attach_hook): Likewise.
9555 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
9556 (zio_checksum_table): Likewise.
9557 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
9558 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
9559 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
9560 * grub-core/lib/relocator.c (leftovers): Likewise.
9561 (extra_blocks): Likewise.
9562 * grub-core/loader/i386/bsd.c (relocator): Likewise.
9563 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
9564 (modules_last): Likewise.
9565 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
9566 (devices): Likewise.
9567 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
9568 (modules_last): Likewise.
9569 * grub-core/normal/auth.c (users): Likewise.
9570 * grub-core/normal/context.c (initial_menu): Likewise.
9571 (current_menu): Likewise.
9572 * grub-core/normal/crypto.c (crypto_specs): Likewise.
9573 * grub-core/term/serial.c (grub_serial_ports): Likewise.
9574 (grub_serial_terminfo_input_template): Likewise.
9575 (grub_serial_terminfo_output_template): Likewise.
9576 (grub_serial_terminfo_input): Likewise.
9577 (grub_serial_terminfo_output): Likewise.
9578 (registered): Likewise.
9579 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
9580
40fc4659
VS
95812011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9582
9583 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
9584 grub_video_mode_type_t.
9585 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
9586 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
9587 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
9588
2da48d28
VS
95892011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9590
9591 * util/grub-install.in: Correct the x86-64 name as x86_64.
9592
9b43bf39
CW
95932011-03-11 Colin Watson <cjwatson@ubuntu.com>
9594
9595 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
9596 initial chunk read from the kernel always includes GRUB's multiboot
9597 header, which is now outside the first sector.
9598
be1a7ce0
CW
95992011-03-09 Colin Watson <cjwatson@ubuntu.com>
9600
9601 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
9602 cached mmap_size, so that this works correctly when called multiple
9603 times.
9604 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
9605
83a3c48d
CW
96062011-03-09 Colin Watson <cjwatson@ubuntu.com>
9607
9608 * docs/grub.texi (Simple configuration): Tidy up formatting.
9609
57d75699
SJ
96102011-03-07 Szymon Janc <szymon@janc.net.pl>
9611
9612 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
9613 Set-but-not-used variable removed.
9614
028501a0
VS
96152011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9616
9617 Workaround yet another IEEE1275 bug.
9618
9619 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
9620 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
9621 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
9622 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
9623 is set.
9624 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9625 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
9626
d998657d
VS
96272011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9628
9629 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
9630 error.
9631
fee7cdd4
CW
96322011-02-11 Colin Watson <cjwatson@ubuntu.com>
9633
9634 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
9635 empty, since in that case we can only generate either nothing or a
9636 syntactically invalid configuration file.
9637 Reported by: Michal Suchanek. Fixes Debian bug #612898.
9638
97286eb5
CW
96392011-02-09 Colin Watson <cjwatson@ubuntu.com>
9640
9641 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
9642 (Making a GRUB bootable CD-ROM): Likewise.
9643 (Invoking grub-mkrescue): New section.
9644 Reported by: Yann Dirson. Fixes Debian bug #612585.
9645
22b28eb3
CW
96462011-02-09 Colin Watson <cjwatson@ubuntu.com>
9647
9648 * util/grub-install.in: Remove unnecessary brackets from tr
9649 arguments.
9650 * util/grub.d/10_hurd.in: Likewise.
9651 * util/grub.d/10_kfreebsd.in: Likewise.
9652 * util/grub.d/10_linux.in: Likewise.
9653 * util/grub.d/20_linux_xen.in: Likewise.
9654 Reported by: Jamie Heilman. Fixes Debian bug #612564.
9655
7e735e43
CW
96562011-02-08 Colin Watson <cjwatson@ubuntu.com>
9657
9658 * include/grub/file.h (not_easly_seekable): Rename to ...
9659 (not_easily_seekable): ... this. Update all users.
9660
800f1881
CW
96612011-01-28 Colin Watson <cjwatson@ubuntu.com>
9662
9663 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
9664 grub-mkrescue.
9665
3281d3d6
VS
96662011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9667
9668 * util/grub-mkimage.c (generate_image): Refuse to create the images
9669 bigger than the actual flash (512K) in Loongson machines. 512K is also
9670 the biggest chip supported by them.
9671
3533413c
VS
96722011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9673
9674 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
9675
73ae4f4f
VS
96762011-01-22 Anthony DeRobertis <anthony@derobert.net>
9677
9678 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
9679 super_offset field.
9680
37f4f608
VS
96812011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9682
9683 * util/grub-install.in: Ignore install device on platforms
9684 where it doesn't make sense. Always use UUIDs except on pc, efi and
9685 sparc64.
9686 Reported by: Daniel Kahn Gillmor.
9687
03a4ccb5
VS
96882011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9689
9690 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
9691
ffc8f4d8
VS
96922011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9693
9694 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
9695 (iterate_real): Don't rely on partition being non-NULL.
9696
80f23be7
VS
96972011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9698
9699 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
9700 supported platforms. Put a compile time assert for this rather than
9701 generate a warning with 32-bit shift.
9702
5d4f4dd5
VS
97032011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9704
9705 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
9706 logical expression more readable.
9707
e489601a
VS
97082011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9709
9710 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
9711 even if some elements have a name.
9712 Reported by: Alexander GQ Gerasiov.
9713
96e0a6ea
CW
97142011-01-22 Colin Watson <cjwatson@ubuntu.com>
9715
9716 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
9717 path unreadable if `grub-probe -t abstraction' fails, for example if
9718 memberlist fails on an LVM volume group.
9719 Reported by: Darius Jahandarie.
9720
81431e2b
CW
97212011-01-22 Colin Watson <cjwatson@ubuntu.com>
9722
9723 * docs/grub.texi (Simple configuration): Document
9724 GRUB_PRELOAD_MODULES.
9725
5e79d66a
CW
97262011-01-17 Colin Watson <cjwatson@ubuntu.com>
9727
9728 * .bzrignore: Remove nonexistent grub-pbkdf2.
9729
646ada34
VS
97302011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
9731
9732 * configure.ac: Bump version to 1.99~rc1.
9733
04360337
VS
97342011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9735
9736 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
9737 for safety.
9738
46c9db88
VS
97392011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9740
9741 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
9742 module.
9743
97442011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
9745
9746 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
9747
4fbf1852
VS
97482011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9749
9750 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
9751 diskdevid.
9752
f1632d4d
VS
97532011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9754
9755 Fix compilation on cygwin.
9756
9757 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
9758 -R .drectve on cygwin.
9759 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
9760 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
9761 (COND_CYGWIN): New condition.
9762 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
9763 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
9764 not @TARGET_OBJ2ELF@.
9765 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
9766 type to determine whether aux is to be used.
9767
0b5e127b
VS
97682011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9769
9770 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
9771 realpath'ed device string.
9772 Handle floppy (somewhat).
9773 Issue error in unknown case rather than garbage.
9774 Reported by: Axel Beckert.
9775
173b71e9
VS
97762011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9777
9778 * util/grub.d/00_header.in (load_video): Handle the case when no video
9779 drivers available.
9780 Thanks to: Axel Beckert.
9781
f8f479db
VS
97822011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9783
9784 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
9785 variable. Fixes problem on big endian platforms.
9786
8fc0a245
VS
97872011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9788
9789 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
9790 It doesn't work well there.
9791
b8494fbe
VS
97922011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9793
9794 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
9795 warning.
9796 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
9797 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
9798 counter.
9799
b44a558c
VS
98002011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9801
9802 Use alias->path rather than buggy "canon".
9803
9804 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
9805 (ofdisk_hash_add): New argument curcan. All users updated.
9806
51fa856c
CW
98072011-01-11 Colin Watson <cjwatson@ubuntu.com>
9808
9809 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
9810
9da068a5
VS
98112011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9812
9813 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
9814 loadmask before doing any calculations. Use correct type for offset.
9815 (grub_linux_load64): Likewise.
9816
86205c94
CW
98172011-01-11 Colin Watson <cjwatson@ubuntu.com>
9818
9819 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
9820 with NULL.
9821 (console_grub_equivalences_unshift): Likewise.
9822 Reported by: Daniel Dehennin.
9823
4531a206
VS
98242011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9825
9826 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
9827 (set_env_limn_ro): Likewise.
9828 (GRUB_MOD_INIT): Likewise.
9829 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
9830 ARRAY_SIZE while on it.
9831 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
9832 * grub-core/normal/context.c (grub_env_export): Move from here ...
9833 * grub-core/kern/env.c (grub_env_export): ... here.
9834 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
9835 prefix.
9836 * grub-core/kern/main.c (grub_main): Export root and prefix.
9837 * include/grub/env.h (grub_env_export): Export.
9838 Reported by: Seth Goldberg.
9839
45146057
VS
98402011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9841
9842 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9843 Take into account space used by ELF sections and multiboot palette.
9844 Reported by: Grégoire Sutre.
9845
f093110b
VS
98462011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9847
9848 * BUGS: New file.
9849
3395fe52
VS
98502011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9851
9852 Pass more appropriate video id to Linux.
9853
9854 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
9855 grub_video_get_driver_id and variable gfxpayloadforcelfb to
9856 fill have_vga.
9857 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
9858 shift params->lfb_size.
9859 * include/grub/i386/linux.h: Make an enume out of have_vga values.
9860
c2fa6cbb
VS
98612011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9862
9863 * util/grub-menulst2cfg.c: Add missing include of misc.h.
9864
b3ff6ff0
VS
98652011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9866
9867 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
9868 separator and pass bootpath/devid even if only one of them is available.
9869 Reported by: Seth Goldberg.
9870
ae67942e
VS
98712011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9872
9873 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
9874 implementations bug on them.
9875
9876 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
9877 memory.
9878 (filter_memory_map): Likewise.
9879
d570097a
VS
98802011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9881
9882 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
9883 Reported by: nebuchadnezzar.
9884
a508e776
VS
98852011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9886
9887 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
9888 Reported by: nebuchadnezzar.
9889
dcb883b1
VS
98902011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9891
9892 Submenu default support.
9893
9894 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
9895 auto_boot. All users updated.
9896 Declared static.
9897 Handle chosen and default with submenus.
9898 (grub_menu_execute_with_fallback): Declared static.
9899 Don't notify failure if autobooted. Upper level does it.
9900 (menuentry_eq): New function.
9901 (get_entry_number): Use menuentry_eq.
9902 (show_menu): New parameter "autobooted". All users updated.
9903 (grub_show_menu): Likewise.
9904 * include/grub/normal.h (grub_show_menu): Likewise.
9905 * include/grub/menu.h (grub_menu_execute_entry): Removed.
9906 (grub_menu_execute_with_fallback): Likewise.
9907
6fef99b4
VS
99082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9909
9910 * util/grub-mklayout.c (usage): Update help text.
9911
47a77af5
VS
99122011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9913
9914 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
9915
ce6bb3ee
VS
99162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9917
9918 * util/grub-menulst2cfg.c (main): Trim the line.
9919
db87be2a
VS
99202011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9921
9922 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
9923 (grub_machine_init): Don't check amount of low memory as reportedly
9924 INT 12h can be broken and if low memory is too low we wouldn't have
9925 gotten into grub_machine_init anyway.
9926
c49849cc
VS
99272011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9928
9929 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
9930 (grub_machine_mmap_iterate): Take low memory into account
9931
b1969b30
VS
99322011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9933
9934 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
9935 badfs.
9936 Reported by: TiCPU.
9937
cf0eaf13
VS
99382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9939
9940 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
9941 members errors.
9942
1f060f39
GS
99432011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
9944
9945 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
9946 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
9947
a21e5672
GS
99482011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
9949
9950 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
9951 openbsd and netbsd types being in part_bsd module.
9952
c88172fa
VS
99532011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9954
9955 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
9956 (_FILE_OFFSET_BITS): Likewise.
9957 Reported by: Seth Goldberg.
9958
53798c4b
GS
99592011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
9960
9961 * configure.ac: Check for libdevmapper header.
9962
e7121b69
VS
99632011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9964
9965 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
9966 avoid aliasing.
9967 (fzap_lookup): Likewise.
9968 (dnode_get): Likewise.
9969 (make_mdn): Likewise.
9970 (zfs_mount): Likewise.
9971 (fzap_iterate): Use temporary pointer to avoid aliasing.
9972 (grub_zfs_read): Likewise.
9973 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
9974 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
9975 pointers to avoid aliasing.
9976 (grub_cmd_xnu_kernel64): Likewise.
9977 (grub_xnu_load_driver): Likewise.
9978
fc836af9
VS
99792011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9980
9981 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
9982 aliasing warning.
9983 (grub_cmd_terminal_output): Likewise.
9984 Reported and tested by: Grégoire Sutre.
9985
f9f37648
VS
99862011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9987
9988 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
9989 warning.
9990 Reported and tested by: Grégoire Sutre.
9991
ec1dfd63
VS
99922011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9993
9994 * configure.ac: Do CPU substitution even if it's specified explicitly.
9995 Reported and tested by: Alain Greppin.
9996
9462775a
VS
99972011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
9998
9999 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
10000 Reported and tested by: Alain Greppin.
10001
0fd48e35
VS
100022011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10003
10004 Satisfy some bison versions need for inttypes.h.
10005
10006 * grub-core/lib/posix_wrap/inttypes.h: New file.
10007 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
10008 (int16_t): Likewise.
10009 (int32_t): Likewise.
10010 (int64_t): Likewise.
10011 Reported and tested by: Alain Greppin.
10012
43f1bc83
VS
100132011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10014
10015 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
10016 Silence spurious warning.
10017 Reported and tested by: Alain Greppin.
10018
64d1f041
SJ
100192011-01-07 Szymon Janc <szymon@janc.net.pl>
10020
10021 * docs/grub.texi (Support automatic decompression): Update with xz
10022 decompression support.
10023
25953e10
SJ
100242011-01-07 Szymon Janc <szymon@janc.net.pl>
10025
10026 Improve loaders' kernel command line handling.
10027
10028 * grub-core/lib/cmdline.c: New file.
10029 * include/grub/lib/cmdline.h: Likewise.
10030 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
10031 grub_create_loader_cmdline to create kernel command line.
10032 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10033 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
10034 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
10035 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
10036 (linux): Add lib/cmdline.c on common.
10037
e72d259f
VS
100382011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10039
10040 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
10041 inopos might be unaligned.
10042
c0cf26da
VS
100432011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10044
10045 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
10046 endian transformations.
10047 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10048 Based on report by: Doug Nazar.
10049
0ca09e6c
DN
100502011-01-07 Doug Nazar <nazard.michi@gmail.com>
10051
10052 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
10053 array->members[i].start_sector.
10054 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
10055
014b6806
VS
100562011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10057
10058 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
10059 Reported and tested by: Grégoire Sutre.
10060
415502c2
CW
100612011-01-06 Colin Watson <cjwatson@ubuntu.com>
10062
10063 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
10064 avoid causing test failures by clearing the screen.
10065
71b6a2b7
CW
100662011-01-06 Colin Watson <cjwatson@ubuntu.com>
10067
10068 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
10069 Fix prefix check to handle the case where dir ends with a slash
10070 (most significantly, "/" itself).
10071 Reported by: Michael Vogt.
10072
b3f8d28a
VS
100732011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10074
10075 Run terminfo_cls on initing terminfo output to clear the screen and
10076 move the cursor to (0,0).
10077
10078 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
10079 Call grub_terminfo_output_init.
10080 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
10081 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
10082 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
10083
4c3e4f37
VS
100842011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10085
10086 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
10087 only when needed.
10088
488f71f1
VS
100892011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10090
10091 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
10092 CTRL.
10093
18a38098
VS
100942011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10095
10096 The E820 type 5 is BADRAM, not EXEC_CODE.
10097
10098 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10099 (GRUB_E820_BADRAM): New define.
10100 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
10101 into reserved. Propagate BADRAM.
10102 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10103 (GRUB_E820_BADRAM): New define.
10104
9eae2084
VS
101052011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10106
10107 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
10108 Ignore the memory post-4G.
10109 (grub_relocator_firmware_alloc_region): Additional debug statement.
10110
ebc71d28
VS
101112011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10112
10113 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
10114 names.
10115 Reported by: David Pravec.
10116
446fa400
VS
101172011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10118
10119 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
10120 BIOSes.
10121
a0159f37
VS
101222011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10123
10124 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
10125 Prevent overflow.
10126 (grub_reed_solomon_recover): Likewise.
10127
e5146ca1
VS
101282011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10129
10130 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
10131
101322011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
10133
10134 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
10135 variable.
10136
5b1bdf12
CW
101372011-01-04 Colin Watson <cjwatson@ubuntu.com>
10138
10139 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
10140 descriptions of extract_legacy_entries_source and
10141 extract_legacy_entries_configfile.
10142 Reported by: Seung Soo, Ha.
10143
99d925aa
CW
101442011-01-03 Colin Watson <cjwatson@ubuntu.com>
10145
10146 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
10147 on devices that do not implement function 0.
10148
4af0504b
DV
101492011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
10150
10151 * grub-core/fs/hfsplus.c: Make parent unsigned.
10152 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
10153 overflows.
10154 (grub_hfsplus_cmp_extkey): Likewise
10155
469ee10a
VS
101562011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10157
10158 * util/grub-install.in: Correctly use bootloader_id and not
10159 GRUB_DISTRIBUTOR on efibootmgr line.
10160
323a8e9c
VS
101612011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10162
10163 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
10164
1b394975
IC
101652010-12-31 Ian Campbell <ijc@hellion.org.uk>
10166
10167 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
10168 Xen and reorder menu item wording to make it clearer that this entry
10169 will launch Xen. Print separate messages when loading Xen and
10170 Linux.
10171
275bff5f
VS
101722010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10173
10174 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
10175 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
10176 loop in case of incorrect amiga partmap.
10177
307806cb
VS
101782010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10179
10180 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
10181 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
10182 Reported by:EHeM.
10183
b12b923e
VS
101842010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10185
10186 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
10187 spurious warning.
10188 Reported by: crocket
10189
14b48a19
VS
101902010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10191
10192 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
10193 Preload EFIemu.
10194 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
10195
693db2df
VS
101962010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10197
10198 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
10199 is loaded
10200 (grub_cmd_xnu_kextdir): Likewise.
10201 (grub_cmd_xnu_splash): Likewise.
10202
c7638645
VS
102032010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10204
10205 Avoid using Reed-Solomon with 0 redundancy.
10206
10207 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
10208 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
10209 or 0 redundancy.
10210 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
10211 (grub_reed_solomon_recover): Likewise.
10212
25dd4780
VS
102132010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10214
10215 Don't use disk subsystem in freebsd_boot.
10216
10217 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
10218 (freebsd_biosdev): Likewise.
10219 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
10220 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
10221
0b2db943
VS
102222010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10223
10224 Handling of files of unknown size is currently limited. They can't be
10225 used e.g. for initrd or modules. Moreover gzip handling of not
10226 easily seekable files is buggy. Disable unknown file size for now. May
10227 be inefficient but works.
10228
10229 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
10230 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
10231
5c408d0f
MP
102322010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
10233
10234 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
10235 floppy probe.
10236
190a011a
JD
102372010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
10238
10239 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
10240
022d01b8
SL
102412010-12-25 Shea Levy <shlevy>
10242
10243 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
10244
c4855fdc
VS
102452010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10246
10247 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
10248 Windows Server 2008.
10249 Reported by: Devin Giddings.
10250
0354b867
VS
102512010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10252
10253 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
10254 writing an error message because of async power management.
10255 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
10256 (grub_reboot): Likewise.
10257
ab66c69f
JU
102582010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
10259
10260 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
10261 keep unit tests from failing when they shouldn't.
10262
1426ef35
CW
102632010-12-21 Colin Watson <cjwatson@ubuntu.com>
10264
10265 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
10266 previous patch increased the size of the RS code by 20 bytes (at
10267 least with gcc-4.4), so increase this by 20 bytes to match.
10268 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10269
20641b6b
CW
102702010-12-21 Colin Watson <cjwatson@ubuntu.com>
10271
10272 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
10273 scratch area. Make sure to initialise chosen in standalone mode as
10274 well as non-standalone.
10275 Reported by: Robert Hooker and Andy Whitcroft.
10276 Tested by: Andy Whitcroft.
10277
d060ad60
CW
102782010-12-21 Colin Watson <cjwatson@ubuntu.com>
10279
10280 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
10281 constructing a new unescaped string and passing it to grub_xputs in
10282 one go, rather than passing characters to grub_printf one at a time.
10283
b889cfad
CW
102842010-12-21 Colin Watson <cjwatson@ubuntu.com>
10285
10286 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
10287 initialising utf16.
10288
4e01b6c8
CW
102892010-12-21 Colin Watson <cjwatson@ubuntu.com>
10290
10291 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
10292 comment. Add an extra layer of quotation, requiring the output of
10293 this function to be used in a printf format string.
10294 (gettext_printf): New function.
10295 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
10296 Extract translatable strings from here-documents and use a temporary
10297 variable instead, so that xgettext can find them.
10298 * util/grub.d/10_kfreebsd.in: Likewise.
10299 * util/grub.d/10_linux.in: Likewise.
10300 * util/grub.d/20_linux_xen.in: Likewise.
10301
10302 * po/grub.d.sed: New file.
10303 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
10304 arguments. Set c-format flags on all strings extracted from
10305 util/grub.d/ (xgettext refuses to include these itself for strings
10306 it extracted from a shell file, but these really are c-format).
10307
5318fe98
VS
103082010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10309
10310 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
10311 Avoid next pointing to nowhere.
10312
6c85b743
VS
103132010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10314
10315 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
10316 rather than assuming than rootblock is exactly in the middle.
10317 (grub_affs_label): Likewise.
10318
a2a08a35
VS
103192010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10320
10321 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
10322 reserved_first_sector to 0.
10323 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
10324 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
10325 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
10326
7059d1ec
VS
103272010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10328
10329 Fix handling of UTF-16 UDF labels.
10330
10331 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
10332 (read_string): .. here.
10333 (grub_udf_label): Use read_string.
10334
30aff4cb
BC
103352010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
10336
10337 * grub-core/normal/menu_entry.c (run): Execute commands from menu
10338 editor under argument scope.
10339 Reported by: Jordan Uggla
10340
5cf86f4b
VS
103412010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10342
10343 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
10344
32570200
CW
103452010-12-18 Colin Watson <cjwatson@ubuntu.com>
10346
10347 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
10348 line, and other keys scroll an entire page (previous handling was
10349 for \r and \n to scroll a page and other keys to scroll two lines).
10350
e1dffcf2
VS
103512010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10352
10353 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10354 Set ptrdest to correct get_physical_target_address rather than
10355 incorrect get_virtual_current_address.
10356
b04298cf 103572010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
10358
10359 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
10360 correct cat to grub_uint8_t * rather than grub_uint32_t *.
10361
5367ecd3
CW
103622010-12-10 Colin Watson <cjwatson@ubuntu.com>
10363
10364 * .bzrignore: Ignore grub-core/rs_decoder.S.
10365
1fb430f8
CW
103662010-12-10 Colin Watson <cjwatson@ubuntu.com>
10367
10368 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
10369 .mo/.mo.gz opening sequence to ...
10370 (grub_mofile_open_lang): ... here.
10371 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
10372 * util/grub.d/00_header.in (grub_lang): Include country part of
10373 locale.
10374 Reported by: Mario Limonciello.
10375
a94a6671
RM
103762010-12-09 Robert Millan <rmh@gnu.org>
10377
10378 * NEWS: Document addition of ZFS support.
10379
24b7938b
CW
103802010-12-04 Colin Watson <cjwatson@ubuntu.com>
10381
10382 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
10383 rather than `/ 2', as the latter requires -Wa,--divide which would
10384 require bumping our minimum binutils version.
10385
bddc3ef6
BC
103862010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
10387
10388 * util/grub-script-check.c (main): Print script line number on
10389 error.
10390
bf78d5b2
RM
103912010-12-01 Robert Millan <rmh@gnu.org>
10392
10393 * grub-core/fs/zfs/zfs.c: New file.
10394 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
10395 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
10396 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
10397 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10398
10399 * include/grub/zfs/dmu.h: Likewise.
10400 * include/grub/zfs/dmu_objset.h: Likewise.
10401 * include/grub/zfs/dnode.h: Likewise.
10402 * include/grub/zfs/dsl_dataset.h: Likewise.
10403 * include/grub/zfs/dsl_dir.h: Likewise.
10404 * include/grub/zfs/sa_impl.h: Likewise.
10405 * include/grub/zfs/spa.h: Likewise.
10406 * include/grub/zfs/uberblock_impl.h: Likewise.
10407 * include/grub/zfs/vdev_impl.h: Likewise.
10408 * include/grub/zfs/zap_impl.h: Likewise.
10409 * include/grub/zfs/zap_leaf.h: Likewise.
10410 * include/grub/zfs/zfs.h: Likewise.
10411 * include/grub/zfs/zfs_acl.h: Likewise.
10412 * include/grub/zfs/zfs_znode.h: Likewise.
10413 * include/grub/zfs/zil.h: Likewise.
10414 * include/grub/zfs/zio.h: Likewise.
10415 * include/grub/zfs/zio_checksum.h: Likewise.
10416
10417 * Makefile.util.def: Build ZFS into libgrubmods.
10418 * grub-core/Makefile.core.def: Build zfs.mod.
10419
3f0f3831
SJ
104202010-11-30 Szymon Janc <szymon@janc.net.pl>
10421
10422 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
10423 variable.
10424 * grub-core/commands/wildcard.c (match_files): Likewise.
10425
3a4253b2
RM
104262010-11-30 Robert Millan <rmh@gnu.org>
10427
10428 * grub-core/loader/i386/bsd.c
10429 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
10430 whether kernel is loaded using grub_loader_is_loaded(), rather
10431 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
10432 certain error conditions.
10433
8c317b27
RM
104342010-11-30 Robert Millan <rmh@gnu.org>
10435
c5c9cd3e
RM
10436 * grub-core/commands/echo.c: Include `<grub/term.h>'.
10437 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 10438
49d3ab46
VS
104392010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
10440
10441 Avoid using tricks for initialising endian variables.
10442
10443 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
10444 Make const.
10445 (GRUB_MOD_INIT): Don't byte-swap.
10446 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
10447 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
10448 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
10449 (grub_swap_bytes32_compile_time): Likewise.
10450 (grub_cpu_to_le32_compile_time): Likewise.
10451 (grub_cpu_to_le16_compile_time): Likewise.
10452
f420a804
VS
104532010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
10454
10455 * util/grub-setup.c (setup): Stop recommending --force. People who
10456 understand the dangers of blocklists are able to find this option
10457 anyway and the ones who don't shouldn't use it anyway.
10458
4e7db17b
RM
104592010-11-26 Robert Millan <rmh@gnu.org>
10460
10461 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
10462 Update all users.
10463
9be57a0d
CW
104642010-11-26 Colin Watson <cjwatson@ubuntu.com>
10465
10466 Fix LVM-on-RAID probing.
10467
10468 * util/grub-probe.c (probe): Remember which disk was detected as
10469 RAID (perhaps an LVM physical volume). Use that disk's raidname
10470 rather than that of the top-level disk.
10471
2c7859b3 104722010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 10473
d7647bb6
BC
10474 Fix cmdline argument quotes for setparams command of menuentry
10475 definitions.
7e623b0d
BC
10476
10477 * grub-core/commands/menuentry.c (setparams_prefix): Use single
10478 quotes for arguments.
f866fe80 10479 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 10480 grub_strchrsub function instead.
f866fe80 10481
7955bea0 10482 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 10483
74f72a64
CW
104842010-11-24 Colin Watson <cjwatson@ubuntu.com>
10485
10486 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
10487 effort by skipping "." and ".." entries up-front.
10488 Suggested by: Michael Lazarev.
10489
5a407278
CW
104902010-11-24 Colin Watson <cjwatson@ubuntu.com>
10491
10492 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
10493 ldflags to ldadd, to fix link line ordering.
10494 (none_decompress): Likewise.
10495
3030d8ec
CW
104962010-11-24 Colin Watson <cjwatson@ubuntu.com>
10497
10498 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
10499 platforms.
10500 (grub-emu-lite): Remove kern/emu/cache.S.
10501
b7fbac12
CW
105022010-11-23 Colin Watson <cjwatson@ubuntu.com>
10503
10504 * util/deviceiter.c (compare_devices): If the by-id link for a
10505 device couldn't be resolved, fall back to sorting by the by-id link
10506 rather than segfaulting.
10507 Reported and tested by: Daniel Mierswa.
10508
5225f328
CW
105092010-11-23 Colin Watson <cjwatson@ubuntu.com>
10510
10511 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
10512 ldflags, to fix link line ordering.
10513
038b3ce8
CW
105142010-11-23 Colin Watson <cjwatson@ubuntu.com>
10515
10516 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
10517 linkers are picky about this.
10518
bf16e98e
CW
105192010-11-23 Colin Watson <cjwatson@ubuntu.com>
10520
10521 * grub-core/Makefile.am (command.lst): Adjust sed expression
10522 ordering so that extended and priority commands aren't treated as
10523 ordinary commands.
10524
7242bab6
CW
105252010-11-23 Colin Watson <cjwatson@ubuntu.com>
10526
10527 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
10528 Remove byte-swapping function calls, which are not valid in
10529 structure initialisers.
10530 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
10531 non-const.
10532 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
10533 grub_gpt_partition_type_bios_boot.
10534
14e8b279
CW
105352010-11-22 Colin Watson <cjwatson@ubuntu.com>
10536
10537 Fix test program build on GNU/kFreeBSD.
10538
10539 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
10540 $(LIBNVPAIR)' library dependencies.
10541
e6f63338 105422010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
10543
10544 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
10545
cf8ffc38
CW
105462010-11-22 Colin Watson <cjwatson@ubuntu.com>
10547
10548 * util/grub-install.in: Remove excessive quoting that broke
10549 installations to RAID devices.
10550
7f8b0fd7
VS
105512010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
10552
10553 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
10554 bootloader version instead of 0.
10555
dfd240b1
VS
105562010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
10557
10558 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
10559 warning.
10560
7b61e609
VS
105612010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
10562
10563 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
10564 retrieve the metadat sector if size isn't known.
10565 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10566
9dfe92d0
RM
105672010-11-18 Robert Millan <rmh@gnu.org>
10568
10569 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
10570 with grub_memcmp().
10571
41cc919e
VS
105722010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
10573
10574 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
10575 arrow.
10576 Reported by: Jordan Uggla.
10577
1afcc914
VS
105782010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10579
10580 Make better UTF compliant.
10581
10582 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
10583 sequences as incorrect.
10584 (grub_is_valid_utf8): Likewise.
10585 (grub_utf8_to_ucs4): Likewise.
10586 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
10587 (grub_ucs4_to_utf8_alloc): Likewise.
10588 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
10589
f1808884
VS
105902010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10591
10592 Make legacy_source behave like source.
10593
10594 * grub-core/commands/legacycfg.c (legacy_file): Don't call
10595 grub_show_menu.
10596 (grub_cmd_legacy_source): Call grub_show_menu if needed.
10597
24ec575b
CW
105982010-11-16 Colin Watson <cjwatson@debian.org>
10599
10600 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
10601 (-Wunused implies -Wunused-parameter, but not vice versa).
10602
72b7c7aa
CW
106032010-11-16 Colin Watson <cjwatson@ubuntu.com>
10604
10605 * configure.ac: Make error messages less confusing by testing for
10606 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
10607 accepted, but produces a diagnostic if something else is wrong).
10608
e98937aa
VS
106092010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
10610
10611 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
10612 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
10613 (now unused).
10614 (grub_keyboard_controller_init)
10615 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
10616 read the initial state since controller isn't inited yet.
10617
f6bbabc3
VS
106182010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
10619
10620 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
10621 allocate_regbeg may need to create new chunk header.
10622
22e7dbb2
VS
106232010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10624
10625 Fix quoting in legacy parser.
10626
10627 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
10628 single quotes.
10629 (grub_legacy_parse): Likewise.
10630 Reported by: Jordan Uggla.
10631 Tested by: Jordan Uggla.
10632
03f80960
VS
106332010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10634
10635 Don't add -lgcc on i386 and x86_64.
10636
10637 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
10638 * conf/Makefile.common (LDADD_KERNEL): Likewise.
10639 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
10640
779dc15b
VS
106412010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10642
10643 * configure.ac: Add -Wno-trampolines when supported.
10644
d20a3b37
MV
106452010-11-14 Modestas Vainius <modax@debian.org>
10646
10647 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
10648 fakeraid.
10649
e5360933
GC
106502010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10651
10652 Add generic logical block size support for UDF.
10653
10654 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
10655 (GRUB_UDF_BLKSZ): Removed.
10656 (struct grub_udf_data): New field "lbshift" to hold the logical block
10657 size of the file system in log2 format. All users updated.
10658 (sblocklist): Change type to unsigned.
10659 (grub_udf_mount): Change type of "sblklist" to unsigned.
10660 Move AVDP search before VRS recognition, because the latter requires
10661 knowledge of the logical block size, which is detected during the
10662 former.
10663 Detect and validate logical block size during AVDP search, adding
10664 support for block sizes 512, 1024 and 4096.
10665 Make VRS recognition independent of block size.
10666
cb0229c5
GC
106672010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10668
10669 Properly handle deleted files on UDF.
10670
10671 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
10672 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
10673 set.
10674
406858a8
GC
106752010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10676
10677 Support reading files larger than 2 GiB.
10678
10679 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
10680 "offset" to grub_off_t.
10681 (grub_udf_read_file): Likewise for parameter "pos".
10682
130da6a7
VS
106832010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10684
10685 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
10686 unavailable.
10687 (Simple configuration): Refer to Changes from GRUB Legacy about
10688 save_env availability.
10689
65e93f6b
VS
106902010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10691
10692 * util/grub-install.in: Ignore empty partition table detection
10693 instead of trying to include part_ module.
10694
1fd08bf1
VS
106952010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10696
10697 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
10698 LVM on RAID support.
10699
de1a024f
VS
107002010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10701
10702 Properly define WORDS_BIGENDIAN in wrapped environments.
10703
10704 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
10705 definition.
10706 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
10707
10708 Reported by: Manoel Rebelo Abranches.
10709 Tested by: Manoel Rebelo Abranches.
10710
bc5dd0b9
VS
107112010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10712
10713 * util/grub-mkconfig.in: Fix quoting.
10714
58c184be
VS
107152010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10716
10717 Support big ext2 files.
10718
10719 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
10720 (grub_ext2_read_block): Support triple indirect blocks.
10721 (grub_ext2_read_file): Use 64-bit types and read size_high.
10722 (grub_ext2_open): Read size_high.
10723 Reported by: Ximin Luo.
10724 Tested by: Manoel Rebelo Abranches.
10725
5f0c02b3
VS
107262010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10727
10728 * util/grub-install.in: Handle filenames containing spaces.
10729 Reported by: Jordan Uggla.
10730 Tested by: Jordan Uggla.
10731
4417aae6
VS
107322010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10733
10734 * util/grub-mkconfig.in (grub_script_check): New variable.
10735 Use grub_script_check instead of grub-script-check.
10736 Reported by: Barry Jackson.
10737
7625a68e
VS
107382010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10739
10740 * docs/grub.texi (menu): Correct the order.
10741 Reported by: D. Hugh Redelmeier.
10742
10001ac5
VS
107432010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10744
10745 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
10746 jump.
10747
9c4cf53b
MRA
107482010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
10749
10001ac5
VS
10750 * include/grub/elfload.h (grub_elf32_size): New parameter.
10751 All users updated.
9c4cf53b
MRA
10752 Return maximum segments alignment.
10753 (grub_elf64_size): Likewise.
10754 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
10755 Return maximum segments alignment.
10756 (grub_elf64_size): Likewise.
10757 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
10758 (grub_linux_claimmap_iterate): New function. Uses the
10759 "available" property in the "memory" node for memory allocation
10760 for kernel in the PowerPC loader.
9c4cf53b
MRA
10761 (grub_linux_load32): Correctly find linux entry point offset.
10762 (grub_linux_load64): Likewise.
10763
d2bf06bf
RM
107642010-11-07 Robert Millan <rmh@gnu.org>
10765
10766 On mips-yeeloong, build with -march=loongson2f when this flag is
10767 available (GCC >= 4.4).
10768 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
10769 `-march=mips3'.
10770 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
10771 or otherwise add -march=mips3.
10772
898c99a2
BC
107732010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
10774
87220a68
BC
10775 Suppress shell expansion on echo '*' and echo "*" like cases.
10776 Reported by: Jordan Uggla.
898c99a2
BC
10777
10778 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
10779 string arguments before shell expansion.
10780 * tests/grub_cmd_echo.in: New testcases.
10781
4f9b406a
RM
107822010-11-07 Robert Millan <rmh@gnu.org>
10783
10784 * conf/mips-qemu-mips.rmk: Remove stale file from previous
10785 transition.
10786
80c6d25e
VS
107872010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
10788
10789 * grub-core/kern/emu/hostdisk.c
10790 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
10791
4a1a0153
VS
107922010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10793
10794 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
10795 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
10796 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
10797
34706ddc
VS
107982010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10799
10800 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
10801
6972dea9
VS
108022010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10803
10804 * util/grub-install.in: Replace useless recomendation to pass
10805 --modules with a recomendation to report a bug.
10806
9c693bd6
VS
108072010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10808
10809 Properly register serial terminfo.
10810 Reported by: Jordan Uggla
10811
10812 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
10813 const.
10814 (grub_serial_terminfo_output_template): Likewise.
10815 (grub_cmd_serial): Register "serial" with terminfo.
10816 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
10817 grub_serial_terminfo_output.
10818
6c9e4c0c
RM
108192010-11-05 Robert Millan <rmh@gnu.org>
10820
10821 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
10822 needed).
10823
b9b3839f
RM
108242010-11-05 Robert Millan <rmh@gnu.org>
10825
10826 On Yeeloong, pass machine type information to Linux.
10827
10828 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
10829 (LOONGSON_MACHTYPE): New macro, set to
10830 "machtype=lemote-yeeloong-2f-8.9inches".
10831 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
10832 additional argument to Linux.
10833
1a3aaff4
RM
108342010-11-04 Robert Millan <rmh@gnu.org>
10835
10836 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
10837 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
10838 (its SATA disks are detected as slaveless IDE master drives on
10839 kFreeBSD).
10840 Reported by Carsten Aulbert.
10841
a75f4f62
CW
108422010-11-02 Colin Watson <cjwatson@ubuntu.com>
10843
10844 * util/bin2h.c (main): Fix spelling error in generated output.
10845
33b4b0c6
GS
108462010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
10847
10848 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
10849
2b36fbf4
VS
108502010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10851
10852 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
10853 vga= option is supplied.
10854
74aaf558
VS
108552010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10856
10857 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
10858 * util/grub.d/10_kfreebsd.in: Likewise.
10859 * util/grub.d/10_linux.in: Likewise.
10860 * util/grub.d/20_linux_xen.in: Likewise.
10861
6428dec3
VS
108622010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10863
10864 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
10865 argument as an argument to no-argument option.
10866
f8729d98
VS
108672010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10868
10869 * util/grub.d/10_linux.in: Add missing load_video with explicit
10870 GRUB_GFXPAYLOAD_LINUX.
10871
89d68fa6
VS
108722010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10873
10874 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
10875
3a1197cd
VS
108762010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10877
10878 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
10879 elements with invlid index.
10880 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10881 * grub-core/disk/raid.c (insert_array): Automatically reallocate
10882 members.
10883 * include/grub/raid.h (grub_raid_member): New struct.
10884 (grub_raid_array): Transform devices and start_sector into usage of
10885 grub_raid_member. All users updated
10886 (allocated_devs): New member.
10887
71574288
VS
108882010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10889
10890 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
10891 is modified
10892
8d40ec65
BC
108932010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
10894
10895 NetBSD build fix for getline function conflict from gnulib.
10896
10897 * Makefile.util.def (libgrubkern.a): New library for grub kernel
10898 components that depend on gnulib headers.
10899 (libgrubmods.a): Renamed from earlier libgrub.a.
10900 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
10901
95b9257e
VS
109022010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10903
10904 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
10905 install rather than creating a broken install.
10906
26c53dc6
VS
109072010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10908
10909 * util/grub-setup.c (argp): Remove misleading example of installing to
10910 a partition.
10911
4171b3c5
VS
109122010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10913
10914 * util/grub-setup.c (setup): Clarify the error message.
10915
18568d18
VS
109162010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10917
10918 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
10919
4f6a2e21
VS
109202010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10921
10922 * grub-core/kern/emu/misc.c
10923 (grub_make_system_path_relative_to_its_root)
10924 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
10925
109262010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
10927
10928 * grub-core/kern/emu/misc.c
10929 (grub_make_system_path_relative_to_its_root): Revert r2882.
10930
e138c458
VS
109312010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
10932
10933 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
10934 useless field head. All users updated.
10935 (free_subchunk): Correct handling of IN_REGION subchunk.
10936
0cbcdf0e
CW
109372010-10-22 Colin Watson <cjwatson@ubuntu.com>
10938
10939 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
10940 (Supported kernels): Likewise.
10941
b65ea155
GS
109422010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
10943
10944 Make mktemp invocations portable.
10945
10946 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
10947 exit if mktemp fails.
10948 * tests/grub_script_blockarg.in: Likewise.
10949 * tests/partmap_test.in: Likewise.
10950 * tests/util/grub-shell-tester.in: Likewise.
10951 * tests/util/grub-shell.in: Likewise.
10952 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10953 * Makefile.am: Likewise, and chain shell commands with `&&'
10954 instead of ';'.
10955 * util/grub-mkrescue.in: Use the same explicit template as above, and
10956 exit if mktemp fails.
10957
05f43cdd
BC
109582010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
10959
10960 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
10961 Linux kernel, reported by Dennis Schridde.
10962
800e6a9b
SJ
109632010-10-17 Szymon Janc <szymon@janc.net.pl>
10964
10965 * grub-core/normal/auth.c (grub_auth_check_authentication):
10966 Set-but-not-used variable removed.
10967
d82df574
VS
109682010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10969
10970 * docs/grub.texi (GNU/Linux): Document APM unavailability with
10971 32-bit linux protocol.
10972
7bced458
VS
109732010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10974
10975 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
10976 cursor shape for sanity.
10977
5b027690
VS
109782010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10979
10980 * docs/grub.texi (Installation): Document buggy BIOS install.
10981
ba5f65cf
VS
109822010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10983
10984 * docs/grub.texi (Installation): Indent.
10985
fdf2ec9c
VS
109862010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10987
10988 * util/grub-setup.c (setup): New parameter allow_floppy.
10989 (arguments): New member allow_floppy.
10990 (argp_parser): Handle --allow-floppy.
10991 (main): Pass allow_floppy.
10992 * util/grub-install.in: New option --allow-floppy passed though to
10993 grub-setup.
10994
861dfd4c
VS
109952010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
10996
10997 * util/grub-install.in: Handle partitionless disks.
10998
f77a8c24
VS
109992010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11000
11001 * util/grub-setup.c (setup): Don't clean blocklists before readability
11002 verfification.
11003
27d9ee32
VS
110042010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11005
11006 * docs/grub.texi (Installation): Document embedding zone. Remove
11007 obsolete grub-install example.
11008
6bdda8f8
SJ
110092010-10-16 Szymon Janc <szymon@janc.net.pl>
11010
11011 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11012 Set-but-not-used variable ifdef'ed.
11013 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
11014 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
11015 variable removed.
11016 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
11017 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
11018 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11019 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
11020 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
11021 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
11022 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
11023 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
11024 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
11025 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
11026 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
11027 Likewise.
11028
e19b016b
VS
110292010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11030
11031 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
11032 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
11033 enum value.
11034
6c8d3002
VS
110352010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11036
11037 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
11038 synonym to _S5_. Needed for some DSDTs.
11039
c32b51c9
VS
110402010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11041
11042 Userspace ACPI parser debugging.
11043
11044 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
11045 headers and add relevant defines. Don't include standard headers.
11046 (main) [GRUB_DSDT_TEST]: New function.
11047 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
11048 Don't declare functions.
11049
fbfbeb39
VS
110502010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11051
11052 Remove dead grub_efi_mm_fini.
11053
11054 * grub-core/kern/efi/mm.c (allocated_page): Removed.
11055 (ALLOCATED_PAGES_SIZE): Likewise.
11056 (MAX_ALLOCATED_PAGES): Likewise.
11057 (allocated_pages): Likewise.
11058 (grub_efi_allocate_pages): Don't record allocated pages.
11059 (grub_efi_free_pages): Likewise.
11060 (grub_efi_mm_init): Likewise.
11061 (grub_efi_mm_fini): Removed.
11062
65f7ed7c
VS
110632010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11064
11065 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
11066 (grub_efi_mm_init): Take into account the memory map size increase.
11067
24977b44
VS
110682010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11069
11070 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
11071 (serial_hw_put): Wait based on real time rather than port reads. Don't
11072 roken ports.
11073 * include/grub/serial.h (grub_serial_port): New field broken.
11074
1eb01cd2
RM
110752010-10-16 Robert Millan <rmh@gnu.org>
11076
11077 * grub-core/kern/emu/misc.c
11078 (grub_make_system_path_relative_to_its_root): Fix premature return
11079 when processing non-root ZFS filesystems.
5f8b440b 11080 Reported by Sergio Talens-Oliag.
1eb01cd2 11081
2d5fed60
RM
110822010-10-15 Robert Millan <rmh@gnu.org>
11083
11084 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
11085 guarantee compressed ones are processed first.
11086
d0f4c1ea
VS
110872010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11088
11089 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
11090 grub_efiemu_autocore.
11091
d87c681f
VS
110922010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11093
11094 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
11095 rather than 0x1b.
11096 (grub_console_getkey): Use correct jae opcode rather than ja.
11097
219b3564
RM
110982010-10-12 Robert Millan <rmh@gnu.org>
11099
11100 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
11101 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
11102 variable. All references updated.
11103
11104 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
11105
20c6bb7e
VS
111062010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
11107
11108 Correctly distinguish mdraid flavours.
11109
11110 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
11111 (insert_array): New argument raid.
11112 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
11113 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
11114 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
11115
74baff84
VS
111162010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
11117
11118 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
11119 handling of special keys.
11120
3ef068df 111212010-10-02 Aleš Nesrsta <starous@volny.cz>
11122
c7980ad9
VS
11123 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
11124 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 11125
a9455194 111262010-10-02 Aleš Nesrsta <starous@volny.cz>
11127
c7980ad9
VS
11128 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
11129 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
11130 users updated.
a9455194 11131 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 11132 Use right endpoint when querying descriptor.
a9455194 11133
441cfe65
VS
111342010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11135
11136 Clear out 0x80 color bit on EFI.
11137 Tested by: decoder
11138 Reported by: decoder and meta tech.
11139
11140 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
11141 (grub_console_setcolorstate): Clear out 0x80 bit.
11142 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
11143 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
11144 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
11145
bf26bcc4
VS
111462010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11147
11148 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
11149 Set to "auto".
11150
6e3c515d
VS
111512010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11152
11153 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
11154 mo_file after freeing.
11155
e6d983ba
VS
111562010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11157
11158 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
11159
74ccb5b5
VS
111602010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11161
11162 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
11163 flags.
11164
17821956
VS
111652010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11166
11167 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
11168 usage.
11169
ee74fa48
VS
111702010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11171
11172 Put terminfo into core on ieee1275 and yeeloong (needed for console).
11173
11174 * gentpl.py: New groups terminfoinkernel and terminfomodule.
11175 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
11176 and terminfo.h when needed.
11177 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
11178 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
11179 (terminfo): Enable only on terminfokernel.
11180 (extcmd): Likewise.
11181 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
11182 * include/grub/lib/arg.h: Likewise.
11183 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
11184 incorrect usage of ->.
11185
aa438e68
VS
111862010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11187
11188 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
11189 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
11190
57994012
VS
111912010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11192
11193 Fix coreboot compilation.
11194
11195 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11196 Take VBE info into account even if only text is supported.
11197 (fill_vbe_info): Take into account the case when only VGA text
11198 is supported.
11199 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
11200 on coreboot, multiboot and qemu.
11201
2a406611
VS
112022010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11203
11204 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
11205 debug messages.
11206 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
11207
d33613fc
VS
112082010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11209
11210 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
11211 parameters.
11212
44a1b432
VS
112132010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11214
11215 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
11216 if they were BSD-style.
11217
edde54e6
VS
112182010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11219
11220 * grub-core/boot/i386/pc/lnxboot.S: Replace
11221 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
11222 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
11223
b65830fa
VS
112242010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11225
11226 Write embedding zone using Reed-Solomon.
11227
11228 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
11229 * grub-core/Makefile.am (rs_decoder.S): New target.
11230 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
11231 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
11232 (multiboot): Move to RS part.
11233 (post_reed_solomon): New label.
11234 (grub_boot_drive): Move to non-RS part since it's modified in memory
11235 on boot.
11236 Include rs_decoder.S.
11237 * grub-core/lib/reed_solomon.c: New file.
11238 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
11239 New definition.
11240 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
11241 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
11242 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
11243 * include/grub/partition.h (grub_partition_map): Change prototype of
11244 embed to allow returning additional sectors.
11245 * include/grub/reed_solomon.h: New file.
11246 * util/grub-setup.c (setup): Handle Reed-Solomon.
11247
0b4b227f
CW
112482010-09-28 Colin Watson <cjwatson@ubuntu.com>
11249
11250 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
11251 i386 and x86-64 definedness tests.
11252
f772623b
YB
112532010-09-27 Yves Blusseau <blusseau@zetam.org>
11254
11255 Fix generation of kernel_syms.lst
11256
11257 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
11258 ASM_PREFIX
11259
8e57a6ca
RM
112602010-09-26 Robert Millan <rmh@gnu.org>
11261
11262 Support degraded ZFS arrays in "grub-probe -t device" resolution.
11263
11264 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
11265 the pool is an array of devices, iterate through it and return the
11266 first device that passes a stat() test (instead of blindly returning
11267 the first one).
11268
f9130836
RM
112692010-09-26 Robert Millan <rmh@gnu.org>
11270
11271 Build fixes for GNU/kFreeBSD.
11272
11273 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
11274 to programs that require ZFS conversion.
11275 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
11276 kernels that don't have FLOPPY_MAJOR.
11277
96510faf
BC
112782010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
11279
11280 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
11281
449333eb
BC
112822010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
11283
11284 Fix grub-emu build.
11285
11286 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
11287 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
11288 mdraid09 and mdraid1x.
11289
e1fd1939
CW
112902010-09-24 Colin Watson <cjwatson@ubuntu.com>
11291
11292 Re-enable grub-extras.
11293
11294 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
11295 avoid confusing Automake. Run autogen only twice, once for the top
11296 level and once for grub-core. Add Makefile.util.def and
11297 Makefile.core.def from extra modules to the appropriate autogen
11298 invocations. If Makefile.common exists in an extra module, include
11299 it in both Makefile.util.am and grub-core/Makefile.core.am;
11300 similarly, include any Makefile.util.common file in Makefile.util.am
11301 and any Makefile.core.common file in grub-core/Makefile.core.am.
11302 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
11303 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
11304 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
11305 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
11306
11307 * gentpl.py (gvar_add): Turn GVARS into a set.
11308 (global_variable_initializers): Sort global variables on output.
11309 (vars_init): New function.
11310 (first_time): Likewise.
11311 (library): Ensure that non-global variable initialisations are
11312 emitted before the first time we emit code for a library block.
11313 Append to variables rather than setting them. Only emit
11314 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
11315 each conditional path.
11316 (program): installdir() emits an Autogen macro, so must be passed to
11317 var_add rather than gvar_add.
11318 (data): Likewise.
11319 (script): Likewise.
11320 (rules): New function, centralising handling for different target
11321 types. Set up Guile association lists for first_time and vars_init,
11322 and send most output to a diversion so that variable initialisations
11323 can be emitted first.
11324 (module_rules): Use new rules function.
11325 (kernel_rules): Likewise.
11326 (image_rules): Likewise.
11327 (library_rules): Likewise.
11328 (program_rules): Likewise.
11329 (script_rules): Likewise.
11330 (data_rules): Likewise.
11331
11332 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
11333
11334 * .bzrignore: Add contrib and grub-core/contrib. Remove
11335 grub-core/Makefile.gcry.am.
11336
1d12cf29
YB
113372010-09-24 Yves Blusseau <blusseau@zetam.org>
11338
11339 * grub-core/lib/LzFind.c: Add missing include.
11340 * grub-core/lib/LzmaEnc.c: Likewise.
11341 * grub-core/script/lexer.c: Likewise.
11342 * grub-core/script/yylex.l: Likewise.
11343 * util/grub-macho2img.c: Likewise.
11344 * util/grub-menulst2cfg.c: Likewise.
11345 * util/grub-mklayout.c: Likewise.
11346 * util/grub-mkpasswd-pbkdf2.c
11347 * util/grub-mkrelpath.c: Likewise.
11348 * util/resolve.c: Likewise.
11349
dd363028
BC
113502010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
11351
11352 * Makefile.util.def (example_unit_test): Add
11353 grub-core/gnulib/libgnu.a.
11354
f5a109e2
GS
113552010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
11356
11357 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
11358
6d0fa83c
VS
113592010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
11360
11361 Support xz compression on yeeloong.
11362
11363 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
11364 * configure.ac: Check for LZMA.
11365 * grub-core/Makefile.core.def (xz_decompress): New target.
11366 (none_decompress): Likewise.
11367 * grub-core/boot/decompressor/minilib.c: New file.
11368 * grub-core/boot/decompressor/none.c: Likewise.
11369 * grub-core/boot/decompressor/xz.c: Likewise.
11370 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
11371 * grub-core/kern/mips/cache_flush.S: Likewise.
11372 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
11373 * grub-core/kern/mips/startup.S: Move first stage to ...
11374 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
11375 nomacro.
11376 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
11377 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
11378 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
11379 Allocate statically.
11380 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
11381 Allocate statically or use scratch. Don't check CRC32.
11382 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
11383 Allocate statically. Don't check CRC32.
11384 * include/grub/decompressor.h: New file.
11385 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
11386 Removed.
11387 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
11388 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
11389 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
11390 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
11391 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
11392 * util/grub-mkimage.c (grub_compression_t): New type.
11393 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
11394 (image_target_desc): New field default_compression.
11395 (image_targets): Adjust yeeloong targets.
11396 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
11397 (compress_kernel): New parameter comp.
11398 (generate_image): Likewise. Handle new compression case.
11399 (options): New option --compression
11400 (help): Likewise.
11401 (main): Handle new option.
11402
1b655af6
GS
114032010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
11404
11405 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
11406
8f03f0b5
CW
114072010-09-22 Colin Watson <cjwatson@ubuntu.com>
11408
11409 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
11410 typo in __i386__ conditional.
11411
7835dfd3
VS
114122010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
11413
11414 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
11415 include.
11416
e255597e
VS
114172010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
11418
6d0fa83c 11419 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
11420
11421 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
11422 new tags as supported.
11423 (acpiv2_size): New function.
11424 (grub_multiboot_get_mbi_size): Take new tags into account.
11425 (grub_multiboot_make_mbi): Add new tags.
11426 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 11427
6cc14051 114282010-09-21 Aleš Nesrsta <starous@volny.cz>
11429
11430 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
11431 Added missing configuration of USB device.
11432
df7769d8
CW
114332010-09-21 Colin Watson <cjwatson@ubuntu.com>
11434
11435 * grub-core/normal/menu_entry.c (run): Make sure we always return
11436 a value.
11437
b031012d
CW
114382010-09-21 Colin Watson <cjwatson@ubuntu.com>
11439
11440 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
11441 NumberOfPages is UINT64 according to the UEFI specification, not
11442 UINTN. Fix printf format.
11443
174de8f3
CW
114442010-09-21 Colin Watson <cjwatson@ubuntu.com>
11445
11446 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
11447 `err' to grub_usb_err_t.
11448 Reported and tested by: KESHAV P.R.
11449
d7dbe923
CW
114502010-09-21 Colin Watson <cjwatson@ubuntu.com>
11451
11452 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
11453 tpart non-const, so that we can assign to it. (Since this is a
11454 typedef, the constness refers to the pointer rather than what it
11455 points to.)
11456
8d5e2af3
CW
114572010-09-21 Colin Watson <cjwatson@ubuntu.com>
11458
11459 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
11460 $(top_srcdir)/grub-core/gnulib as well as
11461 $(top_builddir)/grub-core/gnulib.
11462 Reported by: KESHAV P.R.
11463
5c527783
CW
114642010-09-21 Colin Watson <cjwatson@ubuntu.com>
11465
11466 * util/grub-install.in: Fix the bootloader ID option to be
11467 consistently --bootloader-id, not --bootloader_id.
11468 Reported by: KESHAV P.R.
11469
d309a16e
CW
114702010-09-21 Colin Watson <cjwatson@ubuntu.com>
11471
11472 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
11473 check hash checksum." consistently translatable.
11474
b830cd16
YB
114752010-09-21 Yves Blusseau <blusseau@zetam.org>
11476
11477 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
11478 $(top_builddir).
11479
c4fe27a8
CW
114802010-09-21 Colin Watson <cjwatson@ubuntu.com>
11481
11482 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
11483 (GRUB_MOD_INIT): Register sha1sum command.
11484 (GRUB_MOD_FINI): Unregister sha1sum command.
11485
a4c1d277
YB
114862010-09-21 Yves Blusseau <blusseau@zetam.org>
11487
11488 Keep boot and grub directory names in sync with utils scripts
11489
11490 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
11491 * config.h.in: Add previous macros.
11492 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
11493 * util/grub-install.in: Use $bootdir and $grubdir variables.
11494
4eff79d2
CW
114952010-09-21 Colin Watson <cjwatson@ubuntu.com>
11496
11497 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
11498 convert partition names to disk names if the new `convert' parameter
11499 is set.
11500 (grub_util_biosdisk_get_grub_dev): If opening the disk device
11501 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
11502 disk in its own right. This can happen with Xen disk images.
11503
934d7e44
YB
115042010-09-21 Yves Blusseau <blusseau@zetam.org>
11505
11506 * util/grub-editenv.c: Update strings to avoid warnings when generating
11507 grub.pot file.
11508 * util/grub-setup.c: Likewise.
934d7e44 11509
df3367cc
VS
115102010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
11511
11512 * configure.ac: Change version to 1.99~beta0.
11513
77a94e98
VS
115142010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
11515
11516 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
11517 Add BADRAM.
11518 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
11519 Likewise.
11520 * include/multiboot.h: Resynced with specification.
11521 * include/multiboot2.h: Likewise.
11522
269004c1
CW
115232010-09-21 Colin Watson <cjwatson@ubuntu.com>
11524
11525 Fix po directory handling.
11526
11527 * configure.ac: Create po/Makefile.in rather than po/Makefile.
11528 * grub-core/gnulib/Makefile.am: Import gettext module.
11529 * m4/gnulib-cache.m4: Likewise.
11530 * m4/gnulib-comp.m4: Likewise.
11531 * m4/gettext.m4: New file, from gnulib.
11532 * m4/glibc2.m4: Likewise.
11533 * m4/iconv.m4: Likewise.
11534 * m4/intdiv0.m4: Likewise.
11535 * m4/intl.m4: Likewise.
11536 * m4/intldir.m4: Likewise.
11537 * m4/intlmacosx.m4: Likewise.
11538 * m4/intmax.m4: Likewise.
11539 * m4/inttypes-pri.m4: Likewise.
11540 * m4/lcmessage.m4: Likewise.
11541 * m4/lib-ld.m4: Likewise.
11542 * m4/lib-link.m4: Likewise.
11543 * m4/lib-prefix.m4: Likewise.
11544 * m4/lock.m4: Likewise.
11545 * m4/nls.m4: Likewise.
11546 * m4/po.m4: Likewise.
11547 * m4/printf-posix.m4: Likewise.
11548 * m4/progtest.m4: Likewise.
11549 * m4/threadlib.m4: Likewise.
11550 * m4/uintmax_t.m4: Likewise.
11551 * m4/visibility.m4: Likewise.
11552 * po/Makefile.am: Remove.
11553 * po/Makefile.in.in: New file, from gettext.
11554 ($(DOMAIN).pot-update): Support POTFILES-shell.
11555 * po/Makevars: New file.
11556 * po/POTFILES-shell: Rename to ...
11557 * po/POTFILES-shell.in: ... this. Update.
11558 * po/POTFILES: Rename to ...
11559 * po/POTFILES.in: ... this. Update.
11560 * po/Rules-quot: New file, from gettext.
11561 * po/boldquot.sed: Likewise.
11562 * po/en@boldquot.header: Likewise.
11563 * po/en@quot.header: Likewise.
11564 * po/insert-header.sin: Likewise.
11565 * po/quot.sed: Likewise.
11566 * po/remove-potcdate.sin: Likewise.
11567
3e0fa5d0
VS
115682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11569
11570 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
11571
ade9bd66
VS
115722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11573
11574 * util/grub.d/20_linux_xen.in: Use submenus.
11575
fc55cc4c
VS
115762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11577
11578 Support submenus.
11579
11580 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
11581 parameter submenu. All users updated.
11582 * grub-core/normal/main.c (free_menu): Rename to ...
11583 (grub_normal_free_menu): ... this. Made global.
11584 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
11585 if requested.
11586 * grub-core/normal/menu_entry.c (screen): New field submenu.
11587 (make_screen): Set submenu.
11588 (run): Open new context if requested.
11589 * include/grub/menu.h (grub_menu_entry): New field submenu.
11590 * include/grub/normal.h (grub_normal_free_menu): New proto.
11591
600cedf7
VS
115922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11593
11594 Menu entries extractor.
11595
11596 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
11597 variants.
11598 (GRUB_MOD_INIT): Register new variants.
11599 (GRUB_MOD_FINI): Unregister new variants.
11600 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
11601 into grub_cmd_legacy_source.
11602 (grub_cmd_legacy_source): Implement extractor variants.
11603 (GRUB_MOD_INIT): Register new variants.
11604 (GRUB_MOD_FINI): Unregister new variants.
11605 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
11606 as an extractor.
11607 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
11608 search as an extractor.
11609 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
11610 test as an extractor.
11611 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
11612 as an extractor.
11613 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
11614 (grub_env_new_context): New function.
11615 (grub_env_context_open): Likewise.
11616 (grub_env_extractor_open): Likewise.
11617 (grub_env_extractor_close): Likewise.
11618 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
11619 grub_extractor_level.
11620 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
11621 * include/grub/env.h (grub_env_extractor_open): New proto.
11622 (grub_env_extractor_close): Likewise.
11623 * include/grub/normal.h (grub_extractor_level): New external variable.
11624
7bda3a87
VS
116252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11626
11627 Make cutmem accept a region specification.
11628 Suggested by: Samuel Thibault
11629
11630 * grub-core/mmap/mmap.c (parsemem): New function.
11631 (grub_cmd_cutmem): Handle new arguments.
11632
2ea57f88
VS
116332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11634
11635 New command cutmem.
11636
11637 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
11638 (GRUB_MOD_INIT): Register new command.
11639 (GRUB_MOD_FINI): Unregister new command.
11640
74342e31
VS
116412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11642
11643 Support some annoying BSD and Minix subpartitions.
11644
11645 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
11646 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
11647 Properly handle concatenation.
11648 * grub-core/kern/device.c (grub_device_iterate): Likewise.
11649 * grub-core/normal/completion.c (iterate_partition): Likewise.
11650 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
11651 contain partition. All users updated.
11652 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
11653 struct.
11654 (grub_openbsdlabel_partition_map): Likewise.
11655 (bsdlabel_partition_map_iterate): Rename to ..
11656 (iterate_real): ... this. New arguments sector, freebsd and pmap.
11657 (bsdlabel_partition_map_iterate): New function.
11658 (netopenbsdlabel_partition_map_iterate): Likewise.
11659 (netbsdlabel_partition_map_iterate): Likewise.
11660 (openbsdlabel_partition_map_iterate): Likewise.
11661 (GRUB_MOD_INIT): Register new partmaps.
11662 (GRUB_MOD_FINI): Unregister new partmaps.
11663 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
11664 (grub_partition_msdos_iterate): ... this. All users updated.
11665 Don't support embedding other than in a minix partition.
11666 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
11667 proto.
11668 * include/grub/partition.h (grub_partition): New field msdostype.
11669 * util/grub-install.in: Handle openbsd and netbsd types being in
11670 part_bsd module.
11671
1e8d555b
VS
116722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11673
11674 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
11675
11676 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
11677 * grub-core/Makefile.core.def (mdraid): Renamed to ...
11678 (mdraid09): ... this.
11679 (mdraid1x): New module.
11680 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
11681 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
11682
899d8af4
VS
116832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11684
11685 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
11686 vsprintf.
11687
40901acd
CW
116882010-09-20 Colin Watson <cjwatson@ubuntu.com>
11689
11690 * grub-core/commands/efi/lsefimmap.c: Correct header.
11691 * NEWS: Update.
11692
dfe3b247
CW
116932010-09-20 Colin Watson <cjwatson@ubuntu.com>
11694
11695 * util/grub-editenv.c (argp_parser): Don't pass translated strings
11696 as printf format strings; the translations might contain '%' which
11697 could cause a crash.
11698 (main): Likewise.
11699 * util/grub-fstest.c (argp_parser): Likewise.
11700 * util/grub-setup.c (argp_parser): Likewise.
11701 (main): Likewise.
11702
3286a4b4
VS
117032010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11704
11705 Use argp in grub-fstest.
11706
11707 * util/grub-fstest.c: Don't include getopt.h.
11708 Include argp.h.
11709 (root): New variable.
11710 (args_count): Likewise.
11711 (nparm): Likewise.
11712 (num_disks): Likewise.
11713 (images): Likewise.
11714 (cmd): Likewise.
11715 (debug_str): Likewise.
11716 (args): Likewise.
11717 (options): Transformed to argp.
11718 (usage): Removed.
11719 (main): Split argument parsing into ...
11720 (argp_parser): ... this. Changed to argp format.
11721 (argp): New variable.
11722 (main): Use argp_parse.
11723
3dccbe4b
TG
117242010-09-20 Tristan Gingold <gingold@free.fr>
117252010-09-20 Robert Millan <rmh.grub@aybabtu.com>
117262010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11727
11728 * grub-core/commands/efi/lsefimmap.c: New file.
11729 * grub-core/Makefile.core.def (lsefimmap): New module.
11730 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
11731
38c259a7
VS
117322010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11733
11734 Pause the execution (10s max) if any errors are displayed so the user
11735 has a chance to see them.
11736
11737 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
11738 (grub_print_error): Increment grub_err_printed_errors.
11739 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
11740 execution if any errors were displayed.
11741 (show_menu): Remove old code for pause.
11742 * grub-core/normal/menu_entry.c (run): Likewise.
11743 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
11744 users updated.
11745 (grub_normal_get_char_counter): Likewise.
11746 * include/grub/err.h (grub_err_printed_errors): New external variable.
11747 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
11748
f218b09c
VS
117492010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11750
11751 Support multiboot VBE info.
11752
11753 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11754 Take VBE info into account.
11755 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
11756 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
11757 Call fill_vbe_info when appropriate.
11758 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
11759 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
11760 as supported.
11761 (grub_multiboot_get_mbi_size): Take new tags into account.
11762 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
11763 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
11764 Call fill_vbe_tag when appropriate.
11765 (grub_multiboot_make_mbi): Properly align tags.
11766 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
11767 function.
11768 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
11769 proto.
11770 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
11771
a9cc5438
VS
117722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11773
11774 Suport manual terminal geometry specification.
11775
11776 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
11777 Save state in grub_ofconsole_terminfo_output.
11778 (grub_ofconsole_term): Use grub_terminfo_getwh.
11779 (grub_ofconsole_getwh): Removed.
11780 * grub-core/term/serial.c (grub_serial_getwh): Removed.
11781 (grub_serial_term): Use grub_terminfo_getwh.
11782 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
11783 (options): New struct.
11784 (OPTION_*): New enum.
11785 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
11786 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
11787 width and height.
11788 (grub_terminfo_getwh): New proto.
11789 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
11790
1a8fed20
VS
117912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11792
11793 Handle legacy "terminal" command.
11794
11795 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
11796 and FLAG_TERMINAL.
11797 (legacy_commands): Add terminal and title.
11798 (grub_legacy_parse): Handle terminal. Simplify title handling.
11799
41e9c57d
VS
118002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11801
11802 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
11803 parameters overflow.
11804
61c874c5
CW
118052010-09-20 Colin Watson <cjwatson@ubuntu.com>
11806
11807 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
11808 widthspec.h.
11809
11810 * docs/grub.texi (Shell-like scripting): Document `!'.
11811 (Network): Simplify using new i386-pc-pxe format. Mention
11812 grub-mknetdir.
11813
11814 * NEWS: Update.
11815
943682b4
CW
118162010-09-20 Colin Watson <cjwatson@ubuntu.com>
11817
11818 * Makefile.am (SUBDIRS): Restore "."; it's important to force
11819 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
11820 when needed.
11821
6d3d698d
CW
118222010-09-20 Colin Watson <cjwatson@ubuntu.com>
11823
11824 * grub-core/commands/efi/lsefisystab.c: Correct header.
11825 * grub-core/commands/efi/lssal.c: Likewise.
11826 * grub-core/commands/testload.c: Likewise.
11827
c982589f
CW
118282010-09-20 Colin Watson <cjwatson@ubuntu.com>
11829
11830 * util/grub-mkrescue.in: Add explicit root argument to --set to
11831 prevent the UUID being interpreted as an argument to --set (matches
11832 previous change to prepare_grub_to_access_device).
11833
a63c31b6
CW
118342010-09-20 Colin Watson <cjwatson@ubuntu.com>
11835
11836 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
11837 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
11838 the verbosity of later #ifs.
11839 (find_partition_start): Define this function on FreeBSD too.
11840 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
11841 function.
11842 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
11843 on FreeBSD.
11844
6439b8ee
YB
118452010-09-20 Yves Blusseau <blusseau@zetam.org>
11846
11847 * util/grub-editenv.c: Use argp instead of getopt.
11848
c5930ec8
YB
118492010-09-20 Yves Blusseau <blusseau@zetam.org>
11850
11851 * util/grub-setup.c: Use argp instead of getopt.
11852
15c69261
YB
118532010-09-20 Yves Blusseau <blusseau@zetam.org>
11854
11855 Use gnulib-tool to create gnulib source files.
11856
11857 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
11858 grub-core/gnulib directories
11859 * .bzignore: Add **/.deps and autogenerated gnulib files
11860 * configure.ac: Assign auxiliary directory to build-aux, add invocation
11861 of gnulib macros, add grub-core/gnulib/Makefile
11862 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
11863 include m4 directory to aclocal.
11864 * Makefile.util.def: Remove direct compilation of gnulib source files
11865 and use the new grub-core/gnulib/libgnu.a.
11866 * build-aux/config.rpath: move config.rpath from top directory to
11867 build-aux
11868 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
11869 in gnulib headers
11870 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
11871 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
11872 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
11873 header.
11874 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
11875 string.
11876
e511c9f5
YB
118772010-09-20 Yves Blusseau <blusseau@zetam.org>
11878
11879 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
11880 grub-core/genmod.sh and grub-core/gensyminfo.sh
11881
c2dede05
BC
118822010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
11883
11884 Add a test for echo command options.
11885
11886 * tests/grub_cmd_echo.in: New test.
11887 * Makefile.util.def: Rules for new test.
11888
c55f5018
SJ
118892010-09-20 Szymon Janc <szymon@janc.net.pl>
11890
11891 Remove crc.mod and move crc command to hashsum.mod.
11892 Remove lib/crc.c - users updated to use gcrypt implementation.
11893
11894 * grub-core/commands/crc.c: Removed.
11895 * grub-core/Makefile.core.def (crc): Module removed.
11896 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
11897 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
11898 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
11899 * grub-core/lib/crc.c: Removed.
11900 * include/grub/lib/crc.h: Removed.
11901 * Makefile.util.def (crc): Remove lib/crc.c
11902 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
11903 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
11904 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
11905 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
11906 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
11907 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
11908
e0337366
VS
119092010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11910
11911 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
11912
742f9232
VS
119132010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11914
11915 Split config.h for util and core.
11916
11917 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
11918 (ADDR32): Likewise.
11919 (DATA32): Likewise.
11920 (BSS_START_SYMBOL): Likewise.
11921 (END_SYMBOL): Likewise.
11922 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
11923 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
11924 * config.h.in: New file.
11925 * configure.ac: Use config-util.h as config define file.
11926 Rename MACHINE into GRUB_MACHINE. All users updated.
11927 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
11928 updated.
11929 (NESTED_FUNC_ATTR): Likewise.
11930 Substitue new variables.
11931 (COND_HAVE_ASM_USCORE): New conditional.
11932 * grub-core/Makefile.am (ASM_PREFIX): New variable.
11933 (kernel_syms.lst): Use ASM_PREFIX.
11934 * grub-core/kern/emu/console.c: Include config-util.h.
11935 * grub-core/kern/emu/misc.c: Likewise.
11936 * grub-core/kern/emu/mm.c: Likewise.
11937 * include/grub/emu/misc.h: Likewise.
11938 * include/grub/libgcc.h: Likewise.
11939
39feb0e8
VS
119402010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11941
11942 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
11943 constants usage.
11944 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
11945 Fix GRUB_TERM_KEY_* constants usage.
11946 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
11947
9af6dac3
VS
119482010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11949
11950 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
11951 print pointer.
11952 * grub-core/bus/usb/uhci.c: Remove empty define.
11953 (grub_uhci_check_transfer): Add missing cast.
11954 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
11955 print pointer.
11956 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
11957 PRIuGRUB_SIZE.
11958 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
11959
d6d94820
VS
119602010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
11961
11962 * grub-core/Makefile.core.def (legacycfg): Add
11963 lib/i386/pc/vesa_modes_table.c on emu.
11964
3572f2b6
BC
119652010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
11966
11967 Reduce number of temporary files generated by build system.
11968
11969 * grub-core/gencmdlist.sh: Removed.
11970 * grub-core/genfslist.sh: Removed.
11971 * grub-core/genhandlerlist.sh: Removed.
11972 * grub-core/genmodsrc.sh: Removed.
11973 * grub-core/genpartmaplist.sh: Removed.
11974 * grub-core/genparttoollist.sh: Removed.
11975 * grub-core/gentermiinallist.sh: Removed.
11976 * grub-core/genvideolist.sh: Removed.
11977
11978 * grub-core/genmod.sh.in: New file.
11979 * grub-core/gensyminfo.sh.in: New file.
11980
11981 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
11982 * conf/Makefile.extra-dist: Update with new files.
11983 * gentpl.py: Remove rules related to unnecessary temporary files.
11984 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
11985 and und-* files.
11986 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
11987 genmod.sh scripts.
11988 * grub-core/bus/usb/uhci.c: Remove empty #define.
11989 * grub-core/genmoddep.awk: Updated with new syminfo format.
11990 * util/bash-completion.d/Makefile.am: Add config.log to
11991 CLEANFILES.
11992
c836b030
YB
119932010-09-19 Yves Blusseau <blusseau@zetam.org>
11994
11995 * Makefile.util.def: Add forgotten $(LIBINTL) library.
11996
2f4e8053
BC
119972010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
11998
11999 * util/grub-mkconfig.in: Check the config script for syntax errors
12000 before saving.
12001
75831c34
CW
120022010-09-19 Colin Watson <cjwatson@ubuntu.com>
120032010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12004
12005 * Makefile.util.def (grub-install): Use util/grub-install.in on all
12006 platforms.
12007 * util/grub-install.in: Add EFI and IEEE1275 support.
12008 * util/i386/efi/grub-install.in: Removed.
12009 * util/ieee1275/grub-install.in: Likewise.
12010
eaf41b25
VS
120112010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12012
12013 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
12014 (grub_cmd_cmosclean): Likewise.
12015 (GRUB_MOD_INIT): Register command cmosclean.
12016 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
12017 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
12018
1a9130dd
CPE
120192010-09-18 Carles Pina i Estany <carles@pina.cat>
120202010-09-18 Aleš Nesrsta <starous@volny.cz>
120212010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12022
12023 Add keyboard layouts support.
12024
12025 * Makefile.util.def (grub-mklayout): New file.
12026 (grub-kbdcomp): New script.
12027 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
12028 Add keyboard_layouts.h.
12029 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
12030 commands/boot.c on yeeloong.
12031 (keylayouts): New module.
12032 * grub-core/bus/usb/ohci.c
12033 * grub-core/bus/usb/uhci.c
12034 * grub-core/bus/usb/usbhub.c (rescan): New variable.
12035 (grub_usb_add_hub): Poll interrupt pipe for device handling.
12036 (attach_root_port): Likewise.
12037 (poll_nonroot_hub): Likewise.
12038 (grub_usb_poll_devices): Likewise.
12039 (detach_device): Close transfer.
12040 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
12041 function.
12042 (grub_usb_bulk_setup_readwrite): Likewise.
12043 (grub_usb_bulk_finish_readwrite): Likewise.
12044 * grub-core/commands/keylayouts.c: New file.
12045 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
12046 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
12047 aliases.
12048 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
12049 support scancode 2.
12050 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
12051 * include/grub/keyboard_layouts.h: New file.
12052 * util/grub-mklayout.c: New file.
12053 * util/grub-kbdcomp.in: Likewise.
12054
a1d84a5e
VS
120552010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12056
12057 Unify memory types.
12058
12059 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
12060 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
12061 types.
12062 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
12063 (grub_upper_mem): Likewise.
12064 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
12065 * include/grub/memory.h (grub_memory_type_t): New enum.
12066 All users updated.
12067
9696382e
VS
120682010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12069
12070 * grub-core/Makefile.core.def (lsapm): New module.
12071 * grub-core/commands/i386/pc/lsapm.c: New file.
12072 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
12073 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
12074 Likewise.
12075 * include/grub/i386/pc/apm.h: New file.
12076 * include/multiboot.h (multiboot_apm_info): New struct.
12077
120782010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12079
12080 GRUB-legacy configuration file support.
12081
12082 * Makefile.util.def (grub-menulst2cfg): New util.
12083 * docs/man/grub-menulst2cfg.h2m: New file.
12084 * grub-core/Makefile.core.def (legacycfg): New module.
12085 * grub-core/commands/legacycfg.c: New file.
12086 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
12087 (grub_normal_add_menu_entry): ... this.
12088 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
12089 (grub_normal_set_password): ...this.
12090 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
12091 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
12092 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
12093 * grub-core/lib/legacy_parse.c: New file.
12094 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
12095 * include/grub/i386/pc/vesa_modes_table.h: New file.
12096 * include/grub/legacy_parse.h: Likewise.
12097 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
12098 * util/grub-menulst2cfg.c: New file.
12099
bf8d1338
CW
121002010-09-17 Colin Watson <cjwatson@ubuntu.com>
12101
12102 * grub-core/kern/emu/hostdisk.c
12103 (convert_system_partition_to_system_disk): Initialise node.
12104
9c0bad2e
CW
121052010-09-17 Colin Watson <cjwatson@ubuntu.com>
12106
12107 * grub-core/kern/emu/hostdisk.c
12108 (convert_system_partition_to_system_disk): Fix devmapper memory pool
12109 leak.
12110 Reported and based on patch by: Modestas Vainius.
12111
a939d135
CW
121122010-09-17 Colin Watson <cjwatson@ubuntu.com>
12113
12114 Fix DM-RAID probing with recent versions of device-mapper udev
12115 rules.
12116
12117 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
12118 canonicalise device paths under /dev/mapper/.
12119 (convert_system_partition_to_system_disk): Compare the
12120 uncanonicalised path to /dev/mapper/ rather than the canonicalised
12121 path, since device nodes under /dev/mapper/ are often symlinks.
12122
0f7ee3c9
YB
121232010-09-17 Yves Blusseau <blusseau@zetam.org>
12124
12125 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
12126
10854d0d
YB
121272010-09-16 Yves Blusseau <blusseau@zetam.org>
12128
12129 * configure.ac: Avoid some annoying error messages if freetype-config
12130 program is not found.
12131
108538d8
CW
121322010-09-16 Colin Watson <cjwatson@ubuntu.com>
12133
12134 Support RAID on virtio devices, and others.
12135
12136 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
12137 Rename to ...
12138 [__MINGW32__] (grub_find_device): ... this.
12139 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
12140 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
12141 reasonable default if dir is NULL.
12142 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
12143 ...
12144 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
12145 (grub_guess_root_device): Update callers.
12146 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
12147
12148 * util/raid.c (grub_util_getdiskname): Remove.
12149 (grub_util_raid_getmembers): Use grub_find_device rather than
12150 grub_util_getdiskname.
12151
e5bfc130
CW
121522010-09-16 Colin Watson <cjwatson@ubuntu.com>
12153
12154 * docs/grub.texi (serial): Remove obsolete comment about GRUB
12155 needing to be compiled with serial support.
12156 (ls): Indicate that multiple files are accepted.
12157 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
12158 indicate that multiple files are accepted.
12159
be458ae2
CW
121602010-09-16 Colin Watson <cjwatson@ubuntu.com>
12161
12162 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
12163 libgrub_a_init.c, and util/bash-completion.d/grub.
12164
cb731b5e
VS
121652010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12166
12167 * util/grub-setup.c (setup): Fix incorrect container semantics.
12168
35139e8a
VS
121692010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12170
12171 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
12172 misusage.
12173 Reported by: J. Nick Terry
12174
e50fca4a
VS
121752010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12176
12177 Move embedding routines to partmap sources files.
12178
12179 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
12180 [GRUB_UTIL]: New variable.
12181 (gpt_partition_map_iterate): Set part.parent.
12182 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
12183 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
12184 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
12185 New function.
12186 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
12187 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
12188 (grub_partition_map) [GRUB_UTIL]: New field embed.
12189 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
12190 (setup): Use ->embed.
12191
f00478b7
VS
121922010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12193
12194 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
12195 function.
12196 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
12197 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
12198
2b94e3ff
YB
121992010-09-15 Yves Blusseau <blusseau@zetam.org>
12200
12201 Add function to get completions from usage.
12202
12203 * util/bash-completion.d/grub-completion.bash.in: Add function to get
12204 completions from usage. Use LC_ALL=C to get options properly.
12205
2e04a006
VS
122062010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12207
12208 * grub-core/gnulib/basename-lgpl.c: Imported.
12209 * grub-core/gnulib/basename.c: Likewise.
12210 * grub-core/gnulib/dirname-lgpl.c: Likewise.
12211 * grub-core/gnulib/dirname.c: Likewise.
12212 * grub-core/gnulib/dirname.h: Likewise.
12213 * grub-core/gnulib/stripslash.c: Likewise.
12214
5dcdf93a
VS
122152010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12216
12217 * grub-core/gnulib/error.c: Resynced.
12218 * grub-core/gnulib/getopt.c: Likewise.
12219 * grub-core/gnulib/getopt_int.h: Likewise.
12220 * grub-core/gnulib/regex.h: Likewise.
12221 * grub-core/gnulib/regex_internal.c: Likewise.
12222 * grub-core/gnulib/regex_internal.h: Likewise.
12223
014f47b7
SJ
122242010-09-15 Szymon Janc <szymon@janc.net.pl>
12225
12226 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
12227 CRC calculations and validity checks.
12228 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
12229 calculations.
12230
dd521a4a
SJ
122312010-09-15 Szymon Janc <szymon@janc.net.pl>
12232
12233 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
12234
79c4eeb9
VS
122352010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12236
12237 Fix incorrect echo options handling.
12238 Reported by: Yves Blusseau.
12239
12240 * include/grub/command.h (grub_command_flags_t): New flags
12241 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
12242 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
12243 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
12244
ed80f7d5
VS
122452010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12246
12247 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
12248 users updated.
12249 (GRUB_COMMAND_FLAG_MENU): Likewise.
12250 (GRUB_COMMAND_FLAG_BOTH): Likewise.
12251 (GRUB_COMMAND_FLAG_TITLE): Removed.
12252 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
12253 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
12254 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
12255 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
12256 (grub_command_flags_t): New enum. All users updated.
12257
5fe7620a
SG
122582010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
12259
12260 Fix solaris compilation.
12261
12262 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
12263 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
12264 (grub-emu-list): Likewise.
12265
545b752f
VS
122662010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12267
12268 Remove deprecated root command.
12269
12270 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
12271 updated.
12272
6c1a338c
VS
122732010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12274
12275 * util/i386/pc/grub-setup.c: Merge this ...
12276 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
12277 * util/grub-setup.c: ... into this.
12278 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
12279 New struct.
12280
122812010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12282
12283 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
12284 possible.
12285
d2ea4551
VS
122862010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12287
12288 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
12289 allocate p.
12290
3c3b5040
VS
122912010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12292
12293 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
12294 explicit root argument to set to prevent UUID to be interpreted as
12295 argument to set.
12296
b71c3fae
VS
122972010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12298
12299 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
12300
275433e6
VS
123012010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12302
12303 Don't export grub_gate_a20.
12304
12305 * grub-core/kern/i386/pc/init.c: Remove leftovers.
12306 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
12307 to ...
12308 (grub_gate_a20): ... this. All users updated.
12309 * include/grub/i386/pc/init.h: Removed. All users updated.
12310
a5dbb1f1
VS
123112010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12312
12313 Create euro.pf2 which supports most European languages.
12314
12315 * Makefile.am (grubdata_DATA): Add euro.pf2.
12316 (euro.pf2): New target.
12317 (CLEANFILES): Add euro.pf2.
12318
62a747cb
VS
123192010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12320
12321 * configure.ac: Disable emu-usb by default to prevent inadvertent
12322 device takeover.
12323
608e43b1
VS
123242010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12325
12326 Disable usbserial on grub-emu since our libusb code isn't good enough
12327 yet.
12328
12329 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
12330 (usbserial_pl2303): Likewise.
12331 (usbserial_ftdi): Likewise.
12332
94564f81
VS
123332010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12334
12335 * include/grub/disk.h (grub_disk): Remove has_partitions.
12336 All users updated.
12337 * disk/loopback.c (grub_loopback): Remove has_partitions.
12338 All users updated.
12339 (options): Remove partitions. All users updated.
12340 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
12341 * util/i386/pc/grub-setup.c (setup): copy partition table only when
12342 actual partition table is found.
12343
3352800b
VS
123442010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12345
12346 Remove readability checks (too many false negatives).
12347
12348 * util/grub-install.in: Remove readability checks.
12349 * util/grub-mkconfig.in: Likewise.
12350 * util/grub.d/10_hurd.in: Likewise.
12351 * util/grub.d/10_kfreebsd.in: Likewise.
12352 * util/grub.d/10_linux.in: Likewise.
12353 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
12354 way.
12355
2419f17a
VS
123562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12357
12358 Enable acpi shutdown on all ACPI platforms.
12359
12360 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
12361 on coreboo, multiboot and EFI.
12362 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
12363 (grub_acpi_halt): Likewise.
12364 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
12365 (grub_cmd_halt): Don't call grub_acpi_halt directly.
12366 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
12367 * grub-core/lib/i386/halt.c (grub_halt)
12368 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
12369
0575c7c3
VS
123702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12371
12372 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
12373 context.
12374
54ac3cd1
VS
123752010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12376
12377 * grub-core/video/efi_gop.c: Fix over-80-chars line.
12378 * grub-core/video/efi_uga.c: Likewise.
12379
b2a30ac5
VS
123802010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12381
12382 Filter devaliases and never open same device twice.
12383
12384 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
12385 (last_ihandle): Likewise.
12386 (ofdisk_hash_ent): New member shortest.
12387 (ofdisk_hash_add): Add canonical path too.
12388 (scan): New function.
12389 (grub_ofdisk_iterate): Iterate over hashed entries.
12390 (compute_dev_path): Don't add :0.
12391 (grub_ofdisk_open): Don't really open the disk.
12392 (grub_ofdisk_close): Avoid closing unrelated disk.
12393 (grub_ofdisk_read): Implement reopen logic.
12394 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
12395 New function.
12396 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
12397 New proto.
12398
fb53b340
VS
123992010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12400
12401 Fix sparc64.
12402
12403 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
12404 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
12405 right address. Add sparc64_ieee1275_ldflags.
12406 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
12407 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
12408 to grub_host_to_target_addr
12409 (load_image): Likewise.
12410
f452b040
VS
124112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12412
12413 * grub-core/normal/completion.c (complete_file): Handle device
12414 containing slash.
12415 Fix based on patch by Doug Nazar.
12416
9b5b2541
VS
124172010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12418
12419 grub-mknetdir script.
12420
12421 * Makefile.util.def (grub-mknetdir): New module.
12422 * tests/util/grub-shell.in: Support boot=net
12423 * util/grub-mknetdir.in: New file.
12424
9d2be652
VS
124252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12426
12427 videoinfo on non-vbe.
12428
12429 * grub-core/Makefile.core.def (vbeinfo): Removed.
12430 (vbetest): Removed.
12431 (videoinfo): New module.
12432 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
12433 * grub-core/commands/i386/pc/vbetest.c: Removed.
12434 * grub-core/commands/videoinfo.c: New file.
12435 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
12436 specification.
12437 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
12438 as vbetest.
12439 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
12440 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
12441 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
12442 mode_number. New parameter mode. All users updated.
12443 (grub_video_gop_iterate): New function.
12444 (grub_video_efi_gop): New member iterate.
12445 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
12446 (grub_vbe_set_video_mode): Remove setting useless fields.
12447 (vbe2videoinfo): New function.
12448 (grub_video_vbe_iterate): Likewise.
12449 (grub_video_vbe_setup): Use vbe2videoinfo.
12450 (grub_video_vbe_print_adapter_specific_info): New function.
12451 (grub_video_vbe_adapter): New fields iterate and
12452 print_adapter_specific_info.
12453 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
12454 All users updated.
12455 (grub_video_mode_info): New field mode_number.
12456 (grub_video_adapter): New fields iterate and
12457 print_adapter_specific_info.
12458
179503f5
TG
124592010-09-13 Tristan Gingold <gingold@free.fr>
124602010-09-13 Robert Millan <rmh.grub@aybabtu.com>
124612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12462
12463 * grub-core/commands/efi/lsefisystab.c: New file.
12464 * grub-core/commands/efi/lssal.c: Likewise.
12465 * grub-core/Makefile.core.def (lsacpi): New module.
12466 (lsefisystab): Likewise.
12467 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
12468 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
12469 (grub_efi_sal_system_table): New struct.
12470 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
12471 (grub_efi_sal_system_table_memory_descriptor): Likewise.
12472 (grub_efi_sal_system_table_platform_features): Likewise.
12473 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
12474 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
12475 (grub_efi_sal_system_table_ap_wakeup): Likewise.
12476 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
12477
cf9827de
VS
124782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12479
12480 Support explicit user claim that a device is BIOS-visible.
12481
12482 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
12483 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
12484 * grub-core/kern/emu/hostdisk.c
12485 (convert_system_partition_to_system_disk): Support mdX.
12486 (find_system_device): New parameter add. All users updated.
12487 (grub_util_biosdisk_is_present): New function.
12488 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
12489 proto.
12490
53f0eb1f
VS
124912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12492
12493 Search hints support.
12494
12495 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
12496 All users updated.
12497
b23ffd70
YB
124982010-09-13 Yves Blusseau <blusseau@zetam.org>
12499
12500 Bash completion script for util commands
12501
12502 * Makefile.am: Add util/bash-completion.d directory
12503 * configure.ac: Likewise.
12504 * util/bash-completion.d/Makefile.am: New file.
12505 * util/bash-completion.d/grub-completion.bash.in: Likewise.
12506
d547dc28
VS
125072010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12508
12509 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
12510 (print_backlog): set backlog_ucs4 and backlog_glyphs.
12511 Reported by: Yves Blusseau.
12512
2fc8ccb9
VS
125132010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12514
12515 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
12516 partition size and offset.
12517
d8a84076
VS
125182010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12519
12520 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
12521
84fb3b3d
VS
125222010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12523
12524 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
12525
768ec2e2
VS
125262010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12527
12528 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
12529 (grub_xvasprintf): Likewise.
12530
4870900f
VS
125312010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12532
12533 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
12534
faca6bec
VS
125352010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12536
12537 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
12538 args ending with NULL.
12539
125402010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
12541
12542 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
12543 pointer.
12544
3c70f225
SJ
125452010-09-11 Szymon Janc <szymon@janc.net.pl>
12546
12547 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
12548
4df7996d
VS
125492010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12550
12551 Shutdown using ACPI.
12552
12553 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
12554 * grub-core/commands/acpihalt.c: New file.
12555 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
12556 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
12557 (grub_acpi_halt): New proto.
12558 (GRUB_ACPI_SLP_EN): New const.
12559 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
12560 (GRUB_ACPI_OPCODE_*): New enum.
12561 (GRUB_ACPI_EXTOPCODE_*): Likewise.
12562
126b4c32
TG
125632010-09-11 Tristan Gingold <gingold@free.fr>
125642010-09-11 Robert Millan <rmh.grub@aybabtu.com>
125652010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12566
12567 * commands/lsacpi.c: New file.
12568 * grub-core/Makefile.core.def (lsacpi): New module.
12569 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
12570 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
12571 (grub_acpi_madt_entry_header): New struct.
12572 (grub_acpi_madt): Likewise.
12573 (grub_acpi_madt_entry_interrupt_override): Likewise.
12574 (grub_acpi_madt_entry_sapic): Likewise.
12575 (grub_acpi_madt_entry_lsapic): Likewise.
12576 (grub_acpi_madt_entry_platform_int_source): Likewise.
12577 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
12578 (PRIuGRUB_UINT32_T): Likewise.
12579 (PRIxGRUB_UINT64_T): Likewise.
12580
1aa4fe88
VS
125812010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12582
12583 Implement loading palette on ieee1275_fb.
12584
12585 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
12586 (have_setcolors): Likewise.
12587 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
12588 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
12589 (grub_video_ieee1275_set_palette): Implement.
12590
25761e13
VS
125912010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
125922010-09-11 Colin Watson <cjwatson@ubuntu.com>
12593
12594 * util/grub-install.in (grub_partition): New variable.
12595 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
12596 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
12597 Fixes a bug reported by Yves Blusseau.
12598
050abaea
VS
125992010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12600
12601 Fix emu on mipsel.
12602
12603 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
12604 =grub_cpu_flush_cache on all mips and not only yeeloong.
12605 * configure.ac (COND_mips): New conditional.
12606 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
12607 platforms.
12608 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
12609 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
12610 [GRUB_LINKER_HAVE_INIT]: New function.
12611 (grub_emu_post_init): Likewise.
12612 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
12613 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
12614 * include/grub/cache.h (_mips): Include mips/cache.h.
12615 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
12616 LVM and RAID prototypes.
12617 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
12618 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
12619 function.
12620
5ed7d816
CW
126212010-09-10 Colin Watson <cjwatson@ubuntu.com>
12622
12623 * util/grub-install.in: Don't try to verify core.img until after
12624 running grub-mkimage to create it.
12625
90367e04
RM
126262010-09-10 Robert Millan <rmh@gnu.org>
12627
12628 * util/grub.d/10_hurd.in: Add misc readability checks.
12629 * util/grub.d/10_kfreebsd.in: Likewise.
12630 * util/grub.d/10_linux.in: Likewise.
12631
c452fa66
CW
126322010-09-10 Colin Watson <cjwatson@ubuntu.com>
12633
12634 * util/grub-install.in: ${imgext} won't be defined here until the
12635 install branch is merged. For the meantime, only verify core.img on
12636 i386-pc and sparc64-ieee1275 platforms.
12637
c38fe9f4
RM
126382010-09-10 Robert Millan <rmh@gnu.org>
12639
12640 Solaris support in grub_find_zpool_from_dir(). Thanks
12641 Seth Goldberg for referring to getextmntent() facility.
12642
12643 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
12644 `sys/mkdev.h'.
12645 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
12646 `<sys/mnttab.h>'.
12647 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
12648 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
12649 method for finding zpool name.
12650
905f7773
CW
126512010-09-10 Colin Watson <cjwatson@ubuntu.com>
12652
12653 grub-fstest needs the host and hostfs modules while other utilities
12654 actively require those modules to be absent, so grub-fstest needs
12655 its own initialisation and finalisation code.
12656
12657 * Makefile.am (grub_fstest.pp): New target.
12658 (grub_fstest_init.lst): Likewise.
12659 (grub_fstest_init.c): Likewise.
12660 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
12661
fb90b546
RM
126622010-09-10 Robert Millan <rmh@gnu.org>
12663
12664 * configure.ac: Check for `struct statfs.f_fstypename' and
12665 `struct statfs.f_mntfromname'.
12666
12667 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
12668 kFreeBSD-specific code.
12669
66d4bea5
RM
126702010-09-10 Robert Millan <rmh@gnu.org>
12671
12672 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
12673 on ZFS. Now non-main filesystems are supported as / too.
12674
b6a690ee
CW
126752010-09-09 Colin Watson <cjwatson@ubuntu.com>
12676
12677 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
12678 and grub-core/disk/host.c to ...
12679 (grub-fstest): ... here. Having the host disk implementation
12680 present confuses grub-probe and other utility programs.
12681
12682 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
12683 when writing to a file, not when writing to stdout.
12684
8901b00c 126852010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
12686
12687 * tests/partmap_test.in: New test for partitions.
12688 * Makefile.util.def: Rules for new test.
12689
7bf45fdd
RM
126902010-09-09 Robert Millan <rmh@gnu.org>
12691
12692 * util/grub-probe.c (probe): Fix a pair of unhandled error
12693 conditions.
12694
4dfbc574
RM
126952010-09-09 Robert Millan <rmh@gnu.org>
12696
12697 Basic Btrfs support (detection and UUID).
12698
12699 * grub-core/fs/btrfs.c: New file.
12700 * Makefile.util.def (library): Register btrfs.c.
12701 * grub-core/Makefile.core.def: Likewise.
12702
6b8e78ae
RM
127032010-09-08 Robert Millan <rmh@gnu.org>
12704
12705 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
12706 with (optional) parameters to specify device and relative path.
12707 * util/grub-install.in: Use is_path_readable_by_grub() to
12708 verify readability of a few critical files.
12709 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
12710 verify readability of grub.cfg.new.
12711
27f21a8b
VS
127122010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
12713
12714 Split minix.mod into minix.mod and minix2.mod.
12715
12716 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
12717 * grub-core/Makefile.core.def (minix2): New module.
12718 * grub-core/fs/minix.c: Use definitions instead of runtime version
12719 checking.
12720 * grub-core/fs/minix2.c: New file.
12721
c0e53ea5
YB
127222010-09-08 Yves Blusseau <blusseau@zetam.org>
12723
12724 Add new --boot-directory option to replace --root-directory
12725
12726 * util/grub-install.in: Add new --boot-directory option
12727 * util/grub-reboot.in: Likewise.
12728 * util/grub-set-default.in: Likewise.
12729
b9fe6ea2
YB
127302010-09-08 Yves Blusseau <blusseau@zetam.org>
12731
12732 * util/grub-mkconfig.in: Use new variable.
12733
d87aedff
YB
127342010-09-08 Yves Blusseau <blusseau@zetam.org>
12735
12736 * configure.ac: Define some useful variables.
12737
e55e8495
VS
127382010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
12739
12740 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12741 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
12742 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
12743 Use terminfo and don't use cursor-on/cursor-off unless it's known
12744 to work.
12745 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
12746 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
12747
6fa6d675
CW
127482010-09-08 Colin Watson <cjwatson@ubuntu.com>
12749
12750 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
12751 starts with "(,", fill the drive containing the loaded image in
12752 between those two characters, but expect that a full partition
12753 specification including partition map names will follow.
12754
92f2aef0
RM
127552010-09-08 Robert Millan <rmh@gnu.org>
12756
12757 * configure.ac: Remove `--enable-grub-fstest' option.
12758 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
12759
12760 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
12761 `grub-fstest' instead of `grub-probe' for readability verification.
12762 * util/grub-probe.c (probe): Remove readability verification kludge.
12763
99fd620d
RM
127642010-09-08 Robert Millan <rmh@gnu.org>
12765
12766 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
12767 initializing `GRUB_FS'.
12768
058e30ac 127692010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
12770
12771 Not command (!) support to GRUB script.
12772
12773 * tests/grub_script_not.in: New test.
12774 * Makefile.util.def: Rules for new test.
12775
12776 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
12777 ! command as a special case.
12778 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
12779
b61d05ed 127802010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
12781
058e30ac 12782 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
12783 grub_free.
b61d05ed 12784
4d69c786 127852010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
12786
12787 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
12788
aa3119c4 127892010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
12790
12791 * docs/grub.texi (Shell-like scripting): Documentation for break,
12792 continue, shift and return commands.
12793
db0f7e3d
VS
127942010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
12795
12796 Rename CD-ROM to cd on BIOS.
12797
12798 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
12799 "cd".
12800 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
12801
88b87c93
VS
128022010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12803
12804 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
12805 * util/grub-probe.c (main): Likewise.
12806 * util/i386/pc/grub-setup.c (main): Likewise.
12807 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
12808 Reported and debugged by: alexxy
12809
294f324d
VS
128102010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12811
12812 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
12813 diagnostic info.
12814
d7ee3441
JS
128152010-09-05 Jo Shields <directhex@apebox.org>
12816
12817 * util/grub.d/30_os-prober.in: Add missing classes.
12818
d7e06c1f
VS
128192010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12820
12821 * docs/grub.texi (Theme file format): Document new position format.
12822
fc157e53
VS
128232010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12824
12825 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
12826 a table. Use @code instead of @verbatim.
12827
506e9a1c
CB
128282010-09-05 Colin D Bennett <colin@gibibit.com>
12829
12830 Gfxmenu documentation.
12831
12832 * docs/grub.texi (Theme file format): New chapter.
12833
f0aff67c
SJ
128342010-09-05 Szymon Janc <szymon@janc.net.pl>
12835
12836 * grub-core/Makefile.core.def (xzio): New module.
12837 * grub-core/io/xzio.c: New file.
12838 * grub-core/lib/xzembed/xz.h: New file (from xembed).
12839 * grub-core/lib/xzembed/xz_config.h: Likewise.
12840 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
12841 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
12842 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
12843 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
12844 * grub-core/lib/xzembed/xz_private.h: Likewise.
12845 * grub-core/lib/xzembed/xz_stream.h: Likewise.
12846 * include/grub/file.h (grub_file_filter_id): New compression filter
12847 GRUB_FILE_FILTER_XZIO.
12848
82a85062
VS
128492010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12850
12851 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
12852 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
12853 size.
12854
3579415d
VS
128552010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12856
12857 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
12858 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
12859
5124ae6d
VS
128602010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12861
12862 Uncompressed checksum support.
12863
12864 * grub-core/commands/hashsum.c (options): Add option --uncompress.
12865 (check_list): New parameter uncompress.
12866 (grub_cmd_hashsum): Handle --uncompress.
12867
9aadb3d1
VS
128682010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12869
12870 Reintroduce testload.
12871
12872 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
12873 from here ...
12874 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
12875 (GRUB_MOD_INIT): New function.
12876 (GRUB_MOD_FINI): Likewise.
12877 * grub-core/Makefile.core.def (testload): New module.
12878
a17792c3
SJ
128792010-09-05 Szymon Janc <szymon@janc.net.pl>
12880
12881 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
12882 (uint8_t): New type.
12883 (uint16_t): Likewise.
12884 (uint32_t): Likewise.
12885 (uint64_t): Likewise.
12886
b81e40a3
SJ
128872010-09-05 Szymon Janc <szymon@janc.net.pl>
12888
12889 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
12890
fc2ef117
VS
128912010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
12892
12893 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
12894 Made static.
12895 (grub_gzfile_open): Removed. All users updated.
12896 (GRUB_MOD_INIT): New function.
12897 (GRUB_MOD_FINI): Likewise.
12898 * grub-core/kern/file.c (grub_file_filters_all): New variable.
12899 (grub_file_filters_enabled): Likewise.
12900 (grub_file_open): Handle filters.
12901 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
12902 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
12903 * include/grub/file.h (grub_file_filter_id_t): New type.
12904 (grub_file_filter_t): Likewise.
12905 (grub_file_filters_all): New extern variable.
12906 (grub_file_filters_enabled): Likewise.
12907 (grub_file_filter_register): New inline function.
12908 (grub_file_filter_unregister): Likewise.
12909 (grub_file_filter_disable): Likewise.
12910 (grub_file_filter_disable_compression): Likewise.
12911 * include/grub/gzio.h: Removed.
12912
35ee15e0
BC
129132010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12914
12915 Filename expansion support for wildcards in GRUB script.
12916
12917 * tests/grub_script_expansion.in: New test.
12918 * Makefile.util.def: Rule for new test.
12919
12920 * grub-core/commands/wildcard.c: New file, implements filename
12921 expansion support for GRUB script.
12922 * grub-core/Makefile.core.def: Rule update for regexp.mod.
12923 * grub-core/script/argv.c: Cosmetic changes.
12924 * grub-core/script/execute.c (grub_script_arglist_to_argv):
12925 Refactored to perform wildcard expansion on arguments.
12926 * include/grub/script_sh.h (grub_script_wildcard_translator): New
12927 struct.
12928
12929 * tests/util/grub-shell.in: Fix quoting for read input.
12930
5f0c4aca
BC
129312010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12932
12933 Support for updating environment variables with matched substrings
12934 of regexp.
12935
12936 * tests/grub_cmd_regexp.in: New test.
12937 * Makefile.util.def: Rule for new test.
12938
12939 * grub-core/commands/regexp.c: New option -s to update environment
12940 variables with regexp matches.
12941
3759a35f
SJ
129422010-09-04 Szymon Janc <szymon@janc.net.pl>
12943
12944 * include/grub/file.h (grub_file): New member not_easly_seekable.
12945 (grub_file_seekable): New inline function.
12946 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
12947 easily seekable.
12948 (grub_gzio_open): Set not_easly_seekable.
12949 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
12950 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
12951
ed8c6dec
BC
129522010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12953
12954 Support for options to appear multiple times on cmdline.
12955
12956 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
12957 * grub-core/commands/extcmd.c: Support for repeatable option.
12958 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
12959 repeatable option support.
12960
12961 Refactor menuentry into a regular command.
12962
12963 * grub-core/commands/menuentry.c: New file, menuentry command
12964 implementation.
12965 * grub-core/Makefile.core.def: Rule update for normal.mod.
12966 * grub-core/normal/main.c: Moved menuentry creation to
12967 grub-core/commands/menuentry.c.
12968 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
12969 (grub_menu_execute_entry_real): Removed.
12970 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
12971 function.
12972 (grub_script_execute_menuentry): Removed.
12973 * grub-core/script/parser.y (menuentry): Removed.
12974 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
12975 * grub-core/script/yylex.l (menuentry): Removed.
12976 * include/grub/menu.h (grub_menu_init): New prototype.
12977 (grub_menu_fini): New prototype.
12978 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
12979 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
12980 (grub_script_execute_sourcecode): New prototype.
12981
dacd0cf0
BC
129822010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12983
12984 "return" command for GRUB script functions.
12985
12986 * tests/grub_script_return.in: New test.
12987 * Makefile.util.def: Rules for new test.
12988
12989 * grub-core/script/execute.c (grub_script_return): New function.
12990 * grub-core/script/main.c: Register/unregister return commaond.
12991 * include/grub/script_sh.h (grub_script_return): New prototype.
12992
52e72f9d
BC
129932010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
12994
12995 "setparams" command to update positional parameters.
12996
12997 * tests/grub_script_setparams.in: New test.
12998 * Makefile.util.def: Rules for new test.
12999
13000 * grub-core/script/argv.c (grub_script_argv_make): New function.
13001 * grub-core/script/execute.c (replace_scope): New function.
13002 (grub_script_setparams): New function.
13003 * grub-core/script/lexer.c: Remove unused variables.
13004 * grub-core/script/main.c: Register/unregister setparams command.
13005 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
13006 (grub_script_setparams): New prototype.
13007
25b60c91
BC
130082010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13009
13010 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
13011 grub_free order.
13012
37e7bf68
BC
130132010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13014
13015 Support for passing block of commands as an argument to extcmds.
13016
13017 * Makefile.util.def: Rules for new test.
13018 * tests/grub_script_blockarg.in: New test.
13019 * grub-core/tests/test_blockarg.c: New file, block argument
13020 command used in the test.
13021
13022 * include/grub/extcmd.h (grub_extcmd_context): New struct.
13023 (grub_register_extcmd_prio): New function prototype.
13024 (grub_extcmd_dispatcher): New function prototype.
13025 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
13026 type.
13027 * include/grub/script_sh.h (struct grub_script): New members
13028 `children', `next_siblings' and `refcnt' for block arguments and
13029 reference counting.
13030 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
13031 (grub_script_arg): New member `script' for block argument.
13032 (grub_script_argv): New member `script' for block argument.
13033 (grub_parser_param): New member `scripts' for block argument.
13034 (grub_script_mem_free): New extern function prototype.
13035 (grub_script_ref): New function prototype.
13036 (grub_script_unref): New function prototype.
13037
13038 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
13039 extcmd form to support block arguments.
13040 * grub-core/script/argv.c: Block arguments support.
13041 * grub-core/script/execute.c: Likewise.
13042 * grub-core/script/lexer.c: Likewise.
13043 * grub-core/script/main.c: Likewise.
13044 * grub-core/script/script.c: Likewise.
13045 * grub-core/script/parser.y: Likewise. New `block' and `block0'
13046 non-terminals.
13047
13048 * grub-core/commands/acpi.c: Update extcmd implementations with
13049 grub_extcmd_context_t.
13050 * grub-core/commands/cat.c: Likewise.
13051 * grub-core/commands/echo.c: Likewise.
13052 * grub-core/commands/extcmd.c: Likewise.
13053 * grub-core/commands/hashsum.c: Likewise.
13054 * grub-core/commands/hdparm.c: Likewise.
13055 * grub-core/commands/help.c: Likewise.
13056 * grub-core/commands/hexdump.c: Likewise.
13057 * grub-core/commands/i386/cpuid.c: Likewise.
13058 * grub-core/commands/i386/pc/drivemap.c: Likewise.
13059 * grub-core/commands/i386/pc/halt.c: Likewise.
13060 * grub-core/commands/i386/pc/sendkey.c: Likewise.
13061 * grub-core/commands/iorw.c: Likewise.
13062 * grub-core/commands/keystatus.c: Likewise.
13063 * grub-core/commands/loadenv.c: Likewise.
13064 * grub-core/commands/ls.c: Likewise.
13065 * grub-core/commands/lspci.c: Likewise.
13066 * grub-core/commands/memrw.c: Likewise.
13067 * grub-core/commands/probe.c: Likewise.
13068 * grub-core/commands/search_wrap.c: Likewise.
13069 * grub-core/commands/setpci.c: Likewise.
13070 * grub-core/commands/sleep.c: Likewise.
13071 * grub-core/disk/loopback.c: Likewise.
13072 * grub-core/hello/hello.c: Likewise.
13073 * grub-core/loader/i386/bsd.c: Likewise.
13074 * grub-core/loader/xnu.c: Likewise.
13075 * grub-core/term/gfxterm.c: Likewise.
13076 * grub-core/term/serial.c: Likewise.
13077 * grub-core/tests/lib/functional_test.c: Likewise.
13078
888d1500
BC
130792010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13080
13081 Multi-line quoted strings support.
13082
13083 * grub-core/script/lexer.c (append_newline): Removed.
13084 (grub_script_lexer_yywrap): Refactored.
13085 (grub_script_lexer_init): Refactored.
13086 * grub-core/script/yylex.l (yywrap): New function.
13087 (grub_lexer_resplit): New function.
13088 (grub_lexer_unput): New function.
13089 * include/grub/script_sh.h (grub_lexer_param): New members, unput
13090 and resplit.
13091 * tests/grub_script_echo1.in: Added few more testcases.
13092
dda060dd
VS
130932010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
13094
13095 * grub-core/kern/misc.c: Don't add abort alias in utils.
13096 Reported by: echoline.
13097
6556eba9
BC
130982010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
13099
13100 Add missing files into "make dist" tarball for other platforms.
13101
13102 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
13103 * conf/Makefile.common (dist_noinst_DATA): New variable.
13104 * conf/Makefile.extra-dist: Added missing make dist files.
13105 * grub-core/Makefile.core.def: Likewise.
13106
c8e7bf5f
VS
131072010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13108
13109 Compress grub_prefix.
13110
13111 * grub-core/boot/i386/pc/lnxboot.S: Use
13112 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
13113 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
13114 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
13115 GRUB_MACHINE_PREFIX_END. All users updated.
13116 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
13117 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
13118 + 0x40.
13119 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
13120 * util/grub-mkimage.c (image_target_desc): Change data_end to
13121 prefix_end. All users updated.
13122
a7c00cdb
VS
131232010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13124
13125 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
13126 value.
13127 (grub_openbsd_boot): Likewise.
13128 (grub_netbsd_boot): Likewise.
13129 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
13130 (grub_xnu_boot): Likewise.
13131
9f915872
VS
131322010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13133
13134 * configure.ac: Clean LIBS variable after tests.
13135
efa1bee7
CW
131362010-09-02 Colin Watson <cjwatson@ubuntu.com>
13137
13138 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
13139
61d720e5
VS
131402010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13141
13142 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
13143 echo if libdevmapper will be used.
13144
ef8e0ec8
IT
131452010-09-02 Ian Turner <Ian.Turner@deshaw.com>
13146
13147 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
13148 constant for the same file.
13149
03e261d8
VS
131502010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13151
13152 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
13153
c2a4eba6
CW
131542010-09-02 Colin Watson <cjwatson@ubuntu.com>
13155
13156 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
13157 grub-core/*.pp.
13158
9056cbf3
CW
131592010-09-02 Colin Watson <cjwatson@ubuntu.com>
13160
13161 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
13162 required by the boot protocol.
13163
13164 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
13165 ebp and edi members.
13166 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
13167 state.ebp and state.edi.
13168 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
13169 %ebp and %edi according to grub_relocator32_ebp and
13170 grub_relocator32_edi respectively.
13171 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
13172 and state.edi.
13173
529cc99a
VS
131742010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13175
13176 Add i386-pc-pxe image target.
13177
13178 * util/grub-mkimage.c (image_target_desc): New enum value
13179 IMAGE_I386_PC_PXE.
13180 (image_targets): New target i386-pc-pxe.
13181 (generate_image): Handle i386-pc-pxe image.
13182
9a093920
VS
131832010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13184
13185 Fix grub_pxe_scan.
13186
13187 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
13188 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
13189 All users updated.
13190 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
13191 (grub_pxe_pxenv): Correct type.
13192
f9cefc4e
CW
131932010-09-01 Colin Watson <cjwatson@ubuntu.com>
13194
13195 * NEWS: Document most of the important changes since 1.98.
13196
4066f57f
CW
131972010-09-01 Colin Watson <cjwatson@ubuntu.com>
13198
13199 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
13200 generated manual page) a little.
13201
da2891f9
CW
132022010-09-01 Colin Watson <cjwatson@ubuntu.com>
13203
13204 * docs/grub.texi: Add myself as an author.
13205
ad717fae
VS
132062010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
13207
13208 * Makefile.util.def (libgrub.a): Add missing sunpc.
13209 Reported by: Seth Goldberg.
13210
eefe8abd
VS
132112010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13212
13213 Interrupt wrapping and code simplifications.
13214
9494ef9a
VS
13215 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
13216 x86_noieee1275 which are functionaly equivalent in this case.
13217 (grub-install): Make source on each platform explicit. Enable on
13218 all noemu.
13219 * gentpl.py (x86_efi_pc): Removed group.
13220 (x86_noefi): Likewise.
13221 (i386_noefi): Likewise.
13222 (x86_noieee1275): Likewise.
13223 (i386_noieee1275): Likewise.
13224 (i386_noefi_noieee1275): Likewise.
13225 (i386_pc_qemu_coreboot): Likewise.
13226 (i386_coreboot_multiboot): Likewise.
13227 (i386_pc_coreboot_multiboot_qemu): Likewise.
13228 (x86_noefi_mips): Likewise.
13229 (noieee1275): Likewise.
13230 (ieee1275_mips): Likewise.
13231 (noemu_noieee1275): Likewise.
13232 (cmos): New group.
13233 (usb): Likewise.
13234 (videoinkernel): Likewise.
13235 (videomodules): Likewise.
eefe8abd 13236 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
13237 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
13238 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
13239 include/grub/loader.h, include/grub/msdos_partition.h,
13240 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
13241 include/grub/machine/console.h, include/grub/machine/vga.h,
13242 include/grub/machine/vbe.h, include/grub/machine/init.h,
13243 include/grub/machine/kernel.h, include/grub/cpu/time.h,
13244 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 13245 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
13246 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
13247 * grub-core/Makefile.core.def (kernel): Explicit the source for
13248 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
13249 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
13250 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
13251 Use videoinkernel tag.
13252 (usb): Enable on all usb.
13253 (usbserial_common): Likewise.
13254 (usbserial_pl2303): Likewise.
13255 (usbserial_ftdi): Likewise.
13256 (uhci): Enable on all x86.
13257 (ohci): Enable on all pci.
13258 (cmostest): Enable on all CMOS.
13259 (acpi): Include commands/acpi.c on all platforms.
13260 (halt): Add relevant lib/*/halt.c.
13261 (hdparm): Enable on all pci.
13262 (lspci): Likewise.
13263 (usbtest): Enable on all usb.
13264 (ata): Enable on all pci.
13265 (ata_pthru): Likewise.
13266 (usbms): Enable on all usb.
13267 (usb_keyboard): Likewise.
13268 (font): Use tag videomodules.
13269 (bufio): Likewise.
13270 (datetime): Use tag cmos. Enable on all noemu.
13271 (mmap): Use tags common and x86.
13272 (gfxterm): Use tag videomodules.
13273 (bitmap): Likewise.
13274 (bitmap_scale): Likewise.
13275 (video_fb): Likewise.
13276 (video): Likewise.
13277 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
13278 adjust padding accordingly. All users updated.
13279 (grub_ohci_transaction): Fix bad format specification.
13280 (GRUB_MOD_INIT): Add asserts for struct size.
13281 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
13282 (grub_alloc_td): Likewise.
13283 (grub_free_queue): Likewise.
13284 (grub_uhci_transfer): Likewise.
13285 (grub_uhci_transaction): Fix bad format specification.
13286 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
13287 (grub_usb_bulk_readwrite): Likewise.
13288 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
13289 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
13290 Made static.
13291 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
13292 Made static.
13293 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
13294 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
13295 Transformed into C.
13296 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
13297 Moved from here ...
13298 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
13299 ... here. Transformed into C. Made static.
13300 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
13301 Moved from here ...
13302 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
13303 ... here. Transformed into C. Made static.
13304 * grub-core/kern/i386/pc/startup.S
13305 (grub_biosdisk_check_int13_extensions): Moved from here ...
13306 * grub-core/disk/i386/pc/biosdisk.c
13307 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
13308 Made static.
13309 * grub-core/kern/i386/pc/startup.S
13310 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
13311 * grub-core/disk/i386/pc/biosdisk.c
13312 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
13313 Transformed into C. Made static.
13314 * grub-core/kern/i386/pc/startup.S
13315 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
13316 * grub-core/disk/i386/pc/biosdisk.c
13317 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
13318 Transformed into C. Made static.
13319 * grub-core/kern/i386/pc/startup.S
13320 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
13321 * grub-core/disk/i386/pc/biosdisk.c
13322 (grub_biosdisk_get_diskinfo_standard): ... here.
13323 Transformed into C. Made static.
13324 * grub-core/kern/i386/pc/startup.S
13325 (grub_biosdisk_get_num_floppies): Moved from here ...
13326 * grub-core/disk/i386/pc/biosdisk.c
13327 (grub_biosdisk_get_num_floppies): ... here.
13328 Transformed into C. Made static.
13329 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
13330 New function.
13331 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
13332 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
13333 Transformed into C. Made static.
13334 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
13335 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
13336 Transformed into C. Made static.
13337 * grub-core/kern/i386/ieee1275/init.c: Removed.
13338 * grub-core/kern/i386/misc.S: Likewise.
13339 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
13340 Splitted from here ...
13341 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
13342 Transformed into C. Made static. All users updated.
13343 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
13344 Transformed into C. Made static. All users updated.
13345 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
13346 Moved from here...
13347 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
13348 Transformed into C. Made static. All users updated.
13349 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
13350 Moved from here...
13351 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
13352 Transformed into C. Made static. All users updated.
13353 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
13354 Removed (replaced by C version).
13355 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
13356 Moved from here...
13357 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
13358 Transformed into C. Made static.
13359 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
13360 Moved from here...
13361 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
13362 ... here. Transformed into C.
13363 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
13364 Moved from here...
13365 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
13366 ... here. Transformed into C.
13367 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
13368 Moved from here...
13369 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
13370 ... here. Transformed into C. Made static.
13371 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
13372 Moved from here...
13373 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
13374 ... here. Transformed into C.
21ed554b
VS
13375 * grub-core/kern/i386/pc/startup.S
13376 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
13377 * grub-core/video/i386/pc/vbe.c
13378 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
13379 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
13380 Moved from here...
13381 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
13382 ... here. Transformed into C.
13383 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
13384 Moved from here...
13385 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
13386 ... here. Transformed into C.
13387 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
13388 Moved from here...
13389 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
13390 ... here. Transformed into C.
13391 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
13392 Moved from here...
13393 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
13394 ... here. Transformed into C.
13395 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
13396 Moved from here...
13397 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
13398 ... here. Transformed into C. Made static.
13399 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
13400 Moved from here...
13401 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
13402 ... here. Transformed into C. Made static.
13403 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
13404 Moved from here...
13405 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
13406 ... here. Transformed into C. Made static.
13407 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
13408 pxe_rm_entry as third argument.
13409 (grub_bios_interrupt): New function.
13410 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
13411 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
13412 of calling grub_stop.
13413 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
13414 * grub-core/lib/efi/halt.c (grub_halt): ...here.
13415 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
13416 * grub-core/lib/emu/halt.c (grub_halt): ... here.
13417 * grub-core/lib/i386/halt.c: Moved from here ...
13418 * grub-core/lib/i386/halt.c: ... here.
13419 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
13420 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
13421 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
13422 grub_stop_floppy.
13423 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
13424 * include/grub/i386/coreboot/init.h: Removed.
13425 * include/grub/i386/multiboot/init.h: Likewise.
13426 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
13427 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
13428 * include/grub/i386/pc/int.h: New file.
13429 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
13430 (grub_pxe_scan): Removed.
13431 (grub_pxe_call): Update prototype.
13432 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
13433 prototypes.
13434 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
13435 * include/grub/i386/qemu/init.h: Removed.
13436 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
13437 noreturn.
13438 (grub_halt): Likewise.
13439 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
13440 (grub_reboot): Likewise.
13441 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
13442 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
13443 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
13444
215dd471
RM
134452010-08-30 Robert Millan <rmh@gnu.org>
13446
13447 * NEWS: Document addition of ZFS support in `grub-install' and
13448 `grub-mkconfig'.
13449
ebd65b82
BC
134502010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
13451
13452 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
13453 dprintf output.
13454
11721d19
VS
134552010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13456
13457 Remove leftover embedding of font objects.
13458
13459 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
13460 * util/grub-install.in (font): Removed.
13461 * util/grub-mkimage.c (generate_image): Remove font support. All users
13462 updated.
13463
37837d4e
VS
134642010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13465
13466 Remove leftover embedding of font objects.
13467
13468 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
13469 * util/grub-install.in (font): Removed.
13470 * util/grub-mkimage.c (generate_image): Remove font support. All users
13471 updated.
13472
b4c1aae0
VS
134732010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13474
13475 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 13476 Reported by: Ian Turner
b4c1aae0 13477
8920a08d
VS
134782010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13479
13480 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
13481 timeout to avoid indefinite boot stalling.
13482
f21db033
VS
134832010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13484
13485 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
13486 (grub_env_write_color_highlight): Likewise.
13487
9a9de209
VS
134882010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13489
13490 * grub-core/normal/term.c (print_more): Return to normal and not
13491 to standard state after printing "---MORE---".
13492
3dca01d7
VS
134932010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13494
13495 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
13496 Mask out the bit 0x80 since it has other meaning that specifiing color.
13497
0b986c40
VS
134982010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13499
13500 New relocator. Allows for more kernel support and more straightforward
13501 loader writing.
13502
13503 * Makefile.am (BOOTTARGET): New variable.
13504 (QEMU32): Likewise.
13505 (linux.init.x86_64): New target.
13506 (linux.init.i386): Likewise.
13507 (multiboot.elf): Likewise.
13508 (kfreebsd.elf): Likewise.
13509 (kfreebsd.aout): Likewise.
13510 (pc-chainloader.elf): Likewise.
13511 (pc-chainloader.bin): Likewise.
13512 (ntldr.elf): Likewise.
13513 (ntldr.bin): Likewise.
13514 (multiboot2.elf): Likewise.
13515 (kfreebsd.init.x86_64): Likewise.
13516 (kfreebsd.init.i386): Likewise.
13517 (knetbsd.init.i386): Likewise.
13518 (kopenbsd.init.i386): Likewise.
13519 (knetbsd.init.x86_64): Likewise.
13520 (kopenbsd.init.x86_64): Likewise.
13521 (linux-initramfs.i386): Likewise.
13522 (linux-initramfs.x86_64): Likewise.
13523 (kfreebsd-mfsroot.i386.img): Likewise.
13524 (knetbsd.image.i386): Likewise.
13525 (kopenbsd.image.i386): Likewise.
13526 (kopenbsd.image.x86_64): Likewise.
13527 (knetbsd.miniroot-image.i386.img): Likewise.
13528 (kfreebsd-mfsroot.x86_64.img): Likewise.
13529 (knetbsd.image.x86_64): Likewise.
13530 (knetbsd.miniroot-image.x86_64.img): Likewise.
13531 (kfreebsd-mfsroot.i386.gz): Likewise.
13532 (bootcheck-kfreebsd-i386): Likewise.
13533 (kfreebsd-mfsroot.x86_64.gz): Likewise.
13534 (bootcheck-kfreebsd-x86_64): Likewise.
13535 (knetbsd.miniroot-image.i386.gz): Likewise.
13536 (bootcheck-knetbsd-i386): Likewise.
13537 (bootcheck-kopenbsd-i386): Likewise.
13538 (bootcheck-kopenbsd-x86_64): Likewise.
13539 (knetbsd.miniroot-image.x86_64.gz): Likewise.
13540 (bootcheck-knetbsd-x86_64): Likewise.
13541 (bootcheck-linux-i386): Likewise.
13542 (bootcheck-linux-x86_64): Likewise.
13543 (bootcheck-linux16-i386): Likewise.
13544 (bootcheck-linux16-x86_64): Likewise.
13545 (bootcheck-multiboot): Likewise.
13546 (bootcheck-multiboot2): Likewise.
13547 (bootcheck-kfreebsd-aout): Likewise.
13548 (bootcheck-pc-chainloader): Likewise.
13549 (bootcheck-ntldr): Likewise.
13550 (CLEANFILES): Add new targets.
13551 (BOOTCHECKS): New variable.
13552 (.PHONY): Add bootchecks.
13553 (SUCCESSFUL_BOOT_STRING): New variable.
13554 (BOOTCHECK_TIMEOUT): Likewise.
13555 (bootcheck): New target
13556 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
13557 * configure.ac: Correct efiemu excuse.
13558 * docs/grub.texi (Supported kernels): New chapter.
13559 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
13560 include/grub/mm_private.h. Simplify inclusion of
13561 include/grub/boot.h, include/grub/loader.h
13562 and include/grub/msdos_partition.h
13563 (KERNEL_HEADER_FILES) [i386_coreboot]:
13564 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
13565 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
13566 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
13567 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
13568 include/grub/machine/loader.h.
13569 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
13570 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
13571 extra_dist.
13572 (pci.mod): Enable on i386-multiboot.
13573 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
13574 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
13575 i386-qemu.
13576 (relocator.mod): Rewritten.
13577 (aout.mod): Enable on all x86.
13578 (bsd.mod): Likewise.
13579 (ntldr.mod): New module.
13580 (linux.mod): Use loader/i386/linux.c on all x86.
13581 (xnu.mod): Enable on all x86.
13582 (vga_text.mod): disable on EFI and QEMU.
13583 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
13584 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
13585 * grub-core/efiemu/loadcore.c: Likewise.
13586 * grub-core/efiemu/main.c: Likewise.
13587 (grub_efiemu_exit_boot_services): Removed.
13588 (grub_efiemu_finish_boot_services): Likewise.
13589 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
13590 function.
13591 * grub-core/efiemu/i386/nocfgtables.c: New file.
13592 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
13593 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
13594 (grub_efi_finish_boot_services): Moved from here ...
13595 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
13596 Fille finish memory map and related data.
13597 (finish_mmap_buf): New variable.
13598 (grub_efi_uintn_t finish_mmap_size): Likewise.
13599 (grub_efi_uintn_t finish_key): Likewise.
13600 (grub_efi_uintn_t finish_desc_size): Likewise.
13601 (grub_efi_uint32_t finish_desc_version): Likewise.
13602 (grub_efi_is_finished): Likewise.
13603 (grub_efi_get_memory_map): Use saved memory map if EFI is already
13604 finished.
13605 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
13606 (grub_elf64_phdr_iterate): Likewise.
13607 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
13608 (grub_os_area_size): Likewise.
13609 (grub_machine_init): Don't reserve os area.
13610 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
13611 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
13612 * grub-core/kern/i386/loader.S: Removed.
13613 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
13614 (grub_os_area_size): Likewise.
13615 (grub_machine_init): Don't reserve os area.
13616 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
13617 Don't call grub_dl_unload_all.
13618 Don't include loader.S.
13619 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
13620 Declare the memory after _end as available.
13621 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 13622 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 13623 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
13624 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
13625 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
13626 * include/grub/mm_private.h (grub_mm_header): ... here.
13627 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
13628 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
13629 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
13630 (grub_mm_region): ..here. Removed addr. Added pre_size.
13631 All users updated.
13632 * grub-core/kern/mm.c (base): Renamed to ...
13633 (grub_mm_base): ... this. Made global.
13634 (grub_real_malloc): Alloc from end of region.
13635 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
13636 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
13637 * grub-core/kern/powerpc/cache_flush.S: ... here.
13638 * grub-core/lib/efi/relocator.c: New file.
13639 * grub-core/lib/i386/relocator.c: Rewritten.
13640 * grub-core/lib/i386/relocator16.S: New file.
13641 * grub-core/lib/i386/relocator32.S: Likewise.
13642 * grub-core/lib/i386/relocator64.S: Likewise.
13643 * grub-core/lib/i386/relocator_asm.S: Rewritten.
13644 * grub-core/lib/i386/relocator_common.S: New file.
13645 * grub-core/lib/ieee1275/relocator.c: Likewise.
13646 * grub-core/lib/mips/relocator.c: Rewritten.
13647 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
13648 stylistic adjustments.
13649 * grub-core/lib/powerpc/relocator.c: New file.
13650 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
13651 * grub-core/lib/relocator.c: Rewritten.
13652 * grub-core/lib/x86_64/relocator_asm.S: New file.
13653 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
13654 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
13655 (bsd_tag): New struct.
13656 (tags): New variable.
13657 (tags_last): Likewise.
13658 (netbsd_module): New struct.
13659 (netbsd_mods): New variable.
13660 (netbsd_mods_last): Likewise.
13661 (openbsd_opts): New parameter "serial".
13662 (OPENBSD_SERIAL_ARG): New definition.
13663 (netbsd_opts): New parameter "serial".
13664 (NETBSD_SERIAL_ARG): New definition.
13665 (grub_freebsd_add_meta): Reorganised into ...
13666 (grub_bsd_add_meta): ...this. All users updated.
13667 (grub_freebsd_add_mmap): Reorganised into ...
13668 (generate_e820_mmap): ...this...
13669 (grub_bsd_add_mmap): ...and this. All users updated.
13670 (grub_freebsd_list_modules): Use tags.
13671 (grub_netbsd_add_meta_module): New function.
13672 (grub_netbsd_list_modules): Likewise.
13673 (grub_freebsd_boot): Use relocator and finish EFI.
13674 (grub_openbsd_boot): Likewise.
13675 (grub_netbsd_setup_video): New function.
13676 (grub_netbsd_add_modules): Likewise.
13677 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
13678 and finish EFI.
13679 (grub_bsd_unload): Unload tags.
13680 (grub_bsd_load_aout): Use relocator.
13681 (grub_bsd_elf32_size_hook): New function.
13682 (grub_bsd_elf32_hook): Use relocator.
13683 (grub_bsd_elf64_size_hook): New function.
13684 (grub_bsd_elf64_hook): Use relocator.
13685 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
13686 (grub_bsd_load): Zero-out openbsd_ramdisk.
13687 (grub_bsd_load): Use relocator.
13688 (grub_cmd_openbsd): Support serial.
13689 (grub_cmd_netbsd): Support modules.
13690 (grub_cmd_freebsd_module): Use relocator.
13691 (grub_netbsd_module_load): New function.
13692 (grub_cmd_netbsd_module): Likewise.
13693 (grub_cmd_openbsd_ramdisk): Likewise.
13694 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
13695 kopenbsd_ramdisk.
13696 (GRUB_MOD_FINI): Unregister new commands.
13697 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
13698 (grub_freebsd_load_elfmodule_obj): Use relocator.
13699 (grub_freebsd_load_elfmodule): Likewise.
13700 (grub_freebsd_load_elf_meta): Likewise.
13701 (grub_netbsd_load_elf_meta): New function.
13702 (grub_openbsd_find_ramdisk): Likewise.
13703 * grub-core/loader/i386/bsd_helper.S: Removed.
13704 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
13705 * grub-core/loader/i386/bsd_trampoline.S: Removed.
13706 * grub-core/loader/i386/efi/linux.c: Likewise.
13707 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
13708 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
13709 (DEFAULT_VIDEO_MODE): Likewise.
13710 (real_mode_target): New variable.
13711 (prot_mode_target): Likewise.
13712 (initrd_mem_target): Likewise.
13713 (relocator): Likewise.
13714 (efi_mmap_buf): Likewise.
13715 (efi_mmap_size): Likewise.
13716 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
13717 (free_pages): Use relocator.
13718 (allocate_pages): Account for efi_mmap and use relocator. Return error.
13719 (grub_linux_setup_video): Return error.
13720 (grub_linux_trampoline_start): Removed.
13721 (grub_linux_trampoline_end): Likewise.
13722 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
13723 andd video parameters depending on firmware.
13724 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
13725 [GRUB_MACHINE_EFI]: Pass EFI parameters.
13726 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
13727 (grub_cmd_initrd): Use relocator.
13728 * grub-core/loader/i386/linux_trampoline.S: Removed.
13729 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
13730 (elf_sec_entsize): Likewise.
13731 (elf_sec_shstrndx): Likewise.
13732 (elf_sections): Likewise.
13733 (grub_multiboot_load): Use relocator.
13734 (grub_multiboot_get_mbi_size): Account for sections.
13735 (grub_multiboot_make_mbi): Use relocator and support sections.
13736 (grub_multiboot_add_elfsyms): New function.
13737 (grub_multiboot_free_mbi): Free sections.
13738 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
13739 (grub_linux_real_target): Likewise.
13740 (grub_linux_real_chunk): Likewise.
13741 (grub_linux16_prot_size): Likewise.
13742 (grub_linux16_boot): Use relocator.
13743 (grub_linux_unload): Unload relocator.
13744 (grub_cmd_linux): Use relocator.
13745 (grub_cmd_initrd): Likewise.
13746 * grub-core/loader/i386/pc/ntldr.c: New file.
13747 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
13748 Don't try to guess CPU frequency.
13749 (grub_xnu_set_video): Stretch bitmap.
13750 (grub_xnu_boot): Use relocator.
13751 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
13752 (grub_linux_unload): Free relocator.
13753 (grub_linux_load32): Use relocator.
13754 (grub_linux_load64): Likewise.
13755 (grub_cmd_initrd): Likewise.
13756 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
13757 (grub_multiboot_unload): Unload relocator.
13758 (grub_cmd_multiboot): Use relocator.
13759 (grub_cmd_module): Likewise.
13760 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
13761 Use relocator and support sections.
13762 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
13763 (elf_sec_entsize): Likewise.
13764 (elf_sec_shstrndx): Likewise.
13765 (elf_sections): Likewise.
13766 (grub_multiboot_load): Use relocator.
13767 (grub_multiboot_get_mbi_size): Account for sections.
13768 (grub_multiboot_make_mbi): Use relocator and support sections.
13769 (grub_multiboot_add_elfsyms): New function.
13770 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
13771 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
13772 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
13773 Prototype changed. All users updated.
13774 (grub_xnu_align_heap): Simplified.
13775 (grub_xnu_writetree_toheap): Likewise.
13776 (grub_xnu_unload): Unload relocator.
13777 (grub_cmd_xnu_kernel): Use relocator.
13778 (grub_cmd_xnu_kernel64): Likewise.
13779 (grub_xnu_register_memory): Simplified.
13780 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
13781 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
13782 EFI is finished.
13783 (grub_console_checkkey): Likewise.
13784 (grub_console_getkey): Likewise.
13785 (grub_console_getwh): Likewise.
13786 (grub_console_getxy): Likewise.
13787 (grub_console_gotoxy): Likewise.
13788 (grub_console_cls): Likewise.
13789 (grub_console_setcolorstate): Likewise.
13790 (grub_console_setcursor): Likewise.
13791 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
13792 * grub-core/tests/boot/kbsd.init-i386.S: New file.
13793 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
13794 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
13795 * grub-core/tests/boot/kernel-8086.S: Likewise.
13796 * grub-core/tests/boot/kernel-i386.S: Likewise.
13797 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
13798 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
13799 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
13800 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
13801 * grub-core/tests/boot/knetbsd.cfg: Likewise.
13802 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
13803 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
13804 * grub-core/tests/boot/linux.cfg: Likewise.
13805 * grub-core/tests/boot/linux.init-i386.S: Likewise.
13806 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
13807 * grub-core/tests/boot/linux16.cfg: Likewise.
13808 * grub-core/tests/boot/multiboot.cfg: Likewise.
13809 * grub-core/tests/boot/multiboot2.cfg: Likewise.
13810 * grub-core/tests/boot/ntldr.cfg: Likewise.
13811 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
13812 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
13813 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
13814 New definition.
13815 * include/grub/dl.h (grub_dl_unload_all): Removed.
13816 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
13817 (grub_efi_finish_boot_services): Change prototype.
13818 (grub_efi_is_finished): New variable.
13819 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
13820 Changed prototype.
13821 (grub_efiemu_finish_boot_services): Removed.
13822 (grub_machine_efiemu_init_tables): New prototype.
13823 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
13824 (grub_elf64_phdr_iterate): Likewise.
13825 * include/grub/i386/bsd.h: Include relocator.h.
13826 (freebsd_tag_header): New struct.
13827 (grub_openbsd_bios_mmap): Removed.
13828 (grub_unix_real_boot): Removed.
13829 (grub_freebsd_load_elfmodule32): Changed prototype.
13830 (grub_freebsd_load_elfmodule_obj64): Likewise.
13831 (grub_freebsd_load_elf_meta32): Likewise.
13832 (grub_freebsd_load_elf_meta64): Likewise.
13833 (grub_freebsd_add_meta): Removed.
13834 (grub_netbsd_load_elf_meta32): New prototype.
13835 (grub_netbsd_load_elf_meta64): Likewise.
13836 (grub_bsd_add_meta): Likewise.
13837 (grub_openbsd_ramdisk_descriptor): New struct.
13838 (grub_openbsd_find_ramdisk32): New prototype.
13839 (grub_openbsd_find_ramdisk64): Likewise.
13840 * include/grub/i386/coreboot/loader.h: Removed.
13841 * include/grub/i386/efi/loader.h: Likewise.
13842 * include/grub/i386/ieee1275/loader.h: Likewise.
13843 * include/grub/i386/linux.h (linux_kernel_header): Change void *
13844 to grub_uint32_t.
13845 * include/grub/i386/loader.h: Removed.
13846 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
13847 value.
13848 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
13849 (grub_phys_addr_t): New type.
13850 (grub_vtop): New inline function.
13851 (grub_map_memory): Likewise.
13852 (grub_unmap_memory): Likewise.
13853 * include/grub/i386/multiboot/loader.h: Removed.
13854 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
13855 (NETBSD_BTINFO_CONSOLE): New definition.
13856 (NETBSD_BTINFO_SYMTAB): Likewise.
13857 (NETBSD_BTINFO_MODULES): Likewise.
13858 (NETBSD_BTINFO_FRAMEBUF): Likewise.
13859 (grub_netbsd_bootinfo): New struct.
13860 (grub_netbsd_btinfo_common): Use explicit bitsize.
13861 (grub_netbsd_btinfo_mmap_entry): Removed.
13862 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
13863 (grub_netbsd_btinfo_bootdisk): New struct.
13864 (grub_netbsd_btinfo_symtab): Likewise.
13865 (grub_netbsd_btinfo_serial): Likewise.
13866 (grub_netbsd_btinfo_modules): Likewise.
13867 (grub_netbsd_btinfo_framebuf): Likewise.
13868 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
13869 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
13870 Likewise.
13871 (grub_openbsd_bootargs): Use explicit bitsize.
13872 (grub_openbsd_bootarg_console): New struct.
13873 (GRUB_OPENBSD_COM_MAJOR): New definition.
13874 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
13875 * include/grub/i386/pc/efiemu.h: Removed.
13876 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
13877 * include/grub/i386/qemu/loader.h: Removed.
13878 * include/grub/i386/relocator.h: Rewritten.
13879 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
13880 * include/grub/mips/memory.h: New file.
13881 * include/grub/mips/multiboot.h: Rewritten.
13882 * include/grub/mips/relocator.h: Rewritten.
13883 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
13884 (grub_vtop): New function.
13885 (grub_map_memory): Likewise.
13886 (grub_unmap_memory): Likewise.
13887 * include/grub/misc.h (ALIGN_DOWN): New definition.
13888 * include/grub/mm.h (grub_mm_check_real): New proto.
13889 (GRUB_MM_CHECK): New definition.
13890 * include/grub/mm_private.h: New file.
13891 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
13892 (grub_multiboot_get_mbi_size): Removed.
13893 (grub_multiboot_make_mbi): Change prottype.
13894 (grub_multiboot_set_accepts_video): New proto.
13895 (grub_multiboot_add_elfsyms): Likewise.
13896 (grub_multiboot_payload_eip): New variable.
13897 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
13898 New prototype.
13899 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
13900 New definition.
13901 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
13902 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
13903 * include/grub/powerpc/ieee1275/loader.h: Removed.
13904 * include/grub/powerpc/memory.h: New file.
13905 * include/grub/powerpc/relocator.h: Likewise.
13906 * include/grub/relocator.h: Likewise.
13907 * include/grub/relocator_private.h: Likewise.
13908 * include/grub/sparc64/ieee1275/loader.h: Removed.
13909 * include/grub/x86_64/memory.h: New file.
13910 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
13911 (grub_xnu_heap_malloc): Likewise.
13912 (grub_xnu_heap_real_start): Removed.
13913 (grub_xnu_heap_start): Likewise.
13914 (grub_xnu_relocator): New variable.
13915 (grub_xnu_heap_target_start): Likewise.
13916 * tests/util/grub-shell.in: Support non-pc.
13917 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 13918
5303b85d
VS
139192010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13920
13921 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
13922 on malloc error.
13923 (grub_bidi_logical_to_visual): Check that malloc succeded.
13924 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
13925 puts.
13926 (grub_xputs_normal): Likewise.
13927
d768d159
VS
139282010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13929
13930 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
13931 extra_dist.
13932
139332010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13934
13935 * grub-core/efiemu/runtime/efiemu.sh: Removed.
13936
5bf84df4
VS
139372010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13938
13939 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
13940
3626810e
VS
139412010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13942
13943 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
13944 dprintf.
13945
a7363f53
BC
139462010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
13947
13948 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
13949
902f75f6
VS
139502010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13951
13952 * grub-core/normal/term.c (print_more): Fix a memory leak.
13953 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
13954 (grub_xputs_normal): Likewise.
13955
3c707967
VS
139562010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13957
13958 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
13959 the begining of the string
13960
2053cc07
VS
139612010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13962
13963 * grub-core/script/script.c (grub_script_parse): Free parsed on
13964 failure.
13965
46422ebf
VS
139662010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13967
13968 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
13969 on failure.
13970
9e0fa3f6
VS
139712010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13972
13973 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
13974 return.
13975
3393cf16
VS
139762010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13977
13978 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
13979 (scroll_up): Fix a memory leak.
13980
b17540cb
VS
139812010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13982
13983 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
13984 errors.
13985
67140446
VS
139862010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
13987
13988 Handle USB pendrives exposed as floppies.
13989
13990 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
13991 floppy.
13992 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
13993 Check for partitions on all devices.
13994
e35e46fc
VS
139952010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13996
13997 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
13998 (readkey): Likewise.
13999
d24c6190
BC
140002010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
14001
14002 Multiple variable names support to "export" command.
14003
14004 * normal/context.c (grub_cmd_export): "export" command supports
14005 multiple variable names.
14006
04ddcc6a
ST
140072010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
14008
14009 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
14010 --target=drive output to Mach device name.
14011
0c8b61d8
BC
140122010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14013
14014 New Automake based build system for GRUB.
14015
14016 * ABOUT-NLS: New file.
14017 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
14018 in Makefile.util.def file.
14019 * Makefile.util.def: New file. Autogen build definitions file for
14020 GRUB host utils.
14021 * conf/Makefile.common: New file. Common variables for GRUB host
14022 utils and target modules.
14023 * conf/Makefile.extra-dist: New file. Extra files for make dist.
14024 * docs/Makefile.am: New file. Automake file for docs.
14025 * gentpl.py: New file. Python script to generate Autogen
14026 template.
14027 * grub-core/Makefile.am: New file. GRUB target modules' rules
14028 that doesn't fit in Makefile.core.def file.
14029 * grub-core/Makefile.core.def: New file. Autogen build
14030 definitions file for GRUB target modules.
14031 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
14032 specific setjmp.S file.
14033 * po/Makefile.am: New file.
14034
14035 * .bzrignore: New ignores.
14036 * INSTALL: New requirements, without Ruby.
14037 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
14038 * autogen.sh: Updated to invoke autogen as necessary.
14039 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
14040 and defines for Automake conditionals.
14041 * geninit.sh: Refactoring.
14042
14043 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
14044 necessary.
14045 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
14046 New prototype.
14047
14048 * include/grub/test.h: Fix functional test modules' naming.
14049 * grub-core/tests/example_functional_test.c: Fix test module name.
14050
14051 * util/misc.c: Hosted versions' of grub functions for libgrub.a
14052 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
14053 * util/grub-editenv.c: Likewise.
14054 * util/grub-fstest.c: Likewise.
14055 * util/grub-mkdevicemap.c: Likewise.
14056 * util/grub-mkfont.c: Likewise.
14057 * util/grub-mkimage.c: Likewise.
14058 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14059 * util/grub-probe.c: Likewise.
14060 * util/grub-script-check.c: Likewise.
14061 * util/i386/pc/grub-setup.c: Likewise.
14062 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14063
14064 * tests/util/grub-shell.in: Fix override directory path.
14065 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
14066 * util/import_gcry.py: Create Makefile.gcry.def file instead.
14067
14068 * util/lvm.c: Update #includes.
14069 * util/raid.c: Likewise.
14070 * util/resolve.c: Likewise.
14071 * grub-core/bus/emu/pci.c: Likewise.
14072 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
14073 * grub-core/lib/posix_wrap/string.h: Likewise.
14074 * grub-core/kern/emu/main.c: Likewise.
14075
14076 * grub-core/gensymlist.sh: New file. Script for generating kernel
14077 symbols file.
14078 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
14079
14080 * grub-core/gentrigtables.c: Fix unused variable warnings.
14081
14082 * Makefile.in: Removed.
14083 * conf/any-emu.rmk: Removed.
14084 * conf/common.rmk: Removed.
14085 * conf/i386-coreboot.rmk: Removed.
14086 * conf/i386-efi.rmk: Removed.
14087 * conf/i386-ieee1275.rmk: Removed.
14088 * conf/i386-multiboot.rmk: Removed.
14089 * conf/i386-pc.rmk: Removed.
14090 * conf/i386-qemu.rmk: Removed.
14091 * conf/i386.rmk: Removed.
14092 * conf/mips-yeeloong.rmk: Removed.
14093 * conf/mips.rmk: Removed.
14094 * conf/powerpc-ieee1275.rmk: Removed.
14095 * conf/sparc64-ieee1275.rmk: Removed.
14096 * conf/tests.rmk: Removed.
14097 * conf/x86-efi.rmk: Removed.
14098 * conf/x86_64-efi.rmk: Removed.
14099 * gendistlist.sh: Removed.
14100 * geninitheader.sh: Removed.
14101 * genkernsyms.sh.in: Removed.
14102 * genmk.rb: Removed.
14103 * gensymlist.sh.in: Removed.
14104 * mkinstalldirs: Removed.
14105 * boot: Moved ...
14106 * grub-core/boot: ... to here.
14107 * bus: Moved ...
14108 * grub-core/bus: ... to here.
14109 * commands: Moved ...
14110 * grub-core/commands: ... to here.
14111 * disk: Moved ...
14112 * grub-core/disk: ... to here.
14113 * efiemu: Moved ...
14114 * grub-core/efiemu: ... to here.
14115 * font: Moved ...
14116 * grub-core/font: ... to here.
14117 * fs: Moved ...
14118 * grub-core/fs: ... to here.
14119 * gencmdlist.sh: Moved ...
14120 * grub-core/gencmdlist.sh: ... to here.
14121 * genemuinit.sh: Moved ...
14122 * grub-core/genemuinit.sh: ... to here.
14123 * genemuinitheader.sh: Moved ...
14124 * grub-core/genemuinitheader.sh: ... to here.
14125 * genfslist.sh: Moved ...
14126 * grub-core/genfslist.sh: ... to here.
14127 * genhandlerlist.sh: Moved ...
14128 * grub-core/genhandlerlist.sh: ... to here.
14129 * genmoddep.awk: Moved ...
14130 * grub-core/genmoddep.awk: ... to here.
14131 * genmodsrc.sh: Moved ...
14132 * grub-core/genmodsrc.sh: ... to here.
14133 * genpartmaplist.sh: Moved ...
14134 * grub-core/genpartmaplist.sh: ... to here.
14135 * genparttoollist.sh: Moved ...
14136 * grub-core/genparttoollist.sh: ... to here.
14137 * genterminallist.sh: Moved ...
14138 * grub-core/genterminallist.sh: ... to here.
14139 * gentrigtables.c: Moved ...
14140 * grub-core/gentrigtables.c: ... to here.
14141 * genvideolist.sh: Moved ...
14142 * grub-core/genvideolist.sh: ... to here.
14143 * gettext: Moved ...
14144 * grub-core/gettext: ... to here.
14145 * gfxmenu: Moved ...
14146 * grub-core/gfxmenu: ... to here.
14147 * gnulib: Moved ...
14148 * grub-core/gnulib: ... to here.
14149 * hello: Moved ...
14150 * grub-core/hello: ... to here.
14151 * hook: Moved ...
14152 * grub-core/hook: ... to here.
14153 * io: Moved ...
14154 * grub-core/io: ... to here.
14155 * kern: Moved ...
14156 * grub-core/kern: ... to here.
14157 * lib: Moved ...
14158 * grub-core/lib: ... to here.
14159 * loader: Moved ...
14160 * grub-core/loader: ... to here.
14161 * mmap: Moved ...
14162 * grub-core/mmap: ... to here.
14163 * normal: Moved ...
14164 * grub-core/normal: ... to here.
14165 * partmap: Moved ...
14166 * grub-core/partmap: ... to here.
14167 * parttool: Moved ...
14168 * grub-core/parttool: ... to here.
14169 * script: Moved ...
14170 * grub-core/script: ... to here.
14171 * term: Moved ...
14172 * grub-core/term: ... to here
14173 * tests/example_functional_test.c: Moved ...
14174 * grub-core/tests/example_functional_test.c: ... to here.
14175 * tests/lib/functional_test.c: Moved ...
14176 * grub-core/tests/lib/functional_test.c: ... to here.
14177 * tests/lib/test.c: Moved ...
14178 * grub-core/tests/lib/test.c: ... to here.
14179 * video: Moved ...
14180 * grub-core/video: ... to here.
14181
645586e6
BC
141822010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14183
14184 Replace --enable-grub-emu-modules with grub-emu-lite.
14185
14186 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
14187 cache.S.
14188
14189 * include/grub/emu/misc.h (grub_emu_init): New prototype.
14190 * kern/emu/full.c: New file. For grub-emu specific initialization.
14191 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
14192 * kern/emu/main.c: Call initialization function grub_emu_init.
14193
14194 * Makefile.in: Include grub-emu-lite in install.
14195 * commands/parttool.c: Use grub_no_autoload to differentiate
14196 between grub-emu and grub-emu-lite.
14197 * include/grub/misc.h: New variable grub_no_autoload.
14198
14199 * conf/any-emu.rmk: New rules for grub-emu-lite.
14200 * configure.ac: Remove --enable-grub-emu-modules.
14201 * genmk.rb: Cleanup unnecessary rules.
14202 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
14203
14204 * normal/main.c: Don't load list files on grub-emu-lite.
14205 * util/misc.c (grub_arch_sync_caches): Removed.
14206
f86a4030
CW
142072010-08-23 Colin Watson <cjwatson@ubuntu.com>
14208
14209 * kern/mips/startup.S (grub_prefix): Update comment to refer to
14210 grub-mkimage rather than grub-mkelfimage.
14211 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
14212
06776944
VS
142132010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
14214
14215 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
14216 a key after CapsLock or NumLock. It's just a qemu bug.
14217
df262419
VS
142182010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14219
14220 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
14221 needed by libusb wrapper.
14222
b40ea81b
ST
142232010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
14224
14225 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
14226
dee50575
VS
142272010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14228
14229 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
14230 --nounzip is passed.
14231
fb1d7b79
VS
142322010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
14233
14234 USB hotunplugging and USB serial support.
14235
14236 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
14237 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
14238 (grub_uhci_transfer): Respect timeout and set *actual.
14239 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
14240 non-standard length.
14241 (grub_usb_device_attach): Autoload modules.
14242 (GRUB_MOD_INIT): Set grub_term_poll_usb.
14243 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
14244 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
14245 users updated.
14246 (grub_usb_add_hub): Fill nports and children.
14247 (attach_root_port): Receive hub instead of controller.
14248 All users updated. Fill hub->devices.
14249 (grub_usb_root_hub): Allocate hub->devices.
14250 (detach_device): New function.
14251 (poll_nonroot_hub): Fill children and detach devices.
14252 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
14253 actual arguments. All users updated.
14254 (grub_usb_bulk_read_extended): New function.
14255 * bus/usb/serial/common.c: New file.
14256 * bus/usb/serial/ftdi.c: Likewise.
14257 * bus/usb/serial/pl2303.c: Likewise.
14258 * commands/terminal.c (handle_command): Support wildcard.
14259 * commands/usbtest.c: Output "Unknown" instead of empty string.
14260 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
14261 (usbserial_common_mod_SOURCES): New variable.
14262 (usbserial_common_mod_CFLAGS): Likewise.
14263 (usbserial_common_mod_LDFLAGS): Likewise.
14264 (pkglib_MODULES): Add usbserial_pl2303.mod.
14265 (usbserial_pl2303_mod_SOURCES): New variable.
14266 (usbserial_pl2303_mod_CFLAGS): Likewise.
14267 (usbserial_pl2303_mod_LDFLAGS): Likewise.
14268 (pkglib_MODULES): Add usbserial_ftdi.mod.
14269 (usbserial_ftdi_mod_SOURCES): New variable.
14270 (usbserial_ftdi_mod_CFLAGS): Likewise.
14271 (usbserial_ftdi_mod_LDFLAGS): Likewise.
14272 (pkglib_MODULES): Add serial.mod.
14273 (serial_mod_SOURCES): New variable.
14274 (serial_mod_CFLAGS): Likewise.
14275 (serial_mod_LDFLAGS): Likewise.
14276 * conf/i386-pc.rmk: Likewise.
14277 * conf/mips-yeeloong.rmk: Likewise.
14278 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
14279 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
14280 * disk/usbms.c (first_available_slot): New variable.
14281 (grub_usbms_attach): Don't reuse free slots due to potential cache
14282 problems.
14283 * include/grub/serial.h: Moved to ..
14284 * include/grub/ns8250.h: ...this.
14285 * include/grub/serial.h: New file.
14286 * include/grub/term.h (grub_term_poll_usb): New variable.
14287 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
14288 readkey. All users updated.
14289 (grub_terminfo_output_state): Pass term to put.
14290 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
14291 (grub_usb_controller_dev): Add timeout and actual arguments to
14292 transfer. All users updated.
14293 (grub_usb_interface): New field detach_data.
14294 (grub_usb_device): New fields children and nports.
14295 (grub_usb_ep_type_t): New type.
14296 (grub_usb_get_ep_type): New function.
14297 (grub_usb_bulk_read_extended): Likewise.
14298 * include/grub/usbdesc.h (grub_usb_desc): New type.
14299 * include/grub/usbserial.h: New file.
14300 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
14301 * kern/term.c (grub_term_poll_usb): New variable.
14302 (grub_getkey): Call grub_term_poll_usb if set.
14303 (grub_checkkey): Likewise.
14304 (grub_getkeystatus): Likewise.
14305 * term/serial.c: Moved controller-specific parts to ...
14306 * term/ns8250.c: ... here.
14307 * term/serial.c: Mostly rewritten.
14308 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
14309 according to spec.
14310
21a313de
RM
143112010-08-20 Robert Millan <rmh@gnu.org>
14312
14313 Make kFreeBSD code more generic to support ext2fs as root, ufs as
14314 a separate module and maybe other interesting combinations.
14315
14316 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
14317 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
14318 (kfreebsd_entry): Add generic filesystem module load routine.
14319 Map GRUB `ext2' to kFreeBSD `ext2fs'.
14320
63c734a6
CW
143212010-08-20 Colin Watson <cjwatson@ubuntu.com>
14322
14323 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
14324 "numcenter" (I misunderstood the purpose of this entry).
14325 * docs/grub.texi (sendkey): Likewise.
14326
c4d16542
CW
143272010-08-20 Colin Watson <cjwatson@ubuntu.com>
14328
14329 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
14330 status flag options; simply omitting the option is equivalent and
14331 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
14332 (keysym_table): Rename "num5numlock" to "numlock".
14333 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
14334 can uniformly say that only the last of multiple `sendkey'
14335 invocations has any effect.
14336 * docs/grub.texi (sendkey): New section.
14337
93541d66
CW
143382010-08-19 Colin Watson <cjwatson@ubuntu.com>
14339
14340 * commands/i386/pc/sendkey.c (options): Fix three typos.
14341
b4ece5e1
VS
143422010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14343
14344 Implement sendkey support.
14345
14346 * commands/i386/pc/sendkey.c: New file.
14347 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
14348 (sendkey_mod_SOURCES): New variable.
14349 (sendkey_mod_CFLAGS): Likewise.
14350 (sendkey_mod_LDFLAGS): Likewise.
14351
51f1f5af
CW
143522010-08-18 Colin Watson <cjwatson@ubuntu.com>
14353
14354 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
14355 fix warnings from Autoconf.
14356
9da94e05
CW
143572010-08-18 Colin Watson <cjwatson@ubuntu.com>
14358
14359 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
14360 to avoid false positives with some assemblers that output things
14361 like "someprefix_func" as part of their output.
14362
729a0f2e
RM
143632010-08-15 Robert Millan <rmh@gnu.org>
14364
14365 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
14366 errors.
14367 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
14368 grub_get_libzfs_handle() errors.
14369
f3710e08
RM
143702010-08-14 Robert Millan <rmh@gnu.org>
14371
14372 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
14373 filesystem is not ZFS.
14374
7a3c13de
BC
143752010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14376
14377 Fix for misspelled color names defaulting to black/black (bug
14378 reported by Doug Nazar)
14379
14380 * include/grub/normal.h (grub_parse_color_name_pair): Add return
14381 status to prototype.
14382 * normal/color.c (grub_parse_color_name_pair): Return failure
14383 status.
14384 (grub_env_write_color_normal): Ignore bad color names.
14385 (grub_env_write_color_highlight): Likewise.
14386 * normal/main.c (GRUB_MOD_INIT): Set default color names.
14387
ab8ba50d
BC
143882010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14389
14390 "shift" command support to GRUB script.
14391
14392 * include/grub/script_sh.h (grub_script_shift): New prototype.
14393 * script/execute.c (grub_script_shift): New function.
14394 * script/main.c (grub_script_init): Register shift command.
14395 (grub_script_fini): Unregister shift command.
14396 * util/grub-script-check.c (grub_script_cmd_shift): New function.
14397
14398 * tests/grub_script_shift.in: New testcase.
14399 * conf/tests.rmk: Rules for new testcase.
14400
4d61999e
BC
144012010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14402
14403 "continue" command support to GRUB script.
14404
14405 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
14406 (grub_script_break): Continue support.
14407 * script/main.c (grub_script_init): Register continue command.
14408 (grub_script_fini): Unregister continue command.
14409
14410 * tests/grub_script_continue.in: New testcase.
14411 * conf/tests.rmk: Rules for new testcase.
14412
4df51e00
BC
144132010-08-12 BVK Chaitanya <bvk@dbook>
14414
14415 "break" command support to GRUB script.
14416
14417 * conf/common.rmk: Rule updates to grub-script-check.
14418 * include/grub/misc.h (grub_min): New function.
14419 * include/grub/script_sh.h (grub_script_init): New prototype.
14420 (grub_script_fini): New prototype.
14421 (grub_script_break): New prototype.
14422 * script/main.c (grub_script_init): New function.
14423 (grub_script_fini): New function.
14424 * script/execute.c (grub_script_break): New function.
14425 * normal/main.c: Calls to grub_script_{init,fini}.
14426 * util/grub-script-check.c (grub_script_break): New function.
14427
14428 * tests/grub_script_break.in: New testcase.
14429 * conf/tests.rmk: Rules for new test case.
14430
f12c8420
BC
144312010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14432
14433 Function parameters support to GRUB script.
14434
14435 * script/yylex.l (VARIABLE): Regular expression update.
14436 * script/function.c (grub_script_function_call): Moved ...
14437 * script/execute.c (grub_script_function_call): ... to here.
14438 (grub_script_execute_arglist_to_argv): Removed.
14439 (grub_script_arglist_to_argv): New function.
14440 * script/argv.c: New file.
14441 (grub_script_argv_free): New function.
14442 (grub_script_argv_next): Likewise.
14443 (grub_script_argv_append): Likewise.
14444 (grub_script_argv_split_append): Likewise.
14445 * include/grub/script_sh.h (grub_script_argv): New struct.
14446 (grub_script_argv_free): New function.
14447 (grub_script_argv_next): Likewise.
14448 (grub_script_argv_append): Likewise.
14449 (grub_script_argv_split_append): Likewise.
14450
14451 * conf/common.rmk (normal.mod): New source script/argv.c.
14452
14453 * tests/grub_script_echo1.in: More tests.
14454 * tests/grub_script_vars1.in: Likewise.
14455 * tests/grub_script_functions.in: New test case.
14456 * conf/tests.rmk: Rules for new testcase.
14457
8022b748
BC
144582010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14459
14460 Remove grub_script_cmdblock struct.
14461
14462 * include/grub/script_sh.h: Remove grub_script_cmdblock.
14463 * script/parser.y: Likewise.
14464 * script/execute.c: Rename cmdblock suffix to cmdlist.
14465 * script/script.c: Likewise.
14466 * util/grub-script-check.c: Likewise.
14467
79a6ba61
YB
144682010-08-11 Yves Blusseau <blusseau@zetam.org>
14469
14470 * .bzrignore: add grub-macho2img
14471
d04b9414
VS
144722010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
14473
14474 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
14475
f947ab49
VS
144762010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
14477
14478 Remove the dump of sm712 initialisation sequence.
14479
14480 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
14481 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
14482 (GRUB_VGA_IO_MISC_WRITE): Likewise.
14483 (GRUB_VGA_CR_*): Added many registers.
14484 (GRUB_VGA_SR_*): Likewise.
14485 (GRUB_VGA_GR_*): Likewise.
14486 (grub_vga_write_arx): New function.
14487 (grub_video_hw_config): New struct.
14488 (grub_vga_set_geometry): New function.
14489 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
14490 GRUB_PCI_CLASS_SUBCLASS_VGA.
14491 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
14492 * video/sm712.c (grub_sm712_write_reg): New function
14493 (grub_sm712_read_reg): Likewise.
14494 (grub_sm712_sr_write): Likewise.
14495 (grub_sm712_gr_write): Likewise.
14496 (grub_sm712_cr_write): Likewise.
14497 (grub_sm712_write_arx): Likewise.
14498 (grub_sm712_cr_shadow_write): Likewise.
14499 (grub_sm712_write_dda_lookup): Likewise.
14500 (grub_video_sm712_setup): Initialise the video rather then
14501 blindly replay the dump.
14502 (main) [TEST]: Add a routine to be able to compile as standalone for
14503 tests.
14504 * video/sm712_init.c (sm712_init): Removed.
14505 (sm712_sr_seq1): New array.
14506 (sm712_sr_seq2): Likewise.
14507
f0206638
VS
145082010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
14509
14510 * include/grub/vga.h: Add missing grub/pci.h include.
14511
2764da3b
YB
145122010-08-10 Yves Blusseau <blusseau@zetam.org>
14513
14514 * util/grub-macho2img.c (main): fix typo
14515
cf0c775e
VS
145162010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
14517
14518 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
14519 (grub_vga_gr_read): Likewise.
14520 (grub_vga_cr_write): Likewise.
14521 (grub_vga_cr_read): Likewise.
14522 (grub_vga_sr_write): Likewise.
14523 (grub_vga_sr_read): Likewise.
14524 (grub_vga_palette_read): Likewise.
14525 (grub_vga_palette_write): Likewise.
14526 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
14527 (grub_sm712_sr_read): New function.
14528 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
14529 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
14530
07f360e9
RM
145312010-08-09 Robert Millan <rmh@gnu.org>
14532
14533 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
14534 out unused variables on non-ZFS build.
14535
346c2072
RM
145362010-08-08 Robert Millan <rmh@gnu.org>
14537
14538 Fix path generation for sub-filesystems in ZFS.
14539
14540 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
14541 missing slash.
14542
71175420
RM
145432010-08-08 Robert Millan <rmh@gnu.org>
14544
14545 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
14546
0d8286f3
RM
145472010-08-08 Robert Millan <rmh@gnu.org>
14548
14549 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
14550 exist, issue a proper error message (rely on `ls' for translated
14551 strings).
14552
55dd2924
RM
145532010-08-08 Robert Millan <rmh@gnu.org>
14554
14555 Fix grub-probe invocation.
14556
14557 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
14558
d3dd9e80
RM
145592010-08-04 Robert Millan <rmh@gnu.org>
14560
14561 * configure.ac: Remove checks for getfsstat() and getmntany().
14562 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
14563 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
14564 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
14565 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
14566 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
14567 function.
14568 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
14569 via find_mount_point_from_dir() and getfsstat() / getmntany().
14570
0de22aa9
RM
145712010-08-04 Robert Millan <rmh@gnu.org>
14572
14573 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
14574 (grub_find_zpool_from_mount_point): Merge into ...
14575 (grub_find_zpool_from_dir): ... this.
14576 * kern/emu/misc.c: Likewise.
14577
14578 * kern/emu/misc.c
14579 (grub_make_system_path_relative_to_its_root): Replace
14580 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
14581 with grub_find_zpool_from_dir().
14582 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
14583
62858144
RM
145842010-08-04 Robert Millan <rmh@gnu.org>
14585
14586 Support OpenSolaris in ZFS device resolution.
14587
14588 * configure.ac: Check for getmntany().
14589 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
14590 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
14591 support.
14592
9dd6fd50
RM
145932010-08-03 Robert Millan <rmh@gnu.org>
14594
14595 Fix grub-emu build.
14596
14597 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
14598 * include/grub/emu/misc.h: ... here.
14599
14600 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
14601 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
14602
14603 * util/misc.c: Remove `<grub/util/libzfs.h>'.
14604 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
14605 (grub_get_libzfs_handle): Move to ...
14606 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
14607 (grub_get_libzfs_handle): ... here.
14608
c9f7ff97
BC
146092010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
14610
14611 * script/execute.c (grub_script_execute_cmdline): Check for NULL
14612 as command name case.
14613
a870a783
CW
146142010-08-02 Colin Watson <cjwatson@ubuntu.com>
14615
14616 * disk/raid.c (insert_array): Select unique numbers for named arrays
14617 as well, for use as keys in the disk cache.
14618
c7db243b
RM
146192010-08-01 Robert Millan <rmh@gnu.org>
14620
14621 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
14622 kFreeBSD device name, except on ZFS where the filesystem label is
14623 used.
14624 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
14625 `/boot/zfs/zpool.cache'.
14626 Set mountfrom kernel variable using ${kfreebsd_device}.
14627
f7abdefb
RM
146282010-08-01 Robert Millan <rmh@gnu.org>
14629
14630 Make it even harder to use uninitialized `libzfs_handle' (and
14631 make the interface a bit simpler).
14632
14633 * include/grub/util/misc.h (grub_util_init_libzfs)
14634 (libzfs_handle): Remove.
14635 (grub_get_libzfs_handle): New prototype.
14636
14637 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
14638 attribute.
14639 (grub_util_init_libzfs): Remove.
14640 (grub_get_libzfs_handle): New function.
14641
14642 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
14643 grub_get_libzfs_handle() to obtain a libzfs handle instead of
14644 accessing `libzfs_handle' directly.
14645
c882acc0
RM
146462010-08-01 Robert Millan <rmh@gnu.org>
14647
14648 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
14649 (grub_find_zpool_from_mount_point): New function prototypes.
14650
14651 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
14652 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
14653
14654 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
14655 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
14656 `static' attribute.
14657
14658 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
14659 finding zpool from mount point into ...
14660 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
14661
14662 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
14663 requested path is part of a ZFS pool, use
14664 grub_find_zpool_from_mount_point() to detect its filesystem name,
14665 and generate a path with `/fsname@path' syntax.
14666
8bfe31d8
CW
146672010-08-01 Colin Watson <cjwatson@ubuntu.com>
14668
14669 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
14670 (void) rather than () so that this is a proper prototype.
14671
553df63d
VS
146722010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14673
14674 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
14675
8687cf07
VS
146762010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14677
14678 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
14679 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
14680
ea9be8ea
CW
146812010-08-01 Colin Watson <cjwatson@ubuntu.com>
14682
14683 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
14684
6eea041a
CW
146852010-08-01 Colin Watson <cjwatson@ubuntu.com>
14686
14687 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
14688
2cfb45df
CW
146892010-08-01 Colin Watson <cjwatson@ubuntu.com>
14690
14691 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
14692 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
14693 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
14694 disable gfxpayload.
14695 (Shell-like scripting): Add real content.
14696 (Serial terminal): Suggest `terminal_input serial; terminal_output
14697 serial' rather than putting the two commands on separate lines,
14698 since console input will be inoperative after the first command.
14699 (menuentry): Document --class, --users, and --hotkey options.
14700 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
14701 Vladimir Serbinenko).
14702
7decd202
VS
147032010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
147042010-08-01 Colin Watson <cjwatson@ubuntu.com>
14705
14706 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
14707
c882acc0
RM
147082010-08-01 Robert Millan <rmh@gnu.org>
14709
14710 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
14711 (grub_find_zpool_from_mount_point): New function prototypes.
14712
14713 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
14714 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
14715
14716 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
14717 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
14718 `static' attribute.
14719
14720 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
14721 finding zpool from mount point into ...
14722 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
14723
14724 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
14725 requested path is part of a ZFS pool, use
14726 grub_find_zpool_from_mount_point() to detect its filesystem name,
14727 and generate a path with `/fsname@path' syntax.
14728
deb0caa3
RM
147292010-08-01 Robert Millan <rmh@gnu.org>
14730
14731 Prevent accidental use of uninitialized libzfs_handle.
14732
14733 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
14734 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
14735 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
14736
ce04ef47
CW
147372010-08-01 Colin Watson <cjwatson@ubuntu.com>
14738
14739 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
14740 util/grub.d/10_linux.in). Fixes Debian bug #591093.
14741
ebf53056
RM
147422010-08-01 Robert Millan <rmh@gnu.org>
14743
14744 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 14745
3710bb6b
RM
147462010-07-31 Robert Millan <rmh@gnu.org>
14747
14748 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
14749
8072efeb
RM
147502010-07-31 Robert Millan <rmh@gnu.org>
14751
14752 * kern/emu/misc.c: Add missing license header.
14753
3169f4c7
RM
147542010-07-31 Robert Millan <rmh@gnu.org>
14755
14756 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
14757
14758 * include/grub/util/libnvpair.h: Include `<config.h>'.
14759 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
14760 declaring libnvpair prototypes ourselves.
14761 * include/grub/util/libzfs.h: Include `<config.h>'.
14762 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
14763 declaring libzfs prototypes ourselves.
14764
14765 (libzfs_handle): Moved to ...
14766 * include/grub/util/misc.h (libzfs_handle): ... here.
14767 Include `<grub/util/libzfs.h>'.
14768
c9a00aee
RM
147692010-07-30 Robert Millan <rmh@gnu.org>
14770
14771 * include/grub/emu/misc.h: Add missing license header.
14772
a184f9c8
RM
147732010-07-30 Robert Millan <rmh@gnu.org>
14774
14775 Enable `grub-probe -t device' resolution on ZFS.
14776
14777 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
14778 * include/grub/util/libnvpair.h: New file.
14779 * include/grub/util/libzfs.h: New file.
14780
14781 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
14782 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
14783 `<grub/util/libnvpair.h>'.
14784 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
14785
14786 (find_mount_point_from_dir): New static function.
14787 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
14788 function.
14789 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
14790 find_root_device_from_libzfs() before ressorting to find_root_device().
14791
14792 * include/grub/util/misc.h (grub_util_init_libzfs): New function
14793 prototype.
14794 * util/misc.c: Include `<grub/util/libzfs.h>'.
14795 (grub_util_init_libzfs): New function.
14796 [HAVE_LIBZFS] (libzfs_handle): New global variable.
14797 [HAVE_LIBZFS] (fini_libzfs): New static function.
14798 (grub_util_init_libzfs): New function.
14799 * util/grub-probe.c (main): Call grub_util_init_libzfs().
14800
f7790cdd
RM
148012010-07-30 Robert Millan <rmh@gnu.org>
14802
14803 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
14804 (xmalloc, xrealloc, xstrdup, xasprintf): Add
14805 `warn_unused_result' attribute.
14806 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
14807 (grub_xasprintf, grub_xvasprintf): Likewise.
14808 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
14809
0806b63c
RM
148102010-07-29 Robert Millan <rmh@gnu.org>
14811
14812 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
14813 (probe): Handle `PRINT_FS_LABEL'.
14814 (main): Handle `-t fs_label'.
14815
9f841f5c
RM
148162010-07-29 Robert Millan <rmh@gnu.org>
14817
14818 * configure.ac: Remove grub-mkisofs checks.
14819
46371121
VS
148202010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
14821
14822 * util/ieee1275/grub-install.in: Don't use empty grub_device.
14823 Reported by: Lennart Sorensen.
14824
148252010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14826
14827 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
14828 prior to terminal_input/terminal_output separation. It's been over 1.5
14829 years and those versions weren't widely deployed.
14830
a9600892
CW
148312010-07-22 Colin Watson <cjwatson@ubuntu.com>
14832
14833 * disk/raid.c (insert_array): Don't count named arrays when looking
14834 for unused array numbers.
697e053c 14835 Reported and tested by: Michael Guntsche.
a9600892 14836
c03507df
CW
148372010-07-20 Colin Watson <cjwatson@ubuntu.com>
14838
14839 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
14840 implementation of this so that grub-emu links again, with a note
14841 that this should support hotplugging in the future.
14842
b26f1c11
CW
148432010-07-20 Colin Watson <cjwatson@ubuntu.com>
14844
14845 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
14846
efc9d7f1
CW
148472010-07-20 Colin Watson <cjwatson@ubuntu.com>
14848
14849 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
14850 handle on failure.
14851 (grub_loopback_close): Remove empty function.
14852 (grub_loopback_dev): Remove close method.
14853
dd8ff5c9
CW
148542010-07-20 Colin Watson <cjwatson@ubuntu.com>
14855
14856 Disable EFI cursor when the EFI console becomes inactive.
14857
14858 * term/efi/console.c (grub_efi_console_init): New function.
14859 (grub_efi_console_fini): New function.
14860 (grub_console_term_output): Register init and fini methods.
14861
5e3bec67
VS
148622010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14863
14864 * tests/util/grub-shell-tester.in: Remove bashism and declare as
14865 sh script.
14866
afaec079
VS
148672010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14868
14869 * disk/loopback.c (grub_loopback): Replace filename with file.
14870 (delete_loopback): Handle new semantics.
14871 (grub_cmd_loopback): Likewise.
14872 (grub_loopback_iterate): Likewise.
14873 (grub_loopback_close): Likewise.
14874
a6a11f3c
VS
148752010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14876
14877 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
14878 with -p "".
14879 Reported by: Tito Keitel.
14880
64a638b0
VS
148812010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14882
14883 * docs/grub.texi (Naming convention): Document new naming convention.
14884
ab8ba957
VS
148852010-07-20 Vadim Solomin <vadic052@gmail.com>
148862010-07-20 Colin Watson <cjwatson@ubuntu.com>
14887
14888 Generate device.map in something closer to the old ordering.
14889
14890 * util/deviceiter.c (struct device): New declaration.
14891 (compare_file_names): Rename to ...
14892 (compare_devices): ... this. Sort by kernel name in preference to
14893 the stable by-id name, but keep the latter as a fallback comparison.
14894 Update header comment.
14895 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
14896 of `struct device' rather than of plain file names.
14897
a29d6a4b
TF
148982010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
14899
14900 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
14901 on i386.
14902
39d824e8
VS
149032010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14904
14905 * commands/acpi.c (setup_common_tables): Use sizeof instead of
14906 hardcoding size.
14907 (setv1table): Likewise.
14908
f058276b
FZ
149092010-07-20 Colin Watson <cjwatson@ubuntu.com>
14910
14911 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
14912 removing the homehost if present.
14913 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
14914 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
14915 removing the homehost if present.
14916 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
14917 if possible.
14918 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
14919
14920 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
14921 parameter. Set its pointer target to 0.
14922 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
14923 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
14924 `data_offset' value from the superblock for 1.x metadata.
14925 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
14926 data on the device.
14927 (insert_array): Record the start sector of data on the device.
14928 (grub_raid_register): Pass start_sector parameters to
14929 grub_raid_list->detect and insert_array.
14930 * include/grub/raid.h (struct grub_raid_array): Add start_sector
14931 member.
14932 (struct grub_raid): Add start_sector parameter to `detect'.
14933
14934 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
14935 __attribute__ ((packed)), leaving a comment.
14936 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
14937 (grub_mdraid_detect_09): ... here and ...
14938 (grub_mdraid_detect_1x): ... here.
14939
149402010-07-20 Peter Henn <peter.henn@web.de>
14941
14942 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
14943 chunk size and disk size, which are already given as sector counts
14944 as distinct from the 0.90 units. Fetch the correct device number
14945 from the role table instead of using the table index.
14946
149472010-07-20 Felix Zielcke <fzielcke@z-51.de>
14948
14949 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
14950 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
14951 (WriteMostly1): New macro.
14952 Set array->name to NULL for metadata format 0.90. Add support for
14953 metadata 1.x. Fix some comments.
14954 * disk/raid.c (): Add support for name based RAID arrays. Fix a
14955 few comments.
14956 * util/getroot.c (grub_util_get_grub_dev): Add support for
14957 /dev/md/name style devices.
14958
4b761da9
CW
149592010-07-20 Colin Watson <cjwatson@ubuntu.com>
14960
14961 * .bzrignore: Ignore 20_linux_xen.
14962
5771289a
CW
149632010-07-17 Colin Watson <cjwatson@ubuntu.com>
14964
14965 * util/import_unicode.py: Remove unnecessary imports.
14966
5dab68df
AN
149672010-07-17 Aleš Nesrsta <starous@volny.cz>
14968
14969 Hotplugging and USB hub support.
14970
14971 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
14972 (grub_ohci): Likewise.
14973 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
14974 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
14975 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
14976 (GRUB_OHCI_CTRL_EDS): Likewise.
14977 (GRUB_OHCI_BULK_EDS): Likewise.
14978 (GRUB_OHCI_TDS): Likewise.
14979 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
14980 (grub_ohci_ed_phys2virt): New function.
14981 (grub_ohci_virt_to_phys): Likewise.
14982 (grub_ohci_td_phys2virt): Likewise.
14983 (grub_ohci_td_virt2phys): Likewise.
14984 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
14985 attachment.
14986 (grub_ohci_find_ed): New function.
14987 (grub_ohci_alloc_td): Likewise.
14988 (grub_ohci_free_td): Likewise.
14989 (grub_ohci_free_tds): Likewise.
14990 (grub_ohci_transfer): Use previously allocated memory.
14991 (grub_ohci_portstatus): Reset status changed bit.
14992 (grub_ohci_detect_dev): Supply status changed.
14993 (grub_ohci_fini_hw): Free memory.
14994 (grub_ohci_restore_hw): Reallocate memory.
14995 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
14996 Reset status change.
14997 (grub_uhci_detect_dev): Supply status_change.
14998 * bus/usb/usb.c (attach_hooks): New var.
14999 (grub_usb_device_attach): New function.
15000 (grub_usb_register_attach_hook_class): Likewise.
15001 (grub_usb_unregister_attach_hook_class): Likewise.
15002 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
15003 (grub_usb_add_hub): Reset connection changed bit.
15004 (attach_root_port): New function.
15005 (grub_usb_root_hub): Likewise.
15006 (poll_nonroot_hub): Likewise.
15007 (grub_usb_poll_devices): Likewise.
15008 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
15009 * disk/usbms.c (grub_usbms_open): Use device hooks.
15010 (grub_usbms_iterate) :Poll devices.
15011 (grub_usbms_finddevs): Split into ...
15012 (grub_usbms_attach): ... this ...
15013 (grub_usbms_attach): ... and this.
15014 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
15015 in detect_dev.
15016 (grub_usb_interface): New fields attached and detach_hook.
15017 (grub_usb_attach_hook_class): New type.
15018 (grub_usb_attach_desc): New struct.
15019 (grub_usb_register_attach_hook_class): New function.
15020 (grub_usb_unregister_attach_hook_class): Likewise.
15021 (grub_usb_poll_devices): Likewise.
15022 (grub_usb_device_attach): Likewise.
15023 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
15024 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
15025
3222efaf
VS
150262010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15027
15028 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
15029 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
15030 delta determination style. Works with most NetBSD partitions too.
15031
139b714a
VS
150322010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15033
15034 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
15035 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
15036
986aad56
VS
150372010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15038
15039 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
15040
99be513c
AB
150412010-07-14 Anton Blanchard <anton@samba.org>
15042
15043 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
15044 ET_DYN files.
15045
18075f62
GS
150462010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15047
15048 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
15049
8d9a5b15
GS
150502010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15051
15052 * kern/partition.c (grub_partition_check_containment): New function to
15053 check that a partition is physically contained in a parent. Since
15054 offsets are relative (and non-negative), this reduces to checking that
15055 the partition ends before its parent.
15056 (grub_partition_map_probe): Discard out-of-range sub-partitions.
15057 (grub_partition_iterate): Likewise.
15058 * include/grub/partition.h (grub_partition_map): Slightly more detailed
15059 comments.
15060 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
15061 partitions that start before their parent, and add debug printfs.
15062
19563c25
CW
150632010-07-13 Colin Watson <cjwatson@ubuntu.com>
15064
15065 * Makefile.in (.SUFFIX): Spell correctly, as ...
15066 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
15067 bare module name without `.mod', e.g. `test') tried to invoke a
15068 Modula-2 compiler.
15069
1a1f1e67
CW
150702010-07-13 Colin Watson <cjwatson@ubuntu.com>
15071
15072 * README: Point to the Info manual.
15073
811b0dca
JS
150742010-07-13 Jiro SEKIBA <jir@unicus.jp>
15075
15076 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
15077 2nd superblock position from partition size.
15078
e4f4eafc
CW
150792010-07-10 Colin Watson <cjwatson@ubuntu.com>
15080
15081 * Makefile.in (MAINTAINER_CLEANFILES): Remove
15082 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
15083 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
15084 outputs.
15085
4274c30f
VS
150862010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15087
15088 Restructure SCSI .id handling.
15089 Reported and tested by: Aleš Nesrsta.
15090
15091 * disk/ata.c (grub_atapi_close): Removed. All users updated.
15092 (grub_atapi_dev): Changed .name to "ata". New field .id.
15093 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
15094 (grub_usbms_dev): New field .id.
15095 * disk/scsi.c (grub_scsi_iterate): Generate name.
15096 (grub_scsi_open): Parse name.
15097 * include/grub/scsi.h (grub_make_scsi_id): New function.
15098 (grub_scsi_dev): Change iterate and open to number instead of naming
15099 busses. All users updated.
15100 (grub_scsi): Remove name. Add .bus.
15101
5bc24388
VS
151022010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15103
15104 * commands/help.c (grub_cmd_help): Fix a typo.
15105
249975ba
VS
151062010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15107
15108 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
15109 Reported and tested by: Colin Watson.
15110
3eaac1a1
VS
151112010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15112
15113 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
15114 in this context.
15115
becce1b1
VS
151162010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15117
15118 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
15119
f7bf0918
CW
151202010-07-07 Colin Watson <cjwatson@ubuntu.com>
15121
15122 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
15123 indentation.
15124
0b0f9620
CW
151252010-07-06 Colin Watson <cjwatson@ubuntu.com>
15126
15127 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
15128 and disk/raid6_recover.c.
15129 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15130 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15131
1e545469
CW
151322010-07-06 Colin Watson <cjwatson@ubuntu.com>
15133
15134 * term/gfxterm.c (repaint_schedulded): Rename to ...
15135 (repaint_scheduled): ... this. Update all callers.
15136 (repaint_was_schedulded): Rename to ...
15137 (repaint_was_scheduled): ... this. Update all callers.
15138
5357687a
CW
151392010-07-06 Colin Watson <cjwatson@ubuntu.com>
15140
15141 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
15142 which we expect to be handled by upper layers.
15143
29d7e783
BC
151442010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
15145
15146 * bus/usb/usbhub.c: #include time.h header.
15147
37582066
CW
151482010-07-06 Colin Watson <cjwatson@ubuntu.com>
15149
15150 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
15151 entry_name also for entries without stat blocks (e.g. ".."); fixes
15152 corruption of the first entry in a directory.
15153
c8c06953
CW
151542010-07-06 Colin Watson <cjwatson@ubuntu.com>
15155
15156 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
15157 after setting gfxterm as the active terminal. GRUB_BACKGROUND
15158 doesn't work otherwise.
15159
e75056f1
CW
151602010-07-05 Colin Watson <cjwatson@ubuntu.com>
15161
15162 * docs/grub.texi (Features): Update list of supported file systems.
15163 (GNU/Linux): Update for GRUB 2.
15164 (Serial terminal): Remove mention of --disable-serial, which was a
15165 GRUB Legacy configure option. Update instructions to use
15166 `terminal_input' and `terminal_output' rather than `terminal'.
15167 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
15168 configuration' and `Installing GRUB using grub-install'.
15169 (Menu entry editor): Update for GRUB 2.
15170 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
15171 Document new -a, -u, and -v options.
15172 (initrd): New section.
15173 (initrd16): New section.
15174 (linux): New section.
15175 (linux16): New section.
15176 (search): The `var' argument to `--set' is optional.
15177 (GRUB only offers a rescue shell): Go into a little more detail on
15178 drive ordering.
15179
5cf69151
CW
151802010-07-05 Colin Watson <cjwatson@ubuntu.com>
15181
15182 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
15183
e3f90044
CW
151842010-07-05 Colin Watson <cjwatson@ubuntu.com>
15185
15186 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
15187 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
15188
38d8f4f3
CW
151892010-07-05 Colin Watson <cjwatson@ubuntu.com>
15190
15191 * util/i386/pc/grub-setup.c (setup): Rename prefix to
15192 install_prefix, in line with install_dos_part and install_bsd_part.
15193 Add new prefix variable, which is copied to install_prefix after
15194 comparing core.img in memory with the one read from disk in the
15195 no-embedding case, and use that rather than overwriting
15196 install_prefix immediately when installing to a partition.
15197 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
15198 Bicakci.
15199
57ebd41e
GS
152002010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15201
15202 * configure.ac: Avoid == in test command, it's not portable.
15203 * util/grub.d/30_os-prober.in: Likewise.
15204
cb7f64b2
CW
152052010-07-04 Colin Watson <cjwatson@ubuntu.com>
15206
15207 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
15208
6b654bb0
GS
152092010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15210
15211 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
15212 multiple (top-level) partmaps.
15213
72a2026d
VS
152142010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15215
15216 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 15217 Reported by: Tino Keitel.
72a2026d 15218
df3eb88f
VS
152192010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15220
15221 Bidi and diacritics support.
15222
15223 * Makefile.in (widthspec.bin): New target.
15224 (widthspec.h): Likewise.
15225 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
15226 * autogen.sh: Generate unidata.c.
15227 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
15228 * commands/ls.c (grub_ls_list_devices): Likewise.
15229 (grub_ls_list_files): Likewise.
15230 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
15231 (grub_mini_cmd_lsmod): Likewise.
15232 * commands/read.c: Likewise.
15233 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
15234 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
15235 * lib/arg.c (grub_arg_show_help): Likewise.
15236 * lib/crypto.c (grub_password_get): Likewise.
15237 * normal/auth.c (grub_username_get): Likewise.
15238 * normal/misc.c (grub_normal_print_device_info): Likewise.
15239 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
15240 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
15241 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
15242 (normal/charset.c_DEPENDENCIES): New variable.
15243 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
15244 (pkglib_MODULES): Remove charset.mod.
15245 (charset_mod_SOURCES): Removed.
15246 (charset_mod_CFLAGS): Likewise.
15247 (charset_mod_LDFLAGS): Likewise.
15248 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
15249 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
15250 and term/tparm.c.
15251 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15252 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15253 (kernel_img_HEADERS): Add terminfo.h.
15254 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
15255 Fill ->font. Reverse ascii bitmaps.
15256 (grub_font_get_xheight): New function.
15257 * font/font.c (grub_font_get_string_width): Moved from here ...
15258 * gfxmenu/font.c (grub_font_get_string_width): ... here.
15259 * font/font.c (grub_font_draw_string): Moved from here ...
15260 * gfxmenu/font.c (grub_font_draw_string): ... here.
15261 * font/font.c (grub_font_dup_glyph): New function.
15262 (grub_font_blit_glyph): Likewise.
15263 (grub_font_blit_glyph_mirror): Likewise.
15264 (blit_comb): Likewise.
15265 (grub_font_construct_dry_run): Likewise.
15266 (grub_font_get_constructed_device_width): Likewise.
15267 (grub_font_construct_glyph): Likewise.
15268 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
15269 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
15270 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
15271 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
15272 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
15273 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
15274 (grub_font_get_xheight): New proto.
15275 (grub_font_get_constructed_device_width): Likewise.
15276 (grub_font_construct_glyph): Likewise.
15277 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
15278 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
15279 * include/grub/font.h (grub_font_draw_string): Moved from here ...
15280 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
15281 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
15282 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
15283 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
15284 (grub_console_getcharwidth): Likewise.
15285 * include/grub/misc.h (grub_xputs): New proto.
15286 (grub_puts): Inlined.
15287 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
15288 (grub_normal_get_line_counter): Removed.
15289 (grub_install_newline_hook): Likewise.
15290 (grub_normal_get_char_counter): New proto.
15291 (grub_normal_reset_more): Likewise.
15292 (grub_xputs_normal): Likewise.
15293 * include/grub/powerpc/ieee1275/console.h: Removed.
15294 * include/grub/sparc64/ieee1275/console.h: Likewise.
15295 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
15296 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
15297 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
15298 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
15299 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
15300 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
15301 (grub_term_input): Pass reference to self. All users updated.
15302 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
15303 Pass reference to self. New fields normal_color, highlight_color and
15304 data. All users updated.
15305 (grub_putchar): Removed.
15306 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
15307 (grub_unicode_estimate_width): New function.
15308 (grub_term_getcharwidth): Add defaults.
15309 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
15310 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
15311 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
15312 (grub_cls): Remove EXPORT_FUNC.
15313 (grub_setcolorstate): Inline.
15314 (grub_newline_hook): Removed.
15315 * include/grub/terminfo.h: Rewritten. All users updated.
15316 * include/grub/unicode.h: New file.
15317 * include/grub/video.h (grub_video_signed_rect): New type.
15318 * kern/emu/console.c (grub_console_highlight_color): Removed.
15319 (grub_console_normal_color): Likewise.
15320 (grub_console_standard_color): Made static.
15321 (grub_ncurses_putchar): Remove mapping.
15322 (grub_ncurses_getcharwidth): Removed.
15323 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
15324 (grub_ncurses_setcolor): Removed.
15325 (grub_ncurses_getcolor): Likewise.
15326 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
15327 (grub_console_putchar): ... this.
15328 (grub_console_putchar): Handle argument difference.
15329 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
15330 console_init_early and console_init_lately.
15331 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
15332 * kern/misc.c (grub_puts): Removed.
15333 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
15334 (grub_vsnprintf_real): Remove str = NULL support.
15335 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
15336 * normal/charset.c (grub_utf8_to_ucs4): ... here.
15337 * kern/term.c (grub_putcode): Renamed to ...
15338 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
15339 (grub_putchar): Removed.
15340 (grub_xputs_dumb): New function.
15341 (grub_xputs): New variable.
15342 * lib/charset.c: Move from here ...
15343 * normal/charset.c: ... to here.
15344 (grub_ucs4_to_utf8): New function.
15345 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
15346 (join_types): New variable.
15347 (unpack_join): New function.
15348 (bidi_types): New variable.
15349 (unpack_bidi): New function.
15350 (get_bidi_type): Likewise.
15351 (get_join_type): Likewise.
15352 (is_mirrored): Likewise.
15353 (grub_unicode_get_comb_type): Likewise.
15354 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
15355 (is_type_after): Likewise.
15356 (grub_unicode_aglomerate_comb): Likewise.
15357 (bidi_line_wrap): Likewise.
15358 (grub_bidi_line_logical_to_visual): Likewise.
15359 (grub_bidi_logical_to_visual): Likewise.
15360 (grub_unicode_mirror_code): Likewise.
15361 (grub_unicode_shape_code): Likewise.
15362 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
15363 Don't use grub_putchar.
15364 * normal/main.c (grub_normal_init_page): Use grub_putcode.
15365 (grub_normal_reader_init): Likewise.
15366 (grub_xputs_saved): New variable.
15367 (GRUB_MOD_INIT): Set grub_xputs.
15368 (GRUB_MOD_FINI): Restore grub_xputs.
15369 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
15370 (menu_init): Avoid printing gfxmenu error.
15371 (show_menu): Use grub_normal_get_char_counter.
15372 * normal/menu_entry.c (update_screen): Fix out-of-array.
15373 (complete): Avoid NULL dereferencing.
15374 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
15375 * normal/menu_text.c (print_spaces): Removed.
15376 (grub_print_ucs4): Likewise.
15377 (grub_print_message_indented): Use grub_print_ucs4.
15378 (print_message): Use grub_putcode.
15379 (print_entry): Hanlde diacritics.
15380 * normal/term.c (term_state): New type.
15381 (grub_more_lines): Removed.
15382 (term_states): New variable.
15383 (grub_normal_line_counter): Renamed to ..
15384 (grub_normal_char_counter): ...this. All users updated.
15385 (grub_normal_get_line_counter): Renamed to ...
15386 (grub_normal_get_char_counter): ... this.
15387 (grub_normal_reset_more): New function.
15388 (process_newline): Removed.
15389 (print_more): New function.
15390 (grub_install_newline_hook): Removed.
15391 (map_code): New function.
15392 (grub_puts_terminal): Use grub_print_ucs4.
15393 (putglyph): New function.
15394 (putcode_real): Likewise.
15395 (grub_putcode): Use putcode_real.
15396 (get_maxwidth): New function.
15397 (get_startwidth): Likewise.
15398 (print_ucs4_terminal): Likewise.
15399 (find_term_state): Likewise.
15400 (put_glyphs_terminal): Likewise.
15401 (print_backlog): Likewise.
15402 (print_ucs4_real): Likewise.
15403 (grub_print_ucs4): Likewise.
15404 (grub_xputs_normal): Likewise.
15405 * term/efi/console.c (grub_console_putchar): Output diacritics.
15406 (grub_console_getcharwidth): Removed.
15407 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
15408 * term/gfxterm.c (clear_char): Free chars.
15409 (scroll_up): Avoid leaking memory.
15410 (grub_gfxterm_putchar): Support diacritics.
15411 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
15412 * term/i386/pc/console.c (grub_console_term_output): Declare as
15413 GRUB_TERM_CODE_TYPE_VGA.
15414 * term/i386/pc/vga.c (grub_vga_term): Declare as
15415 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
15416 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
15417 GRUB_TERM_CODE_TYPE_VGA.
15418 * term/i386/vga_common.c (map_char): Removed.
15419 (grub_console_putchar): Likewise.
15420 (grub_console_getcharwidth): Likewise.
15421 * term/ieee1275/ofconsole.c: Simplify using terminfo.
15422 (colors): Reordered to match terminfo.
15423 (grub_ofconsole_normal_color): Removed.
15424 (grub_ofconsole_writeesc): Likewise.
15425 (grub_ofconsole_highlight_color): Likewise.
15426 (grub_ofconsole_getcharwidth): Likewise.
15427 (grub_ofconsole_setcolorstate): Likewise.
15428 (grub_ofconsole_setcolor): Likewise.
15429 (grub_ofconsole_getcolor): Likewise.
15430 (grub_ofconsole_readkey): Renamed to ...
15431 (readkey): ... this. Remove escape sequence handling. Return -1 on no
15432 key.
15433 (grub_ofconsole_checkkey): Removed.
15434 (grub_ofconsole_getkey): Likewise.
15435 (grub_ofconsole_getxy): Likewise.
15436 (grub_ofconsole_gotoxy): Likewise.
15437 (grub_ofconsole_cls): Likewise.
15438 (grub_ofconsole_refresh): Likewise.
15439 (grub_ofconsole_terminfo_input): New struct.
15440 (grub_ofconsole_terminfo_output): Likewise.
15441 (grub_ofconsole_term_input): Use terminfo.
15442 (grub_ofconsole_term_output): Likewise.
15443 (grub_console_init): Split into ...
15444 (grub_console_init_early): ...this and ...
15445 (grub_console_init_lately): ...this. Use terminfo.
15446 (grub_ofconsole_putchar): Renamed to ...
15447 (put): ... this. Remove mapping.
15448 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
15449 * term/serial.c: Simplify using terminfo.
15450 (xpos): Removed.
15451 (ypos): Likewise.
15452 (keep_track): Likewise.
15453 (registered): Likewise.
15454 (input_buf): Likewise.
15455 (npending): Likewise.
15456 (serial_translate_key_sequence): Likewise.
15457 (fill_input_buf): Likewise.
15458 (grub_serial_checkkey): Likewise.
15459 (grub_serial_getkey): Likewise.
15460 (grub_serial_getxy): Likewise.
15461 (grub_serial_gotoxy): Likewise.
15462 (grub_serial_putchar): Likewise.
15463 (grub_serial_cls): Likewise.
15464 (grub_serial_setcolorstate): Likewise.
15465 (grub_serial_setcursor): Likewise.
15466 (serial_hw_init): Use serial_hw_fetch.
15467 (grub_serial_terminfo_input): New variable.
15468 (grub_serial_terminfo_output): Likewise.
15469 (grub_serial_term_input): Use terminfo.
15470 (grub_serial_term_output): Likewise.
15471 * term/terminfo.c (putstr): Use put.
15472 (grub_terminfo_all_free): New function
15473 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
15474 (grub_terminfo_output_register): New function.
15475 (grub_terminfo_output_unregister): Likewise.
15476 (grub_terminfo_getxy): Likewise.
15477 (grub_terminfo_readkey): Likewise.
15478 (grub_terminfo_checkkey): Likewise.
15479 (grub_terminfo_getkey): Likewise.
15480 (grub_terminfo_input_init): Likewise.
15481 (print_terminfo): Likewise.
15482 (grub_cmd_terminfo): Handle encoding.
15483 (grub_terminfo_gotoxy): Track position.
15484 (grub_terminfo_cls): Likewise.
15485 (grub_terminfo_putchar): Likewise.
15486 (grub_terminfo_setcolorstate): Handle colors
15487 (grub_terminfo_cursor_on): This ...
15488 (grub_terminfo_cursor_off): ... and this merged into ...
15489 (grub_terminfo_setcursor): ... this.
15490 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
15491 * unicode/ArabicShaping.txt: New file (imported from Unicode).
15492 * unicode/BidiMirroring.txt: Likewise.
15493 * unicode/UnicodeData.txt: Likewise.
15494 * unicode/COPYING: Likewise.
15495 * util/grub-editenv.c (grub_putchar): Removed.
15496 (grub_xputs_real): New function.
15497 (grub_xputs): New variable.
15498 * util/grub-fstest.c (grub_putchar): Removed.
15499 (grub_xputs_real): New function.
15500 (grub_xputs): New variable.
15501 * util/grub-mkdevicemap.c (grub_putchar): Removed.
15502 (grub_xputs_real): New function.
15503 (grub_xputs): New variable.
15504 * util/grub-probe.c (grub_putchar): Removed.
15505 (grub_xputs_real): New function.
15506 (grub_xputs): New variable.
15507 * util/grub-script-check.c (grub_putchar): Removed.
15508 (grub_xputs_real): New function.
15509 (grub_xputs): New variable.
15510 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
15511 (grub_xputs_real): New function.
15512 (grub_xputs): New variable.
15513 * util/import_unicode.py: New file.
15514 * util/grub-mkfont.c (ft_errmsgs): New array.
15515 (grub_glyph_info): Make bitmap a pointer.
15516 (file_formats): New type WIDTH_SPEC.
15517 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
15518 (options): Add width-spec.
15519 (help): Likewise.
15520 (add_char): Renamed to ...
15521 (add_glyph): ... this.
15522 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
15523 (glyph_replace): New type.
15524 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
15525 (add_char): New function.
15526 (add_subst): Likewise.
15527 (process_cursive): Likewise.
15528 (add_font): Handle GSUB.
15529 (write_font_width_spec): New function.
15530 (main): Sort glyphs.
15531 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
15532 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
15533 * kern/term.c (grub_cls): Moved from here...
15534 * normal/term.c (grub_cls): ... here.
15535
50f0bcda
CW
155362010-07-02 Colin Watson <cjwatson@ubuntu.com>
15537
15538 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
15539 suitable for using within the format argument of printf when
15540 converting grub_size_t.
15541 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
15542 "x" to convert grub_size_t arguments.
15543
40372103
VS
155442010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15545
15546 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
15547 too long captions.
15548 (list_get_minimal_size): Take selection box into account.
15549
942a10c7
VS
155502010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15551
15552 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
15553 NULL font.
15554
2bdb2892
CW
155552010-07-02 Colin Watson <cjwatson@ubuntu.com>
15556
15557 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
15558 devices when iterating over /dev/disk/by-id; they will be handled
15559 later if appropriate, which they aren't always (e.g. LVM).
15560
e03ed6c1
CW
155612010-07-02 Colin Watson <cjwatson@ubuntu.com>
15562
15563 * include/grub/misc.h (grub_reboot): Declare as noreturn.
15564 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
15565 fails.
15566 (grub_halt): Likewise.
15567 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
15568 reset-all fails.
15569 (grub_halt): Don't return, even if all of shut-down, power-off, and
15570 poweroff fail.
15571
47695765
CW
155722010-07-02 Colin Watson <cjwatson@ubuntu.com>
15573
15574 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
15575 arguments, not three.
15576
507736c8
CW
155772010-07-02 Colin Watson <cjwatson@ubuntu.com>
15578
15579 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
15580 * util/grub.d/10_linux.in: Use it to check for LVM, so that
15581 LVM-on-RAID is handled correctly.
15582
e3c8cd37
CW
155832010-07-02 Colin Watson <cjwatson@ubuntu.com>
15584
15585 * docs/grub.texi (Changes from GRUB Legacy): New section.
15586 (Future): Fix typo.
15587
8d4a2fec
CW
155882010-07-02 Colin Watson <cjwatson@ubuntu.com>
15589
15590 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
15591 grub.d/README accidentally ends up executable for one reason or
15592 another. Ignore it.
15593
1c4827be
VS
155942010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15595
15596 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
15597 (gpt_partition_map_iterate): Support non-512B sectors.
15598
d9a0c941
VS
155992010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15600
15601 * kern/efi/init.c (grub_efi_init): Disable watchdog.
15602 Tested by: Seth Goldberg.
15603
48f27e87
VS
156042010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15605
15606 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
15607 Properly align mbi.
15608 Reported by: Seth Goldberg.
15609
b0c4f956
VS
156102010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
15611
15612 * util/grub-mkrescue.in: Avoid module duplication.
15613
105a2e8c
SF
156142010-07-01 Sean Finney <seanius@seanius.net>
15615
15616 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
15617
5944958c
SF
156182010-07-01 Sean Finney <seanius@seanius.net>
15619
15620 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
15621
156222010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
15623
15624 * disk/lvm.c (grub_lvm_checkvalue): New function.
15625 (grub_lvm_check_flag): Likewise.
15626
b79889ba
RM
156272010-07-01 Robert Millan <rmh@gnu.org>
15628
15629 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
15630 Support 'p' as partition separator on kernel of FreeBSD (used
15631 with GPT labels).
15632 (grub_util_biosdisk_get_grub_dev): Likewise.
15633
ec1d04f1
VS
156342010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
15635
15636 Yeeloong firmware port.
15637
15638 * boot/mips/yeeloong/fwstart.S: New file.
15639 * bus/cs5536.c (gpiodump): New const.
15640 (set_io_space): New function.
15641 (set_iod): Likewise.
15642 (set_p2d): Likewise.
15643 (grub_cs5536_init_geode): Likewise.
15644 * commands/mips/yeeloong/lsspd.c: New file.
15645 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
15646 (serial_mod_SOURCES): New variable.
15647 (serial_mod_CFLAGS): Likewise.
15648 (serial_mod_LDFLAGS): Likewise.
15649 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
15650 term/terminfo.c and term/tparm.c.
15651 (pkglib_IMAGES): Add fwstart.img.
15652 (fwstart_img_SOURCES): New variable.
15653 (fwstart_img_CFLAGS): Likewise.
15654 (fwstart_img_ASFLAGS): Likewise.
15655 (fwstart_img_LDFLAGS): Likewise.
15656 (fwstart_img_FORMAT): Likewise.
15657 (pkglib_MODULES): Add lsspd.mod.
15658 (lsspd_mod_SOURCES): New variable.
15659 (lsspd_mod_CFLAGS): Likewise.
15660 (lsspd_mod_LDFLAGS): Likewise.
15661 (pkglib_MODULES): Add halt.mod.
15662 (halt_mod_SOURCES): New variable.
15663 (halt_mod_CFLAGS): Likewise.
15664 (halt_mod_LDFLAGS): Likewise.
15665 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
15666 (serial_mod_SOURCES): Removed.
15667 (serial_mod_CFLAGS): Likewise.
15668 (serial_mod_LDFLAGS): Likewise.
15669 * disk/ata.c (check_device): New function.
15670 (grub_ata_device_initialize): Use check_device.
15671 (grub_ata_iterate): Recheck devices.
15672 (grub_ata_open): Likewise.
15673 (grub_atapi_iterate): Likewise.
15674 (grub_atapi_open): Likewise.
15675 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
15676 (GRUB_ATA_CH1_PORT1): Likewise.
15677 (GRUB_ATA_CH0_PORT2): Likewise.
15678 (GRUB_ATA_CH1_PORT2): Likewise.
15679 * include/grub/mips/loongson.h: New file.
15680 * include/grub/mips/yeeloong/ec.h: Likewise.
15681 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
15682 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
15683 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
15684 * include/grub/misc.h (grub_halt): Declare as noreturn.
15685 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
15686 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
15687 (UART_ENABLE_FIFO_TRIGGER1): New definition.
15688 (UART_ENABLE_DTRRTS): Likewise.
15689 (UART_ENABLE_MODEM): Removed.
15690 (UART_ENABLE_OUT2): New const.
15691 * include/grub/term.h (grub_term_register_input_active): New function.
15692 (grub_term_register_output_active): Likewise.
15693 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
15694 argument.
15695 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
15696 (init_pci): New function.
15697 (grub_machine_init): Execute platform init when firmware. Init serial.
15698 (grub_halt): Implement.
15699 (grub_exit): Likewise.
15700 (grub_reboot): Likewise.
15701 * term/serial.c (serial_hw_init): Update macros.
15702 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
15703 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
15704 (image_targets): New target mipsel-yeeloong-flash.
15705 (generate_image): Support IMAGE_YEELOONG_FLASH.
15706 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
15707 (grub_video_sm712_setup): Init card.
15708 (grub_video_sm712_set_palette): Removed.
15709 * video/sm712_init.c: New file.
15710
ff4a70d2
CW
157112010-06-30 Colin Watson <cjwatson@ubuntu.com>
15712
15713 * Makefile.in (install-local): Temporarily prepend $(builddir) to
15714 PATH when running help2man and then run it on the unadorned
15715 executable names, rather than passing $(builddir)/* paths to
15716 help2man. This avoids the build directory ending up in generated
15717 manual pages.
15718
1246efeb
CW
157192010-06-29 Colin Watson <cjwatson@ubuntu.com>
15720
15721 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
15722 to avoid accidents when debugging with 'sh -x'.
15723 * util/grub-mkrescue.in: Likewise.
15724 * util/grub.d/00_header.in: Likewise.
15725 * util/grub.d/10_hurd.in: Likewise.
15726 * util/grub.d/10_kfreebsd.in: Likewise.
15727 * util/grub.d/10_linux.in: Likewise.
15728 * util/grub.d/10_netbsd.in: Likewise.
15729 * util/grub.d/10_windows.in: Likewise.
15730 * util/grub.d/20_linux_xen.in: Likewise.
15731 * util/grub.d/30_os-prober.in: Likewise.
15732 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15733
1ba9b889
CW
157342010-06-29 Colin Watson <cjwatson@ubuntu.com>
15735
15736 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
15737 last character in the buffer.
15738 Reported by: Vladimir Serbinenko.
15739
dccaf99d
RM
157402010-06-29 Robert Millan <rmh@gnu.org>
15741
15742 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
15743 (Command-line and menu entry commands): Document `badram' command.
15744
d500ed12
RM
157452010-06-28 Robert Millan <rmh@gnu.org>
15746
15747 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
15748 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
15749 command using ${GRUB_BADRAM} as parameter.
15750
20bc84a6
CW
157512010-06-28 Colin Watson <cjwatson@ubuntu.com>
15752
15753 * docs/grub.texi (Device map): New section.
15754 (Themes): New section (stub).
15755 * Makefile.in (docs/grub.info): The info documentation now builds
15756 without errors. Make sure it stays that way.
15757
4045dee1
VS
157582010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
15759
15760 Use normal parser for menu entries.
15761 Reported by: Thomas Frauendorfer
15762
15763 * include/grub/parser.h (grub_parser_execute): Don't export.
15764 * normal/menu.c (grub_menu_execute_entry_real): New function.
15765 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
15766
bca58c7b
CW
157672010-06-28 Colin Watson <cjwatson@ubuntu.com>
15768
15769 * docs/grub.texi (Embedded configuration): New section (replacing
15770 old "Preset Menu" stub).
15771 (Images): New section.
15772 (configfile): Note that any menu entries defined in `file' are shown
15773 immediately.
15774
dec53e63
JT
157752010-06-28 Josh Triplett <josh@joshtriplett.org>
15776
15777 * mmap/i386/pc/mmap_helper.S: Set CF on return.
15778
c06e40f7
CW
157792010-06-28 Colin Watson <cjwatson@ubuntu.com>
15780
15781 * util/grub-install.in: Add --debug-image= option.
15782
cb88052b
CW
157832010-06-28 Colin Watson <cjwatson@ubuntu.com>
15784
15785 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
15786 possible on Linux.
15787
15788 * util/deviceiter.c (check_device): Rename to ...
15789 (check_device_readable_unique): ... this. Update all callers.
15790 Maintain and check a list of which devices (by canonicalized name)
15791 have already been seen.
15792 (clear_seen_devices): New function.
15793 (compare_file_names) [__linux__]: New function.
15794 (grub_util_iterate_devices): Clear the list of seen devices on exit
15795 and (just in case) on entry.
15796 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
15797 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
15798 seen-devices list, superseded by general code in check_device.
15799
bbe34652
CW
158002010-06-28 Colin Watson <cjwatson@ubuntu.com>
15801
15802 * commands/cat.c (options): New variable.
15803 (grub_cmd_cat): Parse options. If the --dos option is given, print
15804 DOS-style "\r\n" line endings as simple newlines (Debian bug
15805 #586358).
15806 (GRUB_MOD_INIT): Use extcmd.
15807 (GRUB_MOD_FINI): Likewise.
15808 * docs/grub.texi (cat): Document --dos.
15809
412e09f3
VS
158102010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
15811
15812 XEN with Linux grub-mkconfig support.
15813
15814 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
15815 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
15816 GRUB_CMDLINE_XEN_DEFAULT.
15817 * util/grub.d/20_linux_xen.in: New file.
15818
53f3ef38 158192010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
15820
15821 Initialise VGA video on qemu ourselves.
15822
15823 * boot/i386/qemu/boot.S: Don't call 0xc000.
15824 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
15825 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
15826 (kernel_img_HEADERS): Add pci.h.
15827 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
15828 * configure.ac: Force unifont on qemu and yeeloong.
15829 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
15830 (grub_vga_palette_write): Use correct register.
15831 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
15832 Call grub_qemu_init_cirrus.
15833 * kern/i386/qemu/init.c: New file.
15834 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
15835
15836 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
15837
c75be4fb
PR
158382010-06-26 Pavel Roskin <proski@gnu.org>
15839
15840 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
15841 13.
15842
d8034603
CW
158432010-06-26 Colin Watson <cjwatson@ubuntu.com>
15844
15845 * docs/grub.texi (Simple configuration): Explain that
15846 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
15847 set to `true' to disable their respective recovery entries, not
15848 merely set.
15849
3fa06487
CW
158502010-06-26 Colin Watson <cjwatson@ubuntu.com>
15851
15852 Make the `source' command slightly faster.
15853
15854 * normal/main.c (grub_normal_execute): Don't re-read list files when
15855 nested.
15856
e9b29642
CW
158572010-06-23 Colin Watson <cjwatson@ubuntu.com>
15858
15859 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
15860 field position and mask size to red fields from mode_info, not
15861 green.
15862 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
15863 Remove redundant tag->common.framebuffer_type assignment.
15864 Reported by: Seth Goldberg.
15865
e726542f
CW
158662010-06-23 Colin Watson <cjwatson@ubuntu.com>
15867
15868 Sync up other versions of the Linux loader with Robert Millan's
15869 change of 2010-01-09, "Make loader output a bit more user-friendly".
15870
15871 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
15872 grub_dprintf().
15873 (grub_cmd_linux): Likewise.
15874 (grub_cmd_initrd): Likewise.
15875 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
15876 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15877
d6e98a17
CW
158782010-06-21 Colin Watson <cjwatson@ubuntu.com>
15879
15880 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
15881 larger than MEMORY_MAP_SIZE.
15882
14d3f08e
BC
158832010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
15884
15885 Fix parallel build.
15886
15887 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
15888 dependency.
15889 * script/parser.y: #include grub_script.tab.h header.
15890
4f9613a3
VS
158912010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
15892
15893 Support >3GiB and <16MiB RAM in i386-qemu.
15894
15895 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
15896 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
15897 (grub_lower_mem): Removed.
15898 (grub_upper_mem): Likewise.
15899 (mem_size): Made static.
15900 (above_4g): New variable.
15901 (grub_machine_mmap_init): Detect small mem_size and above_4g.
15902 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
15903 support.
15904
05e51879
VS
159052010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
15906
15907 Cirrus 5446 and Bochs video cards support.
15908
15909 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
15910 video_bochs.mod
15911 (video_cirrus_mod_SOURCES): New variable.
15912 (video_cirrus_mod_CFLAGS): Likewise.
15913 (video_cirrus_mod_LDFLAGS): Likewise.
15914 (video_bochs_mod_SOURCES): Likewise.
15915 (video_bochs_mod_CFLAGS): Likewise.
15916 (video_bochs_mod_LDFLAGS): Likewise.
15917 * include/grub/vga.h: New file.
15918 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
15919 (grub_video_fb_set_page_t): New type.
15920 (grub_video_fb_setup): New prototype.
15921 (grub_video_fb_swap_buffers): Likewise.
15922 (grub_video_fb_get_info_and_fini): Likewise.
15923 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
15924 (CRTC_DATA_PORT): Likewise.
15925 (CRTC_CURSOR): Likewise.
15926 (CRTC_CURSOR_ADDR_HIGH): Likewise.
15927 (CRTC_CURSOR_ADDR_LOW): Likewise.
15928 (CRTC_CURSOR_DISABLE): Likewise.
15929 (update_cursor): Use grub_vga_cr_write.
15930 (grub_vga_text_setcursor): Likewise.
15931 * video/bochs.c: New file.
15932 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
15933 (palette): Likewise.
15934 (palette_size): Likewise.
15935 (framebuffer): New variable.
15936 (grub_video_fb_init): Use 'framebuffer'.
15937 (grub_video_fb_fini): Likewise.
15938 (grub_video_fb_get_info): Likewise.
15939 (grub_video_fb_get_palette): Likewise.
15940 (grub_video_fb_set_palette): Likewise.
15941 (grub_video_fb_set_viewport): Likewise.
15942 (grub_video_fb_get_viewport): Likewise.
15943 (grub_video_fb_map_color): Likewise.
15944 (grub_video_fb_map_rgb): Likewise.
15945 (grub_video_fb_map_rgba): Likewise.
15946 (grub_video_fb_unmap_color): Likewise.
15947 (grub_video_fb_unmap_color_int): Likewise.
15948 (grub_video_fb_fill_rect): Likewise.
15949 (grub_video_fb_blit_bitmap): Likewise.
15950 (grub_video_fb_blit_render_target): Likewise.
15951 (grub_video_fb_scroll): Likewise.
15952 (grub_video_fb_create_render_target): Likewise.
15953 (grub_video_fb_doublebuf_blit_init): Likewise.
15954 (grub_video_fb_set_active_render_target): Handle doublebuffering.
15955 (doublebuf_pageflipping_update_screen): New function.
15956 (doublebuf_pageflipping_init): Likewise.
15957 (grub_video_fb_setup): Likewise.
15958 (grub_video_fb_swap_buffers): Likewise.
15959 (grub_video_fb_get_info_and_fini): Likewise.
15960 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
15961 All users updated.
15962 (doublebuf_pageflipping_commit): Restructured into ...
15963 (doublebuf_pageflipping_set_page): ... this.
15964 (doublebuf_pageflipping_update_screen): Removed.
15965 (doublebuf_pageflipping_init): Likewise.
15966 (double_buffering_init): Likewise.
15967 (grub_video_vbe_setup): Use grub_video_fb_setup.
15968 (grub_video_vbe_swap_buffers): Removed.
15969 (grub_video_vbe_set_active_render_target): Likewise.
15970 (grub_video_vbe_get_active_render_target): Likewise.
15971 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
15972 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
15973 grub_video_fb_set_active_render_target and
15974 grub_video_fb_get_active_render_target.
15975 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
15976 (SEQUENCER_DATA_PORT): Likewise.
15977 (MAP_MASK_REGISTER): Likewise.
15978 (CRTC_ADDR_PORT): Likewise.
15979 (CRTC_DATA_PORT): Likewise.
15980 (START_ADDR_HIGH_REGISTER): Likewise.
15981 (START_ADDR_LOW_REGISTER): Likewise.
15982 (GRAPHICS_ADDR_PORT): Likewise.
15983 (GRAPHICS_DATA_PORT): Likewise.
15984 (READ_MAP_REGISTER): Likewise.
15985 (INPUT_STATUS1_REGISTER): Likewise.
15986 (INPUT_STATUS1_VERTR_BIT): Likewise.
15987 (get_map_mask): Use grub_vga_sr_read.
15988 (set_map_mask): Use grub_vga_sr_write.
15989 (set_read_map): Use grub_vga_gr_write.
15990 (set_start_address): Use grub_vga_cr_write.
15991 * video/sm712.c (framebuffer): Remove leftover fields.
15992
4321c64a
CW
159932010-06-20 Colin Watson <cjwatson@ubuntu.com>
15994
15995 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
15996 setting GRUB_VIDEO_BACKEND. Make it available as a user override
15997 instead. Replace the gfxterm backend check with a check that
15998 ${GRUB_PREFIX}/video.lst is non-empty.
15999 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
16000 again.
16001 (load_video): New generated function. Call it before loading
16002 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
16003 * util/grub.d/10_linux.in (linux_entry): Call load_video.
16004 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
16005 * docs/grub.texi (Simple configuration): Document
16006 GRUB_VIDEO_BACKEND.
16007
160082010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16009
16010 Use video functions in linux and xnu loaders.
16011
16012 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
16013 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
16014 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
16015 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
16016 loader/i386/pc/linux.c.
16017 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
16018 (find_line_len): Removed.
16019 (find_framebuf): Likewise.
16020 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
16021 * loader/i386/efi/xnu.c: Removed.
16022 * loader/i386/pc/xnu.c: Moved from here...
16023 * loader/i386/xnu.c: ...here.
16024
16025 Enable priorities in video drivers.
16026
16027 * include/grub/video.h (grub_video_adapter_prio_t): New type.
16028 (grub_video_adapter): New field prio.
16029 (grub_video_register): Respect prio when inserting.
16030 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
16031 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
16032 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
16033 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
16034 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
16035 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
16036 * video/sm712.c (grub_video_sm712_adapter): Likewise.
16037
16038 Fix SDL driver ID.
16039
16040 * include/grub/video.h (grub_video_driver_id_t): New value
16041 GRUB_VIDEO_DRIVER_SDL.
16042 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
16043
7d24e434
CW
160442010-06-17 Colin Watson <cjwatson@ubuntu.com>
16045
16046 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
16047 argument to printf.
16048 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16049
c88a83f6
CW
160502010-06-17 Colin Watson <cjwatson@ubuntu.com>
16051
16052 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
16053 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16054
094dfb69
CW
160552010-06-17 Colin Watson <cjwatson@ubuntu.com>
16056
16057 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
16058 directly, and recommend grub-install instead.
16059 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16060
2164da6b
CW
160612010-06-17 Colin Watson <cjwatson@ubuntu.com>
16062
16063 Fix i386-pc prefix handling with nested partitions (Debian bug
16064 #585068). Note that the case where the core image is booted using
16065 multiboot and relocated from its original location still requires
16066 more work.
16067
16068 * kern/i386/pc/init.c (make_install_device): If the prefix starts
16069 with "(,", fill the boot drive in between those two characters, but
16070 expect that a full partition specification including partition map
16071 names will follow.
16072 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
16073 specified, write a prefix without the drive name but including a
16074 full partition specification.
16075
044e2e60
CW
160762010-06-16 Colin Watson <cjwatson@ubuntu.com>
16077
16078 * util/grub-mkconfig.in: Ignore non-option arguments, for
16079 compatibility with older versions (before 2010-06-12) which did the
16080 same. In particular, this makes it easier to ship an update-grub
16081 wrapper which is compatible with that used with GRUB Legacy (Debian
16082 bug #586056).
16083
5591324f
GS
160842010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16085
16086 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
16087 for manual page generation.
16088
662e24d5
GS
160892010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16090
16091 * po/POTFILES: Remove leftover commands/handler.c.
16092
8d70754e
CW
160932010-06-14 Colin Watson <cjwatson@ubuntu.com>
16094
16095 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
16096 left this script non-functional.
16097
41160e2e
CW
160982010-06-14 Colin Watson <cjwatson@ubuntu.com>
16099
16100 * docs/man/grub-emu.h2m: New file.
16101
b5309cc1
CW
161022010-06-13 Colin Watson <cjwatson@ubuntu.com>
16103
16104 * docs/grub.texi (Commands): Document reduced command set in rescue
16105 mode.
16106 (cpuid): New section.
16107
fcb2d090
GS
161082010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
16109
16110 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
16111 new partition naming style.
16112 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
16113
96e5c556
BC
161142010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
16115
16116 Add "-o grub.iso" like cmdline options support.
16117
16118 * util/grub-install.in: Improve cmdline option parsing.
16119 * util/grub-mkconfig.in: Likewise.
16120 * util/grub-mkrescue.in: Likewise.
16121 * util/grub-reboot.in: Likewise.
16122 * util/grub-set-default.in: Likewise.
16123 * util/i386/efi/grub-install.in: Likewise.
16124 * util/ieee1275/grub-install.in: Likewise.
16125 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16126
c16be99b
CW
161272010-06-12 Colin Watson <cjwatson@ubuntu.com>
16128
16129 * .bzrignore: Ignore 41_custom.
16130
ce08a9fb
TS
161312010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16132
16133 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
16134
7beac90c
CW
161352010-06-12 Colin Watson <cjwatson@ubuntu.com>
16136
16137 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
16138 prototype declarations.
16139
16140 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
16141 generating fs, partmap, and video lists.
16142 * include/grub/fs.h (grub_fs_register): Omit prototype if
16143 GRUB_LST_GENERATOR is defined.
16144 * include/grub/partition.h (grub_partition_map_register): Likewise.
16145 * include/grub/video.h (grub_video_register): Likewise.
16146
1c8f0f8d
JM
161472010-06-12 Javier Martín <lordhabbit@gmail.com>
16148
16149 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
16150
a6085973
TS
161512010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16152
16153 * util/grub-mkrescue.in: Support --xorriso argument.
16154
25c56d29
VS
161552010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16156
16157 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
16158 Suggested by: Thomas Schmitt.
16159
e03e4b24
VS
161602010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16161
16162 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
16163 Suggested by: Thomas Schmitt.
16164
57711df6
VS
161652010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16166
16167 custom.cfg support.
16168
16169 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
16170 * util/grub.d/41_custom.in: New file.
16171
ee62c427
CW
161722010-06-12 Colin Watson <cjwatson@ubuntu.com>
16173
16174 * util/grub-mkrescue.in (make_image): Remove sh module, which has
16175 been merged back into normal.
16176
283af07a
CW
161772010-06-11 Colin Watson <cjwatson@ubuntu.com>
16178
16179 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
16180 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
16181
56a0d956
CW
161822010-06-11 Colin Watson <cjwatson@ubuntu.com>
16183
16184 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
16185 when generating manual pages.
16186 * docs/man/grub-bin2h.h2m: New file.
16187 * docs/man/grub-editenv.h2m: New file.
16188 * docs/man/grub-fstest.h2m: New file.
16189 * docs/man/grub-install.h2m: New file.
16190 * docs/man/grub-macho2img.h2m: New file.
16191 * docs/man/grub-mkconfig.h2m: New file.
16192 * docs/man/grub-mkdevicemap.h2m: New file.
16193 * docs/man/grub-mkfont.h2m: New file.
16194 * docs/man/grub-mkimage.h2m: New file.
16195 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
16196 * docs/man/grub-mkrelpath.h2m: New file.
16197 * docs/man/grub-mkrescue.h2m: New file.
16198 * docs/man/grub-ofpathname.h2m: New file.
16199 * docs/man/grub-pe2elf.h2m: New file.
16200 * docs/man/grub-probe.h2m: New file.
16201 * docs/man/grub-reboot.h2m: New file.
16202 * docs/man/grub-script-check.h2m: New file.
16203 * docs/man/grub-set-default.h2m: New file.
16204 * docs/man/grub-setup.h2m: New file.
16205
3a37e322
VS
162062010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
16207
16208 Use FOR_* macros instead of *_iterate whenever possible.
16209
16210 * commands/handler.c: Removed.
16211 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
16212 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
16213 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16214 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
16215 (grub_probe_SOURCES): Remove kern/parser.c.
16216 (util/grub-script-check.c_DEPENDENCIES): Removed.
16217 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
16218 and grub_script_check_init.c.
16219 (grub_script_check_init.lst): Removed.
16220 (grub_script_check_init.h): Likewise.
16221 (grub_script_check_init.c): Likewise.
16222 (pkglib_MODULES): Remove handler.mod and sh.mod.
16223 (handler_mod_SOURCES): Removed.
16224 (handler_mod_CFLAGS): Likewise.
16225 (handler_mod_LDFLAGS): Likewise.
16226 (normal_mod_SOURCES): Remove normal/handler.c.
16227 Add script/main.c, script/script.c, script/execute.c,
16228 script/function.c, script/lexer.c, grub_script.tab.c
16229 and grub_script.yy.c.
16230 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16231 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16232 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
16233 (grub_setup_SOURCES): Remove kern/parser.c.
16234 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16235 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
16236 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
16237 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16238 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16239 (grub_setup_SOURCES): Remove kern/parser.c.
16240 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16241 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
16242 * include/grub/command.h (grub_command_iterate): Removed.
16243 (FOR_COMMANDS): New macro.
16244 * include/grub/dl.h (grub_dl): New member next.
16245 (grub_dl_iterate): Removed.
16246 (grub_dl_head): New variable declaration.
16247 (FOR_DL_MODULES): New macro.
16248 * include/grub/fs.h: Include list.h.
16249 (grub_fs): Make next first element.
16250 (grub_fs_list): New variable declaration.
16251 (grub_fs_register): Make inline.
16252 (grub_fs_unregister): Likewise.
16253 (grub_fs_iterate): Removed.
16254 (FOR_FILESYSTEMS): New macro.
16255 * include/grub/handler.h: Removed.
16256 * include/grub/list.h (grub_list_hook_t): Removed.
16257 (grub_list_test_t): Likewise.
16258 (grub_list_pop): Likewise.
16259 (grub_list_iterate): Likewise.
16260 (grub_list_insert): Likewise.
16261 (FOR_LIST_ELEMENTS): New macro.
16262 * include/grub/parser.h (grub_parser_class): Removed.
16263 (grub_parser_register): Likewise.
16264 (grub_parser_unregister): Likewise.
16265 (grub_parser_get_current): Likewise.
16266 (grub_parser_set_current): Likewise.
16267 (grub_register_rescue_parser): Likewise.
16268 (grub_rescue_parse_line): New function.
16269 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
16270 * include/grub/script_sh.h (grub_script_function_list): New variable
16271 declaration.
16272 (FOR_SCRIPT_FUNCTIONS): New macro.
16273 (grub_script_function_iterate): Removed.
16274 (grub_normal_parse_line): New prototype.
16275 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
16276 (FOR_DISABLED_TERM_INPUTS): Likewise.
16277 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
16278 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
16279 * include/grub/video.h (grub_video_adapter): Move 'next' to first
16280 element.
16281 (grub_video_register): Inline.
16282 (grub_video_unregister): Likewise.
16283 (grub_video_adapter_list): New variable declaration.
16284 (grub_video_iterate): Removed.
16285 (FOR_VIDEO_ADAPTERS): New macro.
16286 * kern/dl.c (grub_dl_list): Removed. All users updated.
16287 (grub_dl_iterate): Removed.
16288 * kern/fs.c (grub_fs_list): Make global.
16289 (grub_fs_register): Removed.
16290 (grub_fs_unregister): Likewise.
16291 (grub_fs_iterate): Likewise.
16292 * kern/handler.c: Removed.
16293 * kern/list.c (grub_list_pop): Removed.
16294 (grub_list_iterate): Likewise.
16295 (grub_list_insert): Likewise.
16296 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
16297 (grub_prio_list_insert): Don't use grub_list_insert.
16298 * kern/main.c (grub_register_rescue_parser): Don't call
16299 grub_register_rescue_parser.
16300 * kern/parser.c (grub_parser_class): Removed.
16301 (grub_parser_execute): Use grub_rescue_parse_line.
16302 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
16303 (grub_rescue_parser): Removed.
16304 (grub_register_rescue_parser): Likewise.
16305 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
16306 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
16307 (grub_auth_check_authentication): Likewise.
16308 * normal/completion.c (iterate_command): Removed.
16309 (grub_normal_do_completion): Use FOR_COMMANDS.
16310 * normal/handler.c: Removed.
16311 * normal/main.c (read_config_file): Remove parser changing.
16312 (grub_normal_execute): Don't call read_handler_list.
16313 (grub_normal_read_line_real): Statically allocate prompt.
16314 (grub_cmdline_run): Use grub_normal_parse_line.
16315 (GRUB_MOD_FINI): Don't call free_handler_list.
16316 * normal/menu_entry.c (run): Likewise.
16317 * script/function.c (grub_script_function_list): Make global.
16318 (grub_script_function_iterate): Removed.
16319 * script/main.c (grub_normal_parse_line): Make global.
16320 (grub_sh_parser): Removed.
16321 (GRUB_MOD_INIT): Likewise.
16322 (GRUB_MOD_FINI): Likewise.
16323 * tests/lib/functional_test.c (grub_functional_test): Use
16324 FOR_LIST_ELEMENTS.
16325 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
16326 (grub_test_run): Use FOR_LIST_ELEMENTS.
16327 * tests/lib/unit_test.c (main): Likewise.
16328 * util/deviceiter.c (grub_util_iterate_devices): Don't use
16329 grub_list_pop.
16330 * util/grub-fstest.c (grub_term_input_class): Removed.
16331 (grub_term_output_class): Likewise.
16332 * util/grub-probe.c: Likewise.
16333 * util/i386/pc/grub-setup.c: Likewise.
16334 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16335 * util/grub-script-check.c (main): Don't call grub_init_all and
16336 grub_fini_all.
16337 * video/video.c (grub_video_adapter_list): Make global.
16338 (grub_video_register): Removed.
16339 (grub_video_unregister): Likewise.
16340 (grub_video_iterate): Likewise.
16341
6289c3a7
VS
163422010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
16343
16344 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
16345 reported by Henrique Ferreiro.
16346
91460247
RM
163472010-06-09 Robert Millan <rmh@gnu.org>
16348
16349 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
16350 ones, when both are available.
16351
0ea7c4f9
GS
163522010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16353
16354 Make --version uniform and avoid hard-coded program name.
16355
16356 * util/grub-mkimage.c (main): Use `program_name' instead of
16357 hard-coded string.
16358 * util/i386/pc/grub-setup.c (main): Likewise.
16359 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
16360 * util/grub-install.in: Save the basename of $0 in $self, and use the
16361 latter in informational messages. Use the same format for --version
16362 as the binary programs.
16363 * util/grub-mkconfig.in: Likewise.
16364 * util/grub-mkrescue.in: Likewise.
16365 * util/grub-reboot.in: Likewise.
16366 * util/grub-set-default.in: Likewise.
16367 * util/i386/efi/grub-install.in: Likewise.
16368 * util/ieee1275/grub-install.in: Likewise.
16369 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16370
e8a6f3b6
GS
163712010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16372
16373 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
16374 embedding area. Use <= instead of == when checking for non-emptiness.
16375
f4d095d7
GS
163762010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16377
16378 * configure.ac: Add `.' to the directories searched for unifont.
16379
50e532ca
CW
163802010-06-08 Colin Watson <cjwatson@ubuntu.com>
16381
16382 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
16383 grub_script.yy.h.
16384
d39f3dec
CW
163852010-06-08 Colin Watson <cjwatson@ubuntu.com>
16386
16387 * docs/grub.texi (History): Expand to cover GRUB 2.
16388 (Serial terminal): Refer to `terminal_input' and `terminal_output'
16389 commands, not `terminal'.
16390 (serial): Likewise.
16391 (terminal_input): New section.
16392 (terminal_output): New section.
16393 (uppermem): New section (stub).
16394 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
16395
6ef0ddb4
CW
163962010-06-08 Colin Watson <cjwatson@ubuntu.com>
16397
16398 * docs/grub.texi (Security): Menu entries are unrestricted by
16399 default, not restricted to superusers as I had previously thought.
16400 Reword to account for this.
16401
e0f4c438
CW
164022010-06-07 Colin Watson <cjwatson@ubuntu.com>
16403
16404 * kern/emu/misc.c (device_mapper_null_log): New function.
16405 (grub_device_mapper_supported): New function.
16406 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
16407 prototype.
16408 * kern/emu/hostdisk.c (find_partition_start): Check whether
16409 device-mapper is supported before trying to use it.
16410 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
16411
da908200
CW
164122010-06-07 Colin Watson <cjwatson@ubuntu.com>
16413
16414 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
16415 (File name syntax): Likewise.
16416 (help): --all is no longer supported in GRUB 2. Be more precise
16417 about pattern matching.
16418
fb55c3ac
CW
164192010-06-07 Colin Watson <cjwatson@ubuntu.com>
16420
16421 * normal/completion.c (grub_normal_do_completion): When completing
16422 arguments to "set" and the current word contains an equals sign,
16423 skip to after the equals sign before starting completion.
16424
258c2573
CW
164252010-06-07 Colin Watson <cjwatson@ubuntu.com>
16426
16427 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
16428
ee75515e
CW
164292010-06-07 Colin Watson <cjwatson@ubuntu.com>
16430
16431 * docs/grub.texi (Network): New section.
16432 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
16433 `(nd)' as in GRUB Legacy.
16434 (pxe_unload): New section.
16435
a6a700aa
CW
164362010-06-07 Colin Watson <cjwatson@ubuntu.com>
16437
16438 * docs/grub.texi (Troubleshooting): `echo' is not usually available
16439 in the rescue shell, so recommend using `set' instead. Thanks,
16440 Jordan Uggla.
16441
4003dd38
CW
164422010-06-07 Colin Watson <cjwatson@ubuntu.com>
16443
16444 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
16445 (password): New section.
16446 (password_pbkdf2): New section.
16447 (search): New section.
16448 (Security): New section.
16449 (Troubleshooting): New section, currently very incomplete.
16450 (Invoking grub-mkpasswd-pbkdf2): New section.
16451 (Internals): New section, currently very incomplete.
16452
e1cbcc40
CW
164532010-06-07 Colin Watson <cjwatson@ubuntu.com>
16454
16455 * util/grub.d/00_header.in: Add some more quoting (of
16456 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
16457 work again.
16458 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
16459
db8fa1ad
CW
164602010-06-07 Colin Watson <cjwatson@ubuntu.com>
16461
16462 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
16463 to `count', fixing variable shadowing that broke the -c option.
16464
164652010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
16466
16467 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
16468 in case they contain spaces.
16469
f28a9212
CW
164702010-06-04 Colin Watson <cjwatson@ubuntu.com>
16471
16472 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
16473 "part_" to partmap module names, in line with grub-install.
16474 Reported by: Jindřich Makovička (Debian bug #584426).
16475
9cdfe32f
CW
164762010-06-04 Colin Watson <cjwatson@ubuntu.com>
16477
16478 * util/grub-mkimage.c: Make target-related error messages slightly
16479 more helpful; -O talks about "format". Explicitly point to the use
16480 of -O if no target is specified.
16481 Reported by: Didier Raboud (Debian bug #584415).
16482
795b593a
CW
164832010-06-03 Colin Watson <cjwatson@ubuntu.com>
16484
16485 * INSTALL: Document several build requirements for optional features
16486 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
16487
9d9b5833
GS
164882010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16489
16490 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
16491 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
16492 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
16493
0819fec8
CW
164942010-06-02 Colin Watson <cjwatson@ubuntu.com>
16495
16496 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
16497 Thanks to Jordan Uggla for spotting this.
16498
49396b4f
VS
164992010-06-02 Aleš Nesrsta <starous@volny.cz>
16500
16501 Finally make USB usable.
16502
16503 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
16504 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
16505 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
16506 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
16507 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
16508 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
16509 (GRUB_OHCI_FSMPS): Likewise.
16510 (GRUB_OHCI_PERIODIC_START): Likewise.
16511 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
16512 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
16513 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
16514 (GRUB_OHCI_SET_PORT_RESET): Likewise.
16515 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
16516 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
16517 (grub_ohci_transaction): Likewise.
16518 (grub_ohci_transfer): Improve condition detection algorithms.
16519 Handle toggle property. Program the transactions correctly.
16520 Improve error handling. Various important fixups.
16521 (grub_ohci_portstatus): Put register writes in right order.
16522 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
16523 (grub_uhci_transfer): Don't show "failed" message on success.
16524 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
16525 array.
16526 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
16527 determine its size.
16528 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
16529 before initialization is completed. Use IN direction for empty
16530 transfers. Use last_trans and compute toggle.
16531 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
16532 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
16533 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
16534 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
16535 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
16536 (grub_usb_device): Increase toggle to 256.
16537 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
16538 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
16539 GRUB_USBMS_SUBCLASS_SFF8070.
16540 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
16541 (grub_scsi_inquiry): New member page and alloc_length.
16542 (grub_scsi_request_sense): New structure.
16543 (grub_scsi_request_sense_data): Likewise.
16544 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
16545 control.
16546 * disk/scsi.c (grub_scsi_request_sense): New function.
16547 (grub_scsi_test_unit_ready): Likewise.
16548 (grub_scsi_inquiry): Fill new fields.
16549 (grub_scsi_read_capacity): Likewise.
16550 (grub_scsi_read10): Add request sense at the end.
16551 (grub_scsi_read12): Likewise.
16552 (grub_scsi_write10): Likewise.
16553 (grub_scsi_write12): Likewise.
16554 (grub_scsi_open): Add Test Unit Ready.
16555 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
16556 Support additional subclasses. Con't clear halt yet. Activate the
16557 proper config. Calculate LUNs correctly.
16558 (grub_usbms_transfer): Various important fixups.
16559
165602010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
16561
16562 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
16563 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
16564 (grub_ohci_fini_hw): New function.
16565 (grub_ohci_restore_hw): Likewise.
16566 (GRUB_MOD_INIT(ohci)): Register preboot hook.
16567 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
16568 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
16569
165702010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
16571
16572 Dedicated DMA allocations.
16573
16574 * bus/pci.c (grub_memalign_dma32): New function
16575 (grub_dma_free): Likewise.
16576 (grub_dma_get_virt): Likewise.
16577 (grub_dma_get_phys): Likewise.
16578 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
16579 (grub_ohci_pci_iter): Use dma32_alloc.
16580 (grub_ohci_transfer): Likewise.
16581 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
16582 (grub_usb_bulk_readwrite): Likewise.
16583 * include/grub/pci.h: Add declarations.
16584
165852010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
16586
16587 CS5536 support.
16588
16589 * bus/cs5536.c: New file.
16590 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
16591 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
16592 (cs5536_mod_SOURCES): New variable.
16593 (cs5536_mod_CFLAGS): Likewise.
16594 (cs5536_mod_LDFLAGS): Likewise.
16595 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
16596 machine/pci.h.
16597 (kernel_img_SOURCES): Add bus/cs5536.c.
16598 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
16599 usb_keyboard.mod.
16600 (usb_mod_SOURCES): New variable.
16601 (usb_mod_CFLAGS): New variable.
16602 (usb_mod_LDFLAGS): New variable.
16603 (usbtest_mod_SOURCES): New variable.
16604 (usbtest_mod_CFLAGS): New variable.
16605 (usbtest_mod_LDFLAGS): New variable.
16606 (ohci_mod_SOURCES): New variable.
16607 (ohci_mod_CFLAGS): New variable.
16608 (ohci_mod_LDFLAGS): New variable.
16609 (usbms_mod_SOURCES): New variable.
16610 (usbms_mod_CFLAGS): New variable.
16611 (usbms_mod_LDFLAGS): New variable.
16612 (usb_keyboard_mod_SOURCES): New variable.
16613 (usb_keyboard_mod_CFLAGS): New variable.
16614 (usb_keyboard_mod_LDFLAGS): New variable.
16615 * include/grub/smbus.h: New file.
16616 * include/grub/cs5536.h: New file.
16617
0b35b2a9
CW
166182010-06-02 Colin Watson <cjwatson@ubuntu.com>
16619
16620 * util/grub.d/00_header.in: Add safety check to make sure that
16621 ${locale_dir} exists before trying to probe it.
16622
ca0afd5b
CW
166232010-06-02 Colin Watson <cjwatson@ubuntu.com>
16624
16625 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
16626 per the GNU Coding Standards; this is now too obscure to be worth
16627 documenting.
16628 (QNX): Likewise.
16629 (chainloader): Remove cross-reference to `SCO UnixWare'.
16630
1c41aa78
CW
166312010-06-02 Colin Watson <cjwatson@ubuntu.com>
16632
16633 * docs/grub.texi (Chain-loading): New section.
16634 (DOS/Windows): New section, borrowed from GRUB Legacy with details
16635 adjusted for GRUB 2.
16636 (SCO UnixWare): Likewise.
16637 (QNX): Likewise.
16638 (chainloader): Add reference to `Block list syntax'.
16639 (drivemap): New section.
16640 (parttool): New section.
16641
bb8ea0f5
CW
166422010-06-02 Colin Watson <cjwatson@ubuntu.com>
16643
16644 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
16645 the grub shell'.
16646 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
16647 (Installing GRUB using grub-install): Remove reference to the grub
16648 shell; mention `grub-mkimage' and `grub-setup' instead.
16649 (Invoking grub-install): Likewise.
16650 (Interface): Add reference to `Menu entry editor'.
16651 (serial): Remove `--device' option.
16652
288dd6ed
CW
166532010-06-02 Colin Watson <cjwatson@ubuntu.com>
16654
16655 * docs/grub.texi (Configuration): New section, documenting
16656 configuration file generation using grub-mkconfig. I've left a slot
16657 for documenting the full shell scripting format but have not yet
16658 started on writing that up.
16659 (Invoking grub-mkconfig): New section.
16660
34c9f0e9
CW
166612010-06-02 Colin Watson <cjwatson@ubuntu.com>
16662
16663 * docs/grub.texi (direntry): Remove grub-terminfo reference.
16664 (GNU GRUB manual): Likewise.
16665 (General commands): Update description of `terminfo' for GRUB 2.
16666
9121567e
CW
166672010-06-02 Colin Watson <cjwatson@ubuntu.com>
16668
16669 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
16670 (GRUB_MOD_INIT): Fix capitalisation.
16671 * docs/grub.texi (Command-line and menu entry commands): Document
16672 gettext and gptsync commands.
16673
ab631611
CW
166742010-06-02 Colin Watson <cjwatson@ubuntu.com>
16675
16676 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
16677 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
16678
bde4a9ac
CW
166792010-06-01 Colin Watson <cjwatson@ubuntu.com>
16680
16681 Add btrfs probing support, currently only in the single-device case.
16682
16683 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
16684 function.
16685 (grub_guess_root_device): Call find_root_device_from_mountinfo
16686 before looking in /dev.
16687
b1d17e10
VS
166882010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16689
16690 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
16691 GRUB_DISK_SIZE_UNKNOWN.
16692 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
16693
dfbfe004
JS
166942010-05-31 Jiro SEKIBA <jir@unicus.jp>
16695
16696 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
16697 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
16698 corrupted or not synced properly.
16699
c2ffc8e9
VS
167002010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16701
16702 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
16703 Reported by: Seth Goldberg.
16704
56293166
VS
167052010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16706
16707 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
16708 addition of dest.
16709 Reported by: Seth Goldberg.
16710
7620e7de
VS
167112010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16712
16713 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
16714 Reported by: Seth Goldberg.
16715
c837af3f
VS
167162010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16717
16718 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
16719 64-bit address as signed on MIPS.
16720
c7c75cf4
CW
167212010-05-28 Colin Watson <cjwatson@ubuntu.com>
16722
16723 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
16724 to the empty string.
16725
fa4b8490
BC
167262010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
16727
16728 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
16729
16730 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
16731 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
16732 * kern/misc.c (__enable_execute_stack): Disable on
16733 GRUB_MACHINE_EMU.
16734
a33075b9
CW
167352010-05-28 Colin Watson <cjwatson@ubuntu.com>
16736
16737 Make grub-probe work with symbolic links under /dev/mapper as well
16738 as with real block devices. The Linux world seems to be (at best)
16739 in transition here, and GRUB shouldn't get caught in the middle.
16740
16741 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
16742 /dev/mapper.
16743
d8708134
CW
167442010-05-27 Colin Watson <cjwatson@ubuntu.com>
16745
16746 * util/grub-script-check.c (main): Ensure defined behaviour on empty
16747 input files (in which case exit zero).
16748
db2102a0
CW
167492010-05-27 Colin Watson <cjwatson@ubuntu.com>
16750
16751 * kern/emu/misc.c (canonicalize_file_name): realpath can still
16752 return NULL for various reasons even if it has a maximum-length
16753 buffer: for example, there might be a symlink loop, or the path
16754 might exceed PATH_MAX. If this happens, return NULL.
16755
5fdba519
RM
167562010-05-27 Robert Millan <rmh@gnu.org>
16757
16758 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
16759 partmap module to handle cross-partmap setups.
16760 Reported by Orestes Mas. Gràcies!
16761
d1d368e4
CW
167622010-05-27 Colin Watson <cjwatson@ubuntu.com>
16763
16764 * util/grub-mkrescue.in: Initialise override_dir rather than
16765 assuming that it's unset or empty in the environment.
16766
95ac3c73
GS
167672010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
16768
16769 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
16770 variable index into p_index to suppress a warning with -Wshadow.
16771
7d8c0213
BC
167722010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
16773
16774 * INSTALL: Added flex >= 2.5.35 requirement.
16775
db4d5813
VS
167762010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16777
16778 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
16779
f24f4300
VS
167802010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16781
16782 cmostest support.
16783
16784 * commands/i386/cmostest.c: New file.
16785 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
16786 (cmostest_mod_SOURCES): New variable.
16787 (cmostest_mod_CFLAGS): Likewise.
16788 (cmostest_mod_LDFLAGS): Likewise.
16789 * conf/i386-pc.rmk: Likewise.
16790 * docs/grub.texi (Vendor power-on keys): New section.
16791 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
16792 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
16793 and GRUB_BUTTON_CMOS_ADDRESS.
16794 * util/grub.d/00_header.in: Handle powering-on by separate button.
16795
ad603f61
VS
167962010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16797
16798 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
16799 Removed drawing_scrollbar argument. All users updated
16800 Fixes #29792.
16801 Reported by Jo Shields
16802
3ecb080a
VS
168032010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16804
16805 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
16806 buffer since gfxterm handles double repaint.
16807
5f2316c1
VS
168082010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
16809
16810 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
16811 * term/gfxterm.c (real_scroll): Likewise.
16812
9a25f885
VS
168132010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16814
16815 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
16816 before calling BIOS.
16817
39fbb79a
VS
168182010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16819
16820 * include/grub/i18n.h: Always enable grub_gettext.
16821
228cfa97
VS
168222010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16823
16824 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
16825 partition naming style.
16826
21717c8f
CW
168272010-05-21 Colin Watson <cjwatson@ubuntu.com>
16828
16829 * util/grub-mkconfig.in: Fix handling of -o so that it works when
16830 not the first option.
16831
c0f48e65
CW
168322010-05-20 Colin Watson <cjwatson@ubuntu.com>
16833
16834 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
16835
96779aec
CW
168362010-05-20 Colin Watson <cjwatson@ubuntu.com>
16837
16838 * util/misc.c: Move inclusion of <limits.h> to ...
16839 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
16840
fa9d256e
GS
168412010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
16842
16843 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
16844 Fix merge error in NetBSD code.
16845 (find_partition_start) [__NetBSD__]: Likewise.
16846
123b7a85
BC
168472010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
16848
16849 Fix grub-mkrescue usage unit testing.
16850
16851 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
16852
74276c0d
CF
168532010-05-18 Christian Franke <franke@computer.org>
16854
16855 * util/grub.d/10_windows.in: Use path names instead of
16856 drive letters to prevent warning from Cygwin 1.7.
16857 Add drivemap command to menuentry if needed.
16858
c4f7b523
ST
168592010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
16860
16861 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
16862 gnumach and gnumach.gz.
16863
95b97950
VS
168642010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16865
16866 * include/grub/i18n.h (gettext): Inline instead of using #define.
16867 (grub_gettext): Likewise.
16868 (_): Likewise.
16869
01b8d2d7
VS
168702010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16871
16872 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
16873 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
16874 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
16875 (main): Add a slash after pkglibdirroot.
16876
654e1d1e
VS
168772010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16878
16879 * util/grub-install.in: Add missing "in" keyword.
16880
26966aeb
VS
168812010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16882
16883 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
16884 Reported by: Seth Goldberg.
16885
75006747
VS
168862010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16887
16888 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
16889
74cbf5bd
CW
168902010-05-18 Colin Watson <cjwatson@ubuntu.com>
16891
16892 * configure.ac: Check for Linux device-mapper support.
16893
16894 * util/hostdisk.c (device_is_mapped): New function.
16895 (find_partition_start): New function, partly broken out from
16896 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
16897 device-mapper support added.
16898 (linux_find_partition): Use find_partition_start.
16899 (convert_system_partition_to_system_disk): Add `st' argument.
16900 Support Linux /dev/mapper/* devices if device-mapper support is
16901 available; only DM-RAID devices are understood at present.
16902 (find_system_device): Add `st' argument. Pass it to
16903 convert_system_partition_to_system_disk.
16904 (grub_util_biosdisk_get_grub_dev): Pass stat result to
16905 find_system_device and convert_system_partition_to_system_disk. Use
16906 find_partition_start.
16907
16908 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
16909 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
16910 * util/deviceiter.c [__linux__]: Define MINOR.
16911 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
16912 * util/mkdevicemap.c (grub_putchar): New function.
16913 (grub_getkey): New function.
16914 (grub_refresh): New function.
16915 (main): Set debug=all if -v -v is used.
16916
355b51e9
CW
169172010-05-18 Colin Watson <cjwatson@ubuntu.com>
16918
16919 Fix build with non-GNU libcs.
16920
16921 * util/misc.c (canonicalize_file_name): Move to ...
16922 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
16923 grub_make_system_path_relative_to_its_root.
16924
7fb5c25f
CW
169252010-05-18 Colin Watson <cjwatson@ubuntu.com>
16926
16927 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
16928 we handle finding grub-mkimage. Default to finding grub-mkimage in
16929 ${bindir} with program_transform_name applied, and provide a
16930 --grub-mkimage option to override this.
16931
1d3293d6
VS
169322010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16933
16934 Remove grub-mkisofs.
16935
16936 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
16937 (grub_mkisofs_SOURCES): Removed.
16938 (grub_mkisofs_CFLAGS): Removed.
16939 * util/mkisofs/defaults.h: Removed.
16940 * util/mkisofs/eltorito.c: Likewise.
16941 * util/mkisofs/exclude.h: Likewise.
16942 * util/mkisofs/hash.c: Likewise.
16943 * util/mkisofs/include/: Likewise.
16944 * util/mkisofs/include/fctldefs.h: Likewise.
16945 * util/mkisofs/include/mconfig.h: Likewise.
16946 * util/mkisofs/include/prototyp.h: Likewise.
16947 * util/mkisofs/include/statdefs.h: Likewise.
16948 * util/mkisofs/iso9660.h: Likewise.
16949 * util/mkisofs/joliet.c: Likewise.
16950 * util/mkisofs/match.c: Likewise.
16951 * util/mkisofs/match.h: Likewise.
16952 * util/mkisofs/mkisofs.c: Likewise.
16953 * util/mkisofs/mkisofs.h: Likewise.
16954 * util/mkisofs/msdos_partition.h: Likewise.
16955 * util/mkisofs/multi.c: Likewise.
16956 * util/mkisofs/name.c: Likewise.
16957 * util/mkisofs/rock.c: Likewise.
16958 * util/mkisofs/tree.c: Likewise.
16959 * util/mkisofs/write.c: Likewise.
16960
5dde9afe
VS
169612010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16962
16963 Unify grub-mkimage accross platforms.
16964
16965 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
16966 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
16967 (grub_mkelfimage_SOURCES): Removed.
16968 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
16969 (util/grub-mkimage.c_DEPENDENCIES): .. this.
16970 (bin_UTILITIES): Add grub-mkimage.
16971 (grub_mkimage_SOURCES): New variable.
16972 (kernel_img_HEADERS): Remove machine/kernel.h.
16973 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
16974 (pkglib_PROGRAMS): Add kernel.img.
16975 (kernel_img_HEADERS): Add machine/kernel.h.
16976 (kernel_img_FORMAT): Removed.
16977 (bin_UTILITIES): Remove grub-mkimage.
16978 (grub_mkimage_SOURCES): Removed.
16979 (grub_mkimage_CFLAGS): Likewise.
16980 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16981 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
16982 (pkglib_PROGRAMS): Add kernel.img.
16983 (bin_UTILITIES): Remove grub-mkimage.
16984 (grub_mkimage_SOURCES): Removed.
16985 (grub_mkimage_CFLAGS): Likewise.
16986 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16987 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
16988 (pkglib_PROGRAMS): Add kernel.img.
16989 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
16990 (pkglib_PROGRAMS): Add kernel.img.
16991 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
16992 (grub_mkimage_SOURCES): Removed.
16993 (grub_mkimage_CFLAGS): Likewise.
16994 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
16995 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
16996 (pkglib_PROGRAMS): Add kernel.img.
16997 (bin_UTILITIES): Remove grub-mkimage.
16998 (grub_mkimage_SOURCES): Removed.
16999 (grub_mkimage_CFLAGS): Likewise.
17000 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17001 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
17002 (grub_mkimage_SOURCES): Removed.
17003 (grub_mkimage_CFLAGS): Likewise.
17004 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17005 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
17006 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
17007 (grub_pe32_optional_header): ... this.
17008 (grub_pe64_optional_header): ... and this. All users updated.
17009 (GRUB_PE32_PE32_MAGIC): Split into ..
17010 (GRUB_PE32_PE32_MAGIC): .. this.
17011 (GRUB_PE32_PE64_MAGIC): .. and this.
17012 (GRUB_PE32_SIGNATURE_SIZE): New definition.
17013 * include/grub/elf.h (PT_GNU_STACK): New definition.
17014 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
17015 * include/grub/i386/efi/kernel.h: Likewise.
17016 * include/grub/i386/kernel.h: Likewise.
17017 * include/grub/i386/pc/kernel.h: Likewise.
17018 * include/grub/i386/qemu/boot.h: Likewise.
17019 * include/grub/mips/kernel.h: Likewise.
17020 * include/grub/mips/qemu-mips/kernel.h: Likewise.
17021 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17022 * include/grub/powerpc/kernel.h: Likewise.
17023 * include/grub/sparc64/ieee1275/boot.h: Likewise.
17024 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17025 * include/grub/sparc64/kernel.h: Likewise.
17026 * include/grub/x86_64/efi/kernel.h: Likewise.
17027 * include/grub/x86_64/kernel.h: Likewise.
17028 * include/grub/offsets.h: New file.
17029 * include/grub/kernel.h (grub_module_info): Split into ...
17030 (grub_module_info32): ... this.
17031 (grub_module_info64): ... and this.
17032 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
17033 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
17034 (grub_boot_blocklist): Moved from here ...
17035 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
17036 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
17037 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
17038 * include/grub/types.h (grub_target_to_host16): Removed.
17039 (grub_target_to_host32): Likewise.
17040 (grub_target_to_host64): Likewise.
17041 (grub_host_to_target16): Likewise.
17042 (grub_host_to_target32): Likewise.
17043 (grub_host_to_target64): Likewise.
17044 (grub_host_to_target_addr): Likewise.
17045
17046 Support grub-mkrescue for efi, coreboot and qemu.
17047
17048 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
17049 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
17050 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
17051 * util/grub-mkrawimage.c: Moved from here ...
17052 * util/grub-mkimage.c: ... here. All users updated.
17053 (ALIGN_ADDR): Use image_target.
17054 (TARGET_NO_FIELD): New const.
17055 (image_target_desc): New type.
17056 (image_targets): New array.
17057 (grub_target_to_host64): Use image_target.
17058 (grub_target_to_host32): Likewise.
17059 (grub_target_to_host16): Likewise.
17060 (grub_host_to_target64): Likewise.
17061 (grub_host_to_target32): Likewise.
17062 (grub_host_to_target16): Likewise.
17063 (grub_host_to_target_addr): Likewise.
17064 (generate_image): Handle multiimage.
17065 (main): Require -O parameter. All users updated.
17066 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
17067 util/efi/grub-mkimage.c
17068 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
17069 New option --rom-directory.
17070 Use xorriso.
17071 * util/i386/efi/grub-mkimage.c: Removed.
17072 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
17073 (grub_target_to_host32): Likewise.
17074 (grub_target_to_host64): Likewise.
17075 (grub_host_to_target16): Likewise.
17076 (grub_host_to_target32): Likewise.
17077 (grub_host_to_target64): Likewise.
17078 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
17079 (grub_target_to_host32): Likewise.
17080 (grub_target_to_host64): Likewise.
17081 (grub_host_to_target16): Likewise.
17082 (grub_host_to_target32): Likewise.
17083 (grub_host_to_target64): Likewise.
17084
f4fc97d0
BC
170852010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
17086
17087 Source tree is reorganized for emu build.
17088
17089 * include/grub/util/console.h: Move from here...
17090 * include/grub/emu/console.h: ...to here.
17091 * include/grub/util/getroot.h: Move from here...
17092 * include/grub/emu/getroot.h: ...to here.
17093 * include/grub/util/hostdisk.h: Move from here...
17094 * include/grub/emu/hostdisk.h: ...to here.
17095 * util/console.c: Move from here...
17096 * kern/emu/console.c: ...to here.
17097 * util/getroot.c: Move from here...
17098 * kern/emu/getroot.c: ...to here.
17099 * util/grub-emu.c: Move from here...
17100 * kern/emu/main.c: ...to here.
17101 * util/hostdisk.c: Move from here...
17102 * kern/emu/hostdisk.c: ...to here.
17103 * util/hostfs.c: Move from here...
17104 * kern/emu/hostfs.c: ...to here.
17105 * util/mm.c: Move from here...
17106 * kern/emu/mm.c: ...to here.
17107 * util/pci.c: Move from here...
17108 * bus/emu/pci.c: ...to here.
17109 * util/sdl.c: Move from here...
17110 * video/emu/sdl.c: ...to here.
17111 * util/time.c: Move from here...
17112 * kern/emu/time.c: ...to here.
17113 * util/usb.c: Move from here...
17114 * bus/usb/emu/usb.c: ...to here.
17115
17116 * include/grub/emu/misc.h: New header for grub-emu functions.
17117 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
17118
17119 * conf/any-emu.rmk: Rule updates for above renames.
17120 * conf/common.rmk: Likewise.
17121 * conf/i386-pc.rmk: Likewise.
17122 * conf/i386-qemu.rmk: Likewise.
17123 * conf/mips.rmk: Likewise.
17124 * conf/sparc64-ieee1275.rmk: Likewise.
17125 * conf/x86-efi.rmk: Likewise.
17126
17127 * disk/lvm.h: #include updates for above renames.
17128 * util/grub-mkrelpath.c: Likewise.
17129 * util/grub-probe.c: Likewise.
17130 * util/i386/pc/grub-setup.c: Likewise.
17131 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17132 * kern/emu/console.c: Likewise.
17133 * kern/emu/getroot.c: Likewise.
17134 * kern/emu/hostdisk.c: Likewise.
17135 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
17136
17137 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
17138 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
17139 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
17140 * util/misc.c: Remove grub-emu functions.
17141
cced9145
VS
171422010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17143
17144 Fix gfxmenu crash.
17145 Reported by: Thorsten Grützmacher.
17146
17147 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
17148 timeout hook.
17149 (circprog_set_property): Register and unregister timeout hook.
17150 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
17151 (label_destroy): Free template. and unregister hook.
17152 (label_set_state): New function.
17153 (label_set_property): Handle templates and hooks.
17154 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
17155 timeout hook.
17156 (progress_bar_set_property): Register and unregister timeout hook.
17157 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
17158 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
17159 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
17160 (update_timeout_visit): Removed.
17161 (update_timeouts): New function.
17162 (redraw_timeouts): Likewise.
17163 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
17164 (grub_gfxmenu_clear_timeout): Likewise.
17165 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
17166 (grub_gfxmenu_timeout_notify): Likewise.
17167 (grub_gfxmenu_timeout_notifications): New external variable.
17168 (grub_gfxmenu_timeout_register): New function.
17169 (grub_gfxmenu_timeout_unregister): Likewise.
17170
c6e5caab
VS
171712010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17172
17173 Transform (broken) vga terminal into (working) vga video driver.
17174
17175 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
17176 video/i386/pc/vga.c.
17177 * include/grub/video.h (grub_video_driver_id):
17178 Add GRUB_VIDEO_DRIVER_VGA.
17179 * term/i386/pc/vga.c: Renamed to ...
17180 * video/i386/pc/vga.c: ...this
17181 (DEBUG_VGA): Removed.
17182 (CHAR_WIDTH): Likewise.
17183 (CHAR_HEIGHT): Likewise.
17184 (TEXT_WIDTH): Likewise.
17185 (TEXT_HEIGHT): Likewise.
17186 (DEFAULT_FG_COLOR): Likewise.
17187 (DEFAULT_BG_COLOR): Likewise.
17188 (colored_char): Likewise.
17189 (xpos): Likewise.
17190 (ypos): Likewise.
17191 (cursor_state): Likewise.
17192 (fg_color): Likewise.
17193 (bg_color): Likewise.
17194 (text_buf): Likewise.
17195 (page): Likewise.
17196 (font): Likewise.
17197 (framebuffer): New variable.
17198 (set_read_map): Disabled.
17199 (setup): New variable.
17200 (is_target): Likewise.
17201 (grub_vga_mod_init): Likewise.
17202 (grub_vga_mod_fini): Likewise.
17203 (check_vga_mem): Likewise.
17204 (write_char): Likewise.
17205 (write_cursor): Likewise.
17206 (scroll_up): Likewise.
17207 (grub_vga_putchar): Likewise.
17208 (grub_vga_getcharwidth): Likewise.
17209 (grub_vga_getwh): Likewise.
17210 (grub_vga_getxy): Likewise.
17211 (grub_vga_gotoxy): Likewise.
17212 (grub_vga_cls): Likewise.
17213 (grub_vga_setcolorstate): Likewise.
17214 (grub_vga_setcursor): Likewise.
17215 (grub_video_vga_init): New function.
17216 (grub_video_vga_setup): Likewise.
17217 (grub_video_vga_fini): Likewise.
17218 (update_target): Likewise.
17219 (grub_video_vga_blit_bitmap): Likewise.
17220 (grub_video_vga_blit_render_target): Likewise.
17221 (grub_video_vga_set_active_render_target): Likewise.
17222 (grub_video_vga_get_active_render_target): Likewise.
17223 (grub_video_vga_swap_buffers): Likewise.
17224 (grub_video_vga_set_palette): Likewise.
17225 (grub_video_vga_get_info_and_fini): Likewise.
17226 (grub_vga_term): Removed.
17227 (grub_video_vga_adapter): New variable.
17228 (GRUB_MOD_INIT): Register a video driver instead of terminal.
17229 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
17230
2bf61a98
VS
172312010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17232
17233 * video/readers/jpeg.c: Indented.
17234
09ddcd11
VS
172352010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17236
17237 Various jpeg cleanups.
17238
17239 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
17240 (grub_jpeg_decode_quan_table): Use sizeof.
17241 (grub_jpeg_decode_du): Use ARRAY_SIZE.
17242
e5507505
PH
172432010-05-05 Peter Hurley <No e-mail available> (tiny change)
17244
17245 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
17246 tables. Ignore non-last ac bit.
17247 (grub_jpeg_decode_quan_table): Likewise.
17248
7e720a9b
VS
172492010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17250
17251 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
17252 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
17253 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17254 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
17255 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
17256 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
17257
a7fc080b
VS
172582010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17259
17260 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
17261 error.
17262
2bf6012d
VS
172632010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17264
17265 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
17266
265d68cd
VS
172672010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
17268
17269 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
17270 condition.
17271
172722010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
17273
17274 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
17275 part.
17276
265d68cd 172772010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
17278
17279 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
17280 pointers.
17281
265d68cd 172822010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
17283
17284 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
17285
d1b61374
CF
172862010-05-01 Christian Franke <franke@computer.org>
17287
17288 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
17289 Remove broken Cygwin path conversion.
17290 * util/misc.c: [__CYGWIN__] Add include and define.
17291 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
17292 for Cygwin 1.7.
17293 (make_system_path_relative_to_its_root): Simplify loop, replace early
17294 return by break.
17295 [__CYGWIN__] Add conversion to win32 path.
17296 Include "/" case in trailing slash removal.
17297
3558c6e9
VS
172982010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17299
17300 * kern/main.c (grub_load_config): Fix copy-pasted comment.
17301 Reported by: Seth Goldberg
17302
f5f3ff93
VS
173032010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17304
17305 * commands/help.c (grub_cmd_help): Fix a typo.
17306 Reported by: Seth Goldberg
17307
d8b5cd40
VS
173082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17309
17310 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
17311 name and add N_.
17312 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
17313 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
17314 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
17315 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
17316 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
17317 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
17318 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
17319 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
17320 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
17321 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17322 * normal/context.c (GRUB_MOD_INIT): Likewise.
17323 * normal/main.c (GRUB_MOD_INIT): Likewise.
17324 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
17325 * term/serial.c (GRUB_MOD_INIT): Likewise.
17326 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
17327
88c14915
VS
173282010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17329
17330 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
17331 extra == 0.
17332
165134bc
VS
173332010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17334
17335 * commands/iorw.c: New file.
17336 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
17337 (iorw_mod_SOURCES): New variable.
17338 (iorw_mod_CFLAGS): Likewise.
17339 (iorw_mod_LDFLAGS): Likewise.
17340
c5ac9b32
VS
173412010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17342
17343 Hotkey support
17344
17345 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
17346 * normal/main.c (hotkey_aliases): New variable.
17347 (grub_normal_add_menu_entry): Parse "--hotkey".
17348 * normal/menu_text.c (run_menu): Handle hotkeys.
17349
ce60689c
VS
173502010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17351
17352 * kern/i386/coreboot/init.c (grub_machine_init): Call
17353 grub_machine_mmap_init on qemu.
17354
0359d006
VS
173552010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17356
17357 * boot/i386/qemu/boot.S: Add a missing .code16.
17358
7819a456
VS
173592010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17360
17361 Use LBIO on coreboot.
17362
17363 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
17364 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
17365 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
17366 New declaration.
17367 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
17368 grub_machine_mmap_init on coreboot.
17369 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
17370 GRUB_LINUXBIOS_MEMBER_LINK.
17371 (grub_machine_mmap_iterate): Fix declaration.
17372 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
17373
7210dca9
VS
173742010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17375
17376 Split coreboot and multiboot ports.
17377
17378 * conf/i386-multiboot.rmk: New file.
17379 * configure.ac: Add multiboot port.
17380 * include/grub/i386/multiboot/boot.h: New file.
17381 * include/grub/i386/multiboot/console.h: Likewise.
17382 * include/grub/i386/multiboot/init.h: Likewise.
17383 * include/grub/i386/multiboot/kernel.h: Likewise.
17384 * include/grub/i386/multiboot/loader.h: Likewise.
17385 * include/grub/i386/multiboot/memory.h: Likewise.
17386 * include/grub/i386/multiboot/serial.h: Likewise.
17387 * include/grub/i386/multiboot/time.h: Likewise.
17388 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
17389 * loader/multiboot.c: Likewise.
17390 * loader/multiboot_mbi2.c: Likewise.
17391 * util/grub-mkrescue.in: Generate multiboot rescue.
17392
6f8aaf68
VS
173932010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17394
3080f7a7
VS
17395 * kern/parser.c (grub_parser_execute): Cope with read-only config.
17396
173972010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17398
17399 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
17400
17401 * commands/terminal.c (abstract_terminal): New struct.
17402 (handle_command): New function. Based on grub_cmd_terminal_input.
17403 (grub_cmd_terminal_input): Use handle_command.
17404 (grub_cmd_terminal_output): Use handle_command.
17405
a8ebb841
BC
174062010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
17407
17408 Fix comment handling.
17409
17410 * tests/grub_script_comments.in: New testcase.
17411 * conf/tests.rmk: Rules for new testcase.
17412 * script/yylex.l: Updated flex rules.
17413
bb06ba08
ST
174142010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
17415
17416 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
17417 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
17418 if argc is 1.
bb06ba08 17419
cc9d2425
VS
174202010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
17421
17422 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
17423 autogen issues.
17424
460d8402
CF
174252010-04-26 Christian Franke <franke@computer.org>
17426
17427 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
17428 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
17429 (grub_get_prefix): Remove function.
17430 * util/grub-emu.c (main): Replace grub_get_prefix () call by
17431 make_system_path_relative_to_its_root ().
17432 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
17433
553c01f9
CF
174342010-04-24 Christian Franke <franke@computer.org>
17435
17436 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
17437 (kernel_img_LDFLAGS): Remove -static-libgcc.
17438
2aec1692
CF
174392010-04-24 Christian Franke <franke@computer.org>
17440
17441 * configure.ac: Do not CHECK_BSS_START_SYMBOL
17442 and CHECK_END_SYMBOL if grub-emu is built.
17443 Unset TARGET_OBJ2ELF if grub-emu is built
17444 without module support.
17445
f67dc308
JS
174462010-04-24 Jiro SEKIBA <jir@unicus.jp>
17447
17448 Nilfs2 support.
17449
17450 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
17451 (grub_fstest_SOURCES): Likewise.
17452 (pkglib_MODULES): Add nilfs2.mod.
17453 (nilfs2_mod_SOURCES): New variable.
17454 (nilfs2_mod_CFLAGS): Likewise.
17455 (nilfs2_mod_LDFLAGS): Likewise.
17456 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
17457 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
17458 * fs/nilfs2.c: New file.
17459
4ba8d354
VS
174602010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
17461
17462 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
17463 is not supported.
17464
0d2c20c6
GS
174652010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
17466
17467 Add grub-mkconfig support for NetBSD.
17468
17469 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
17470 * util/grub-mkconfig.in: export new NetBSD specific variables.
17471 * po/POTFILES-shell: added 10_netbsd.in.
17472 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
17473
bc4a2d83
BC
174742010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
17475
17476 Fix emu build with grub-emu-pci and grub-emu-modules.
17477
17478 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
17479 functions.
17480 * include/grub/libpciaccess.h: New file.
17481 * conf/any-emu.rmk: Update kernel headers for emu build.
17482
f48c87aa
VS
174832010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17484
17485 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
17486
18959385
VS
174872010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17488
17489 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
17490
0037de3f
VS
174912010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17492
17493 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
17494 Retrieve chosen/bootpath if bootpath isn't hardcoded.
17495 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
17496 util/ieee1275/ofpath.c.
17497 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
17498 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
17499 * include/grub/sparc64/ieee1275/boot.h
17500 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
17501 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
17502 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
17503 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
17504 const char *.
17505 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
17506 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
17507 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
17508 install.
17509
38e55e90
GS
175102010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
17511
17512 * util/grub-mkconfig.in: Corrected two == equality tests.
17513 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
17514 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
17515 expect a number appended to it.
17516 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
17517 expects a number appended to it.
17518
a9e6ff28
VS
175192010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17520
17521 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
17522
0b830b8f
VS
175232010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17524
17525 * util/hostdisk.c (make_device_name): Change to new partition naming.
17526
0973daeb
VS
175272010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
17528
17529 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
17530
460d8402 175312010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
17532
17533 * Makefile.in: Add missing localedir setting.
17534
0b456309
CW
175352010-04-14 Colin Watson <cjwatson@ubuntu.com>
17536
17537 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
17538 mistake in r2156. Noticed by Anthony Fok.
17539
17540 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
17541 @localedir@.
17542 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
17543
08f46d62
BC
175442010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
17545
17546 Fix a spurious, uninitialized variable warning.
17547
17548 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
17549 Initialize variable, shdr.
17550 (grub_freebsd_load_elfmodule): Likewise.
17551 (grub_freebsd_load_elf_meta): Likewise.
17552
8c4a72d4
BC
175532010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
17554
17555 Fix for escaped dollar in double quoted strings.
17556
17557 * script/yylex.l: Updated flex rules.
17558 * conf/tests.rmk: Rule for new testcase.
17559 * tests/grub_script_dollar.in: New testcase.
17560
ce44826e
CPE
175612010-04-13 Carles Pina i Estany <carles@pina.cat>
175622010-04-13 Colin Watson <cjwatson@ubuntu.com>
17563
17564 Enclose all translated strings in grub.cfg in single quotes, and
17565 escape them appropriately (Ubuntu bug #552921).
17566
17567 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
17568 * util/grub.d/10_hurd.in: Use it.
17569 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
17570 * util/grub.d/10_linux.in (linux_entry): Likewise.
17571
4b0cd8f8
VS
175722010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17573
17574 Fix cygwin compilation.
17575
17576 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
17577 * include/grub/misc.h (__register_frame_info)
17578 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
17579 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
17580 * kern/misc.c (__register_frame_info)
17581 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
17582 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
17583
01fcf061
VS
175842010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17585
17586 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
17587
5d04b11e
VS
175882010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17589
17590 Unify libgcc processing.
17591
17592 * Makefile.in (kernel_img_LDFLAGS): New variable.
17593 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
17594 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
17595 overwriting.
17596 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
17597 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
17598 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
17599 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
17600 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
17601 overwriting. Remove -lgcc and -static-libgcc
17602 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
17603 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
17604 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
17605 (kernel_img_LDFLAGS): Append instead of overwriting.
17606 Remove -lgcc and -static-libgcc
17607 * conf/sparc64-ieee1275.rmk: Likewise.
17608 * include/grub/powerpc/libgcc.h: Move to ...
17609 * include/grub/libgcc.h: .. this.
17610 * include/grub/libgcc.h: Don't export most of the function on x86.
17611 (__bswapsi2): New export.
17612 (__bswapdi2): Likewise.
17613 * include/grub/mips/libgcc.h: Removed.
17614 * include/grub/sparc64/libgcc.h: Likewise.
17615
b7f3ac29
VS
176162010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17617
17618 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
17619 disk_info_msg (conflicts with gettexting into languages with cases).
17620
2c7031b1
GS
176212010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
17622
17623 Add grub-probe support for NetBSD.
17624
17625 * util/getroot.c (find_root_device): Convert block device to
17626 character device on NetBSD.
17627 * util/probe.c (probe): Require character device on NetBSD.
17628 * util/hostdisk.c: NetBSD specific headers.
17629 (configure_device_driver): new function to tune device driver
17630 parameters (currently only for NetBSD floppy driver).
17631 (grub_util_biosdisk_open): NetBSD specific code (get disk size
17632 via disklabel ioctl).
17633 (open_device): call configure_device_driver on NetBSD.
17634 (convert_system_partition_to_system_disk): NetBSD specific code.
17635 (device_is_wholedisk): Likewise.
17636 (grub_util_biosdisk_get_grub_dev): Likewise.
17637 (make_device_name): Fixed a typo in bsd_part_str.
17638 * configure.ac: check for opendisk() and getrawpartition() on
17639 NetBSD and set LIBUTIL.
17640 * Makefile.in: add LIBUTIL to LIBS.
17641
f516290c
BC
176422010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
17643
17644 Documentation fix.
17645
17646 * util/grub-script-check.c: Better help message.
17647
d8dcc0df
BC
176482010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
17649
17650 Fix FreeBSD build.
17651
17652 * configure.ac: Flex version check.
17653 * conf/common.rmk: Add -Wno-error to sh.mod.
17654 * script/yylex.l: Remove all #pragma.
17655
6734334a
VS
176562010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17657
17658 * include/grub/util/misc.h (canonicalise_file_name): Add missing
17659 prototype.
17660 Reported by: Seth Goldberg.
17661
daea6abd
VS
176622010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17663
17664 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
17665 Rename "module" to "module2".
17666 Reported by: Seth Goldberg.
17667
f2fd9d2b
VS
176682010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17669
17670 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
17671 EXPORT_FUNC.
17672 Reported by: Seth Goldberg.
17673
be124579
VS
176742010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17675
17676 * lib/posix_wrap/locale.h: Add missing file.
17677 Reported by: Seth Goldberg.
17678
ef5da797
VS
176792010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17680
17681 grub-emu module load support.
17682
17683 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
17684 NO_DYNAMIC_MODULES switched to this.
17685 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
17686 (CFLAGS): Likewise.
17687 * conf/any-emu.rmk: Generate symlist.
17688 (kernel_img_HEADERS): Add util/datetime.h.
17689 (kernel_img_HEADERS) [sdl]: Add sdl.h.
17690 (kernel_img_HEADERS) [libusb]: Add libusb.h.
17691 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
17692 kern/$(target_cpu)/cache.S.
17693 * configure.ac (grub-emu-modules): New option.
17694 * genmk.rb: Handle multiple source lists.
17695 * include/grub/sdl.h: New file.
17696 * include/grub/libusb.h: Likewise.
17697 * util/grub-emu.c (main): Hanle (host) root.
17698 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
17699 GRUB_ERR_UNKNOWN_DEVICE.
17700 * util/misc.c: Move mm functions to ...
17701 * util/mm.c: ... here. All users updated.
17702
47822096
VS
177032010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17704
17705 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
17706 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
17707 missing files.
17708 (maintainer-clean): Remove libgcrypt-grub.
17709
5d7e7445
VS
177102010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17711
17712 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
17713
25f4e252
EC
177142010-04-09 EFI Coder <eficoder@hotmail.com>
17715
17716 * normal/menu_text.c (print_message): Clean up the message and show
17717 the Fn information when on EFI
17718 * term/efi/console.c (grub_console_checkkey): Add F4 support.
17719
027de555
VS
177202010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17721
17722 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
17723 All users updated.
17724 * normal/crypto.c (read_crypto_list): Likewise.
17725 * normal/dyncmd.c (read_command_list): Likewise.
17726 * normal/term.c (read_terminal_list): Likewise.
17727 * normal/main.c (read_lists): Use explicit prefix.
17728 (read_lists_hook): Use read_lists.
17729 (grub_normal_execute): Likewise.
17730
47779711
VS
177312010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17732
17733 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
17734 Reported by: Thomas Schmitt.
17735 Add -no-emul-boot to grub-mkisofs parameters.
17736
1118c32e
VS
177372010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17738
17739 * font/font.c: Indented.
17740
7d652447
BC
177412010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
17742
17743 Elif support to GRUB script (by Deepak Vankadaru).
17744
17745 * tests/grub_script_if.in: New testcase.
17746 * conf/tests.rmk: Rule for new testcase.
17747 * script/parser.y: Grammar rules for elif.
17748
34bb22df
BC
177492010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
17750
17751 While and until loops support to GRUB script.
17752
17753 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
17754 (grub_script_create_cmdwhile): New function prototype.
17755 (grub_script_execute_cmdwhile): New function prototype.
17756 * script/execute.c (grub_script_execute_cmdwhile): New function.
17757 * script/parser.y (command): New commands.
17758 (whilecmd): New grammar rule.
17759 (untilcmd): New grammar rule.
17760 * script/script.c (grub_script_create_cmdwhile): New function.
17761 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
17762 function.
17763
17764 * tests/grub_script_while1.in: New testcase.
17765 * conf/tests.rmk: Rule for new testcase.
17766
e215d8e0
VS
177672010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17768
17769 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
17770 as *.jpg.
17771
d7c43ba1
MV
177722010-04-09 Mario Vazquez <mariovazq@gmail.com>
17773
17774 GRUB_BACKGROUND support.
17775
17776 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
17777 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
17778
d64795c0
VS
177792010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17780
17781 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 17782 Idea by: Mario Vazquez
d64795c0
VS
17783
17784 * util/grub.d/00_header.in: Load pf2 and image modules.
17785
f267f83a
VS
177862010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17787
17788 grub-mkconfig multiple terminal support.
17789
17790 * util/grub-mkconfig.in: Handle multiple terminals correctly.
17791 * util/grub.d/00_header.in: Likewise.
17792
b7841ceb
VS
177932010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17794
17795 * Makefile.in: Specify files explicitly instead of using $< and $@ since
17796 we use cd $(srcdir).
17797
df60998c
CW
177982010-04-08 Colin Watson <cjwatson@ubuntu.com>
17799
17800 * util/grub.d/10_linux.in: Only use the first word of
17801 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
17802 spaces in GRUB_DISTRIBUTOR.
17803 * util/grub.d/10_kfreebsd.in: Likewise.
17804 * util/grub.d/10_hurd.in: Likewise.
17805
fa09c82e
BC
178062010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
17807
14e18ae3 17808 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
17809
17810 * tests/util/grub-shell.in: Remove -serial stdio option.
17811
daf892b3
BC
178122010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
17813
17814 POSIX header file wrappers.
17815
17816 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
17817 equivalents.
17818 * lib/posix_wrap/ctype.h: Likewise.
17819 * lib/posix_wrap/errno.h: Likewise.
17820 * lib/posix_wrap/langinfo.h: Likewise.
17821 * lib/posix_wrap/limits.h: Likewise.
17822 * lib/posix_wrap/localcharset.h: Likewise.
17823 * lib/posix_wrap/stdint.h: Likewise.
17824 * lib/posix_wrap/stdio.h: Likewise.
17825 * lib/posix_wrap/stdlib.h: Likewise.
17826 * lib/posix_wrap/string.h: Likewise.
17827 * lib/posix_wrap/sys/types.h: Likewise.
17828 * lib/posix_wrap/unistd.h: Likewise.
17829 * lib/posix_wrap/wchar.h: Likewise.
17830 * lib/posix_wrap/wctype.h: Likewise.
17831 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
17832 (grub_script.yy.h): Likewise.
17833 * script/yylex.l: Remove POSIX emulation #defines.
17834 * Makefile.in (POSIX_CFLAGS): New variable.
17835 (GNULIB_UTIL_CFLAGS): Likewise.
17836
17837 Regexp support.
17838
17839 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
17840 (regexp_mod_SOURCES): New variable.
17841 (regexp_mod_CFLAGS): Likewise.
17842 (regexp_mod_LDFLAGS): Likewise.
17843 * commands/regexp.c: New file.
17844 * gnulib/regcomp.c: New file. Imported from gnulib.
17845 * gnulib/regex.c: Likewise.
17846 * gnulib/regex_internal.c: Likewise.
17847 * gnulib/regex_internal.h: Likewise.
17848 * gnulib/regexec.c: Likewise.
17849 * gnulib/regex.h: Likewise.
17850
974ac4f7
VS
178512010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17852
17853 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
17854 unsupported video mode types.
17855
2622c3ff
VS
178562010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17857
17858 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
17859
064cb524
VS
178602010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17861
17862 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
17863 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
17864
a8c3b552
VS
178652010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
17866
17867 Remove unused grub_vga_get_font.
17868
17869 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
17870 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
17871
187bbe3d
GS
178722010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
17873
17874 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
17875 * include/grub/misc.h: Likewise.
17876
b9396631
GS
178772010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
17878
17879 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
17880 for which failure is fatal.
17881
50479feb
GS
178822010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
17883
17884 * util/grub-install.in: Use mkdir -p to create grub directory.
17885 * util/i386/efi/grub-install.in: Likewise.
17886 * util/ieee1275/grub-install.in: Likewise.
17887
b1654fdf
GS
178882010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
17889
17890 * Makefile.in (LEX): new variable.
17891
bd5a6415
GS
178922010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
17893
17894 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
17895 `=' and added double quotes on operands of this equality test.
17896
3db3a82b
VS
178972010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
17898
17899 * Makefile.in (uninstall): Remove a leftover debug echo.
17900 Reported by: Grégoire Sutre
17901
38023412
VS
179022010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
17903
17904 MIPS multiboot2 support.
17905
17906 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
17907 (multiboot2_mod_SOURCES): New variable.
17908 (multiboot2_mod_CFLAGS): Likewise.
17909 (multiboot2_mod_LDFLAGS): Likewise.
17910 (multiboot2_mod_ASFLAGS): Likewise.
17911 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
17912 definition.
17913 (MULTIBOOT_ENTRY_REGISTER): Likewise.
17914 (MULTIBOOT_MBI_REGISTER): Likewise.
17915 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
17916 (MULTIBOOT_ELF32_MACHINE): Likewise.
17917 (MULTIBOOT_ELF64_MACHINE): Likewise.
17918 * include/grub/mips/multiboot.h: New file.
17919 * include/grub/video.h (grub_video_driver_id): New type
17920 GRUB_VIDEO_DRIVER_SM712.
17921 (grub_video_get_info_and_fini): Export.
17922 (grub_video_get_palette): Likewise.
17923 (grub_video_get_driver_id): Likewise.
17924 * include/multiboot2.h: Resynced with spec.
17925 * loader/i386/multiboot.c: Moved from here ...
17926 * loader/multiboot.c: ... here. All users updated.
17927 (grub_multiboot_boot): Use platform-specific macros.
17928 * loader/i386/multiboot_elfxx.c: Moved from here ...
17929 * loader/multiboot_elfxx.c: ... here. All users updated.
17930 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
17931 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
17932 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
17933
47674667
VS
179342010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
17935
17936 Import gnulib argp module.
17937
17938 * gnulib/argp-ba.c: New file.
17939 * gnulib/argp-eexst.c: Likewise.
17940 * gnulib/argp-fmtstream.c: Likewise.
17941 * gnulib/argp-fmtstream.h: Likewise.
17942 * gnulib/argp-fs-xinl.c: Likewise.
17943 * gnulib/argp-help.c: Likewise.
17944 * gnulib/argp-namefrob.h: Likewise.
17945 * gnulib/argp-parse.c: Likewise.
17946 * gnulib/argp-pin.c: Likewise.
17947 * gnulib/argp-pv.c: Likewise.
17948 * gnulib/argp-pvh.c: Likewise.
17949 * gnulib/argp-version-etc.c: Likewise.
17950 * gnulib/argp-version-etc.h: Likewise.
17951 * gnulib/argp-xinl.c: Likewise.
17952 * gnulib/argp.h: Likewise.
17953
495442ed
VS
179542010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
17955
17956 * kern/device.c (grub_device_iterate): Clear errors after failed
17957 opening device.
17958
f9fd65df
VS
179592010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
17960
17961 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
17962 returned by firmware.
17963
af09641e
VS
179642010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
17965
17966 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
17967 compilation on coreboot and qemu
17968
016883a5
VS
179692010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
17970
17971 * include/multiboot2.h: Resync with spec.
17972
f97e1f7d
VS
179732010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
17974
17975 Multiboot2 tag support
17976
17977 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
17978 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
17979 Remove loader/multiboot_loader.c.
17980 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
17981 (grub_multiboot2_real_boot): Likewise.
17982 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
17983 (grub_get_multiboot_mmap_count): New proto.
17984 (grub_fill_multiboot_mmap): Likewise.
17985 (grub_multiboot_set_video_mode): Likewise.
17986 (grub_multiboot_set_console): Likewise.
17987 (grub_multiboot_load): Likewise.
17988 (grub_multiboot_load_elf): Likewise.
17989 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
17990 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
17991 * include/multiboot.h: Resynced with specification.
17992 * include/multiboot2.h: Resynced with specification.
17993 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
17994 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
17995 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
17996 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
17997 users updated.
17998 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
17999 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
18000 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
18001 Removed.
18002 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
18003 Moved from here...
18004 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
18005 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
18006 Moved from here...
18007 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
18008 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
18009 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
18010 All users updated.
18011 * loader/i386/multiboot_mbi2.c: New file.
18012
3506b90b
VS
180132010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18014
18015 Resync with gnulib.
18016
18017 * Makefile.in (GNULIB_CFLAGS): New variable.
18018 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
18019 (grub_script_check_CFLAGS): New variable.
18020 * gnulib/alloca.h: Resync with gnulib.
18021 * gnulib/error.c: Likewise.
18022 * gnulib/error.h: Likewise.
18023 * gnulib/fnmatch.c: Likewise.
18024 * gnulib/fnmatch_loop.c: Likewise.
18025 * gnulib/getdelim.c: Likewise.
18026 * gnulib/getline.c: Likewise.
18027 * gnulib/getopt.c: Likewise.
18028 * gnulib/getopt1.c: Likewise.
18029 * gnulib/getopt_int.h: Likewise.
18030 * gnulib/gettext.h: Likewise.
18031 * gnulib/progname.c: Likewise.
18032 * gnulib/progname.h: Likewise.
18033
394a3120
GS
180342010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
18035
18036 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
18037 which is the case with --disabled-nls.
18038
18039 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
18040 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
18041 * util/misc.c: Likewise.
18042 * util/mkisofs/mkisofs.c: Likewise.
18043 * util/mkisofs/mkisofs.h: Likewise.
18044
969d1c78
VS
180452010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18046
18047 Simplify Apple CC support.
18048
18049 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
18050 Add 0 byte at the end not to have a symbol with empty target.
18051 * mmap/i386/pc/mmap_helper.S: Likewise.
18052 * genmk.rb: Ignore errors 2030 and 2050.
18053 * kern/i386/pc/startup.S: Use LOCAL when possible.
18054
8d2977bb
BC
180552010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
18056
18057 Testcase and the fix for final semicolon on cmdline.
18058
18059 * tests/grub_script_final_semicolon.in: New testcase.
18060 * conf/tests.rmk: Rules for the new testcase.
18061 * script/parser.y: Grammar fix.
18062
a7bd6915
BC
180632010-03-26 BVK Chaitanya <bvk@localhost>
18064
18065 Blank lines testcase for GRUB script.
18066
18067 * tests/grub_script_blanklines.in: New testcase.
18068 * conf/tests.rmk: Rules for the new testcase.
18069
e4ff6628
VS
180702010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18071
18072 Don't use __FILE__.
18073
18074 * genmk.rb: Add -DGRUB_FILE to all C targets.
18075 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
18076 * include/grub/list.h: Likewise.
18077 * include/grub/misc.h: Likewise.
18078 * include/grub/mm.h: Likewise.
18079 * include/grub/test.h: Likewise.
18080 * kern/mm.c: Likewise.
18081 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
18082
6a5cf6b6
VS
180832010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18084
18085 Sunpc partitions support.
18086
18087 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
18088 (grub_fstest_SOURCES): Likewise.
18089 (pkglib_MODULES): Add part_sunpc.mod.
18090 (part_sunpc_mod_SOURCES): New variable.
18091 (part_sunpc_mod_CFLAGS): Likewise.
18092 (part_sunpc_mod_LDFLAGS): Likewise.
18093 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
18094 * partmap/sunpc.c: New file.
18095
746d9045
BC
180962010-03-26 BVK Chaitanya <bvk@localhost>
18097
18098 For loop support to GRUB script.
18099
18100 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
18101 (grub_script_create_cmdfor): New function prototype.
18102 (grub_script_execute_cmdfor): New function prototype.
18103 * script/execute.c (grub_script_execute_cmdfor): New function.
18104 * script/parser.y (command): New for command.
18105 (forcmd): New grammar rule.
18106 * script/script.c (grub_script_create_cmdfor): New function.
18107 * util/grub-script-check.c (grub_script_execute_cmdfor): New
18108 function.
18109 * tests/grub_script_for1.in: New testcase.
18110 * conf/tests.rmk: Rules for new testcase.
18111
18486b18
VS
181122010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18113
18114 Nested partitions
18115
18116 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
18117 'partition' is NULL, grub_partition_get_start already does that.
18118 * commands/loadenv.c (check_blocklists): Likewise.
18119 (write_blocklists): Likewise.
18120 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
18121 (grub_fstest_SOURCES): Likewise.
18122 (pkglib_MODULES): Add part_bsd.mod.
18123 (part_bsd_mod_SOURCES): New variable.
18124 (part_bsd_mod_CFLAGS): Likewise.
18125 (part_bsd_mod_LDFLAGS): Likewise.
18126 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
18127 (grub_emu_SOURCES): Likewise.
18128 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18129 * include/grub/bsdlabel.h: New file.
18130 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
18131 'get_name'.
18132 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
18133 (grub_partition_map_list): New variable.
18134 (grub_partition_map_register): Inline.
18135 (grub_partition_map_unregister): Likewise.
18136 (FOR_PARTITION_MAPS): New macro.
18137 (grub_partition_map_iterate): Removed.
18138 (grub_partition_get_start): Handle nested partitions.
18139 * include/grub/msdos_partition.h: Remove bsd-related entries.
18140 (grub_pc_partition): Remove.
18141 * kern/disk.c (grub_disk_close): Free partition data.
18142 (grub_disk_adjust_range): Handle nested partitions.
18143 * kern/partition.c (grub_partition_map_probe): New function.
18144 (grub_partition_probe): Parse name to number, handle subpartitions.
18145 (get_partmap): New function.
18146 (grub_partition_iterate): Handle subpartitions.
18147 (grub_partition_get_name): Likewise.
18148 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
18149 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
18150 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
18151 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
18152 Set 'number'.
18153 (acorn_partition_map_probe): Remove.
18154 (acorn_partition_map_get_name): Likewise.
18155 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
18156 Set 'number'.
18157 Set 'index' to 0 since there can be only one partition entry per sector.
18158 (amiga_partition_map_probe): Remove.
18159 (amiga_partition_map_get_name): Likewise.
18160 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
18161 Set 'number'.
18162 Set 'offset' and 'index' to real positions of partitions.
18163 (apple_partition_map_probe): Remove.
18164 (apple_partition_map_get_name): Likewise.
18165 * partmap/bsdlabel.c: New file.
18166 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
18167 Set 'number'.
18168 Allocate 'data' so it can be correctly freed.
18169 Set 'index' to offset inside sector.
18170 (gpt_partition_map_probe): Remove.
18171 (gpt_partition_map_get_name): Likewise.
18172 * partmap/msdos.c (grub_partition_parse): Remove.
18173 (pc_partition_map_iterate): Don't force raw access.
18174 Set 'number'.
18175 Make 'ext_offset' a local variable.
18176 (pc_partition_map_probe): Remove.
18177 (pc_partition_map_get_name): Remove.
18178 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
18179 Set 'number'.
18180 (sun_partition_map_probe): Remove.
18181 (sun_partition_map_get_name): Likewise.
18182 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
18183 (grub_pcpart_type): Likewise.
18184 * util/hostdisk.c (open_device): Handle new numbering scheme.
18185 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
18186 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
18187 * util/grub-probe.c (probe_partmap): Handle nested paritions.
18188 * util/grub-install.in: Insert all subpartition modules.
18189 * util/ieee1275/grub-install.in: Likewise.
18190
a3940f88
AG
181912010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
18192
18193 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
18194 grammar.
18195
21b99926 181962010-03-24 Colin Watson <cjwatson@ubuntu.com>
18197
18198 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
18199
bed1d352
CW
182002010-03-21 Colin Watson <cjwatson@ubuntu.com>
18201
18202 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
18203 match where 'make install' puts them.
18204 * util/i386/efi/grub-install.in: Likewise.
18205
c9f58427
CW
182062010-03-19 Colin Watson <cjwatson@ubuntu.com>
18207
18208 * .bzrignore: Add gentrigtables, grub-script-check,
18209 grub_script_check_init.c, grub_script_check_init.h, and
18210 trigtables.c.
18211
f84afb27
VS
182122010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
18213
18214 * kern/parser.c: Indented.
18215
ed0e3d30
VS
182162010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18217
18218 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
18219
0ea81d98
VS
182202010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18221
18222 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
18223 alpha_mask_size == 0 case.
18224
0cdc2a09
BC
182252010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
18226
18227 GRUB shell lexer and parser improvements.
18228
18229 * conf/any-emu.rmk: Build rule updates.
18230 * conf/common.rmk: Likewise.
18231 * conf/i386-coreboot.rmk: Likewise.
18232 * conf/i386-efi.rmk: Likewise.
18233 * conf/i386-ieee1275.rmk: Likewise.
18234 * conf/i386-pc.rmk: Likewise.
18235 * conf/powerpc-ieee1275.rmk: Likewise.
18236 * conf/x86_64-efi.rmk: Likewise.
18237
18238 * configure.ac: Configure check for flex.
18239
18240 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
18241 types.
18242 (grub_lexer_param): Struct member updates.
18243 (grub_parser_param): Likewise.
18244 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
18245 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
18246 (grub_script_lexer_init): Prototype update.
18247 (grub_script_lexer_record_start): Likewise.
18248 (grub_script_lexer_record_stop): Likewise.
18249 (grub_script_lexer_yywrap): New function prototype.
18250 (grub_script_lexer_fini): Likewise.
18251 (grub_script_execute_argument_to_string): Removed by...
18252 (grub_script_execute_argument_to_argv): ...better version.
18253
18254 * script/execute.c (ROUND_UPTO): New macro.
18255 (grub_script_execute_cmdline): Out of memory fixes.
18256 (grub_script_execute_menuentry): Likewise.
18257 (grub_script_execute_argument_to_string): Removed. Update all
18258 users by...
18259 (grub_script_execute_argument_to_argv): ...better version.
18260 * script/function.c (grub_script_function_create): Use
18261 grub_script_execute_argument_to_argv instead of
18262 grub_script_execute_argument_to_string.
18263
18264 * script/lexer.c (check_varstate): Removed.
18265 (check_textstate): Removed.
18266 (grub_script_lexer_record_start): Likewise.
18267 (grub_script_lexer_record_stop): Likewise.
18268 (recordchar): Replaced with...
18269 (grub_script_lexer_record): ...new function.
18270 (nextchar): Removed.
18271 (grub_script_lexer_init): Rewritten.
18272 (grub_script_yylex): Rewritten.
18273 (append_newline): New function.
18274 (grub_script_lexer_yywrap): New function.
18275 (grub_script_lexer_fini): New function.
18276 (grub_script_yyerror): Sets error flag.
18277
18278 * script/yylex.l: New file.
18279 (grub_lexer_yyfree): Wrapper for flex yyffre.
18280 (grub_lexer_yyalloc): Likewise.
18281 (grub_lexer_yyrealloc): Likewise.
18282 * script/parser.y: Refactored.
18283
18284 * script/script.c (grub_script_arg_add): Out of memory fixes.
18285 (grub_script_add_arglist): Likewise.
18286 (grub_script_create_cmdline): Likewise.
18287 (grub_script_create_cmdmenu): Likewise.
18288 (grub_script_add_cmd): Likewise.
18289 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
18290 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
18291 unnecessary code.
18292
18293 * tests/grub_script_echo1.in: New testcase.
18294 * tests/grub_script_vars1.in: New testcase.
18295 * tests/grub_script_echo_keywords.in: New testcase.
18296
1d63a066
VS
182972010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18298
18299 Remove some redundancy in build system.
18300
18301 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
18302 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
18303 (TARGET_LDFLAGS): Add -nostdlib.
18304 (TARGET_IMG_LDFLAGS): Likewise.
18305 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
18306 anything since mmap isn't available.
18307 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
18308 Add util/time.c.
18309 (pkglib_MODULES): Remove reboot.mod.
18310 (reboot_mod_SOURCES): Removed.
18311 (reboot_mod_CFLAGS): Likewise.
18312 (reboot_mod_LDFLAGS): Likewise.
18313 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
18314 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
18315 (DEFSYMFILES): Add kernel_syms.lst.
18316 (kernel_img_HEADERS): Add common headers.
18317 (symlist.c): New target.
18318 (kernel_syms.lst): Likewise.
18319 (pkglib_MODULES): Add memdisk.mod.
18320 (memdisk_mod_SOURCES): New variable.
18321 (memdisk_mod_CFLAGS): Likewise.
18322 (memdisk_mod_LDFLAGS): Likewise.
18323 (pkglib_MODULES): Add reboot.mod.
18324 (reboot_mod_SOURCES): New variable.
18325 (reboot_mod_CFLAGS): Likewise.
18326 (reboot_mod_LDFLAGS): Likewise.
18327 (pkglib_MODULES): Add date.mod.
18328 (date_mod_SOURCES): New variable.
18329 (date_mod_CFLAGS): Likewise.
18330 (date_mod_LDFLAGS): Likewise.
18331 (pkglib_MODULES): Add datehook.mod.
18332 (datehook_mod_SOURCES): New variable.
18333 (datehook_mod_CFLAGS): Likewise.
18334 (datehook_mod_LDFLAGS): Likewise.
18335 (pkglib_MODULES): Add lsmmap.mod.
18336 (lsmmap_mod_SOURCES): New variable.
18337 (lsmmap_mod_CFLAGS): Likewise.
18338 (lsmmap_mod_LDFLAGS): Likewise.
18339 (pkglib_MODULES): Add boot.mod.
18340 (boot_mod_SOURCES): New variable.
18341 (boot_mod_CFLAGS): Likewise.
18342 (boot_mod_LDFLAGS): Likewise.
18343 * conf/i386-coreboot.rmk: Removed redundant parts.
18344 * conf/i386-ieee1275.rmk: Likewise.
18345 * conf/i386-pc.rmk: Likewise.
18346 * conf/mips-yeeloong.rmk: Likewise.
18347 * conf/mips.rmk: Likewise.
18348 * conf/powerpc-ieee1275.rmk: Likewise.
18349 * conf/sparc64-ieee1275.rmk: Likewise.
18350 * conf/x86_64-efi.rmk: Likewise.
18351 * conf/i386-coreboot.rmk: Moved qemu parts ..
18352 * conf/i386-qemu.rmk: ... here
18353 * conf/i386-efi.rmk: Moved common parts to...
18354 * conf/x86-efi.rmk: ... here.
18355 * conf/i386.rmk: Added modules common to all x86 variants.
18356 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
18357 * disk/memdisk.c: Remove grub/machine/kernel.h.
18358 * gensymlist.sh.in: Include symbol.h.
18359 * hook/datehook.c: Correct module name.
18360 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
18361 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
18362 * include/grub/i386/efi/serial.h: New file.
18363 * include/grub/x86_64/efi/serial.h: Likewise.
18364 * util/time.c: Likewise.
18365 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
18366
463ac55f
CK
183672010-03-14 Colin King <colin.king@ubuntu.com>
183682010-03-14 Colin Watson <cjwatson@ubuntu.com>
18369
18370 Shrink the pre-partition-table part of boot.img by eight bytes.
18371
18372 * boot/i386/pc/boot.S (ERR): New macro.
18373 (chs_mode): Use ERR.
18374 (geometry_error): Likewise.
18375 (hd_probe_error): Remove. This is only used once, so we wrwite
18376 it inline instead.
18377 (read_error): Instead of printing read_error_string, just set up
18378 %si and fall through to ...
18379 (error_message): ... this new function, also used by ERR.
18380
08e46ede
CW
183812010-03-14 Colin Watson <cjwatson@ubuntu.com>
18382
18383 Speed up consecutive hostdisk operations on the same device.
18384
18385 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
18386 (grub_util_biosdisk_open): Initialise disk->data.
18387 (struct linux_partition_cache): New structure.
18388 (linux_find_partition): Cache partition start positions; these are
18389 expensive to compute on every read and write.
18390 (open_device): Cache open file descriptor in disk->data, so that we
18391 don't have to reopen it and flush the buffer cache for consecutive
18392 operations on the same device.
18393 (grub_util_biosdisk_close): New function.
18394 (grub_util_biosdisk_dev): Set `close' member.
18395
18396 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
18397 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
18398 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18399 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18400 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
18401
4a6d2d06
VS
184022010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18403
18404 Compile parts of grub-emu as modules.
18405
18406 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
18407 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
18408 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
18409 (all-local): Add $(GRUB_EMU).
18410 (install-local): Install $(GRUB_EMU).
18411 (uninstall): Uninstall $(GRUB_EMU).
18412 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
18413 * kern/dl.c: Likewise.
18414 * commands/sleep.c: Not include machine/time.h.
18415 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
18416 (COMMON_CFLAGS): Likewise.
18417 (sbin_UTILITIES): Remove grub-emu.
18418 (grub_emu_SOURCES): Removed.
18419 (kernel_img_RELOCATABLE): New variable.
18420 (pkglib_PROGRAMS): Add kernel.img.
18421 (kernel_img_SOURCES): New variable
18422 (kernel_img_CFLAGS): Likewise.
18423 (kernel_img_LDFLAGS): Likewise.
18424 (TARGET_NO_STRIP): Likewise.
18425 (TARGET_NO_DYNAMIC_MODULES): Likewise.
18426 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
18427 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
18428 (grub-emu): New target.
18429 (GRUB_EMU): New variable.
18430 * configure.ac: Whitelist -emu as possible x86_64 architecture.
18431 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
18432 * loader/xnu.c: Likewise.
18433 * include/grub/pci.h: Likewise.
18434 * genemuinit.sh: New file.
18435 * genemuinitheader.sh: Likewise.
18436 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
18437 Support TARGET_NO_DYNAMIC_MODULES.
18438 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
18439 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
18440 * disk/loopback.c: Likewise.
18441 * font/font_cmd.c: Likewise.
18442 * partmap/acorn.c: Likewise.
18443 * partmap/amiga.c: Likewise.
18444 * partmap/apple.c: Likewise.
18445 * partmap/gpt.c: Likewise.
18446 * partmap/msdos.c: Likewise.
18447 * partmap/sun.c: Likewise.
18448 * parttool/msdospart.c: Likewise.
18449 * term/gfxterm.c: Likewise.
18450 * video/bitmap.c: Likewise.
18451 * video/readers/jpeg.c: Likewise.
18452 * video/readers/png.c: Likewise.
18453 * video/readers/tga.c: Likewise.
18454 * video/video.c: Likewise.
18455 * util/grub-emu.c (read_command_list): Removed.
18456 (main): Don't call util_init_nls.
18457 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
18458 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
18459
91fdd2ed
VS
184602010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18461
18462 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
18463 date.mod, datehook.mod.
18464 (datetime_mod_SOURCES): New variable.
18465 (datetime_mod_CFLAGS): Likewise.
18466 (datetime_mod_LDFLAGS): Likewise.
18467 (date_mod_SOURCES): Likewise.
18468 (date_mod_CFLAGS): Likewise.
18469 (date_mod_LDFLAGS): Likewise.
18470 (datehook_mod_SOURCES): Likewise.
18471 (datehook_mod_CFLAGS): Likewise.
18472 (datehook_mod_LDFLAGS): Likewise.
18473 * conf/sparc64-ieee1275.rmk: Likewise.
18474 * lib/ieee1275/datetime.c: New file.
18475
873ccae6
VS
184762010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18477
18478 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
18479 (ieee1275_fb_mod_SOURCES): New variable.
18480 (ieee1275_fb_mod_CFLAGS): Likewise.
18481 (ieee1275_fb_mod_LDFLAGS): Likewise.
18482 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
18483 New proto.
18484 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
18485 (HEAP_MAX_ADDR): Likewise.
18486 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
18487 type.
18488 Correct stop condition.
18489 (grub_ieee1275_devices_iterate): New function.
18490 * video/ieee1275.c: New file.
18491
601c97c0
VS
184922010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18493
18494 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
18495
18496 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
18497 as scratch.
18498 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
18499 SCRATCH_PAD_DISKBOOT as scratch.
18500 (bootit): Pass Openfirmware pointer in %o4.
18501 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
18502 of 0x200000.
18503 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
18504 with util/grub-mkrawimage.c.
18505 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
18506 * include/grub/aout.h (AOUT_MID_SUN): New definition.
18507 (grub_aout_get_type) [GRUB_UTIL]: Removed.
18508 (grub_aout_load) [GRUB_UTIL]: Likewise.
18509 * include/grub/kernel.h (grub_modules_get_end): New proto.
18510 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
18511 (SCRATCH_PAD_BOOT): New definition.
18512 (SCRATCH_PAD_DISKBOOT): Likewise.
18513 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
18514 * include/grub/sparc64/ieee1275/ieee1275.h
18515 (grub_ieee1275_original_stack): New variable
18516 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
18517 New definition
18518 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
18519 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
18520 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
18521 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
18522 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
18523 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
18524 (grub_platform_image_format_t): New type.
18525 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
18526 * kern/main.c (grub_modules_get_end)
18527 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
18528 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
18529 (codestart): Switch stacks.
18530 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
18531 variable.
18532 (grub_heap_init): Use grub_modules_get_end.
18533 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
18534 stack.
18535 * util/grub-mkrawimage.c (generate_image): Support sparc64.
18536 (main): Likewise.
18537 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
18538
d68b491e
TG
185392010-03-14 Thorsten Glaser <tg@mirbsd.org>
18540
18541 * util/grub-mkrescue.in: Base ISO UUID on UTC.
18542
4e02ed50
MK
185432010-03-08 Matt Kraai <kraai@ftbfs.org>
18544
18545 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
18546 bug #559005).
18547
1f15fc1e
VS
185482010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
18549
18550 * genmoddep.awk: Output all missing symbols and not only first.
18551
fce5d8ff
VS
185522010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18553
18554 * NEWS: Put the date of 1.98 release.
18555
d1e8a02f
VS
185562010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18557
18558 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
18559 ft2build.h.
18560
696fd607
VS
185612010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18562
18563 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
18564 completition in the middle of string.
18565
33e2e6f3
VS
185662010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18567
18568 * util/grub-mkrescue.in: Use mktemp with explicit template.
18569
b1f6d291
VS
185702010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18571
18572 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
18573
2ac227c7
VS
185742010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18575
18576 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
18577 right pointer.
18578
8f9a632b
VS
185792010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
18580
18581 Fix FreeBSD compilation.
18582
18583 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
18584 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
18585
60b03859
VS
185862010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
18587
18588 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
18589
48a5a769
VS
185902010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18591
18592 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
18593
3ab4bd77
VS
185942010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18595
18596 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
18597
d116e0d8
RM
185982010-03-04 Robert Millan <rmh.grub@aybabtu.com>
18599
18600 Support relative image path in theme file.
18601
18602 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
18603 (image_set_property): Handle theme_dir and relative path.
18604
c7ef54aa
VS
186052010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18606
18607 * configure.ac: Alias amd64 to x86_64.
18608
fcee14ed
VS
186092010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18610
18611 * NEWS: mention multiboot on EFI.
18612
d0780363
VS
186132010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18614
18615 * kern/main.c (grub_load_modules): Handle errors from init functions of
18616 embeded modules.
18617
41168ea4
VS
186182010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18619
18620 * normal/autofs.c (autoload_fs_module): Handle errors.
18621
b54d93ac
VS
186222010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18623
18624 Disable linux.mod on qemu-mips since it's not functional and leads
18625 to compilation failure.
18626
18627 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
18628 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
18629 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
18630 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
18631 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
18632 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
18633 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
18634 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
18635 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
18636 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
18637 Reported by: BVK Chaitanya
18638
fc8345da
JU
186392010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
18640
18641 * INSTALL: Add gettext as a dependency and add qemu to a new section
18642 "Prerequisites for make-check".
18643
4760f979
CF
186442010-03-04 Christian Franke <franke@computer.org>
18645
18646 * util/grub-pe2elf.c: Add missing include "progname.h".
18647
f209b5b2
VS
186482010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18649
18650 * normal/crypto.c (read_crypto_list): Fix a typo.
18651 Reported by: Seth Goldberg.
18652
b4b7be98
VS
186532010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18654
18655 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 18656 Reported by: Seth Goldberg.
b4b7be98 18657
c0ee0385
VS
186582010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18659
18660 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
18661 ascii.bitmaps.
18662
a8efbf64
VS
186632010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18664
18665 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 18666 Reported by: Seth Goldberg.
a8efbf64 18667
08dcd913
VS
186682010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18669
18670 * util/i386/efi/grub-install.in: Copy gettext files.
18671
c4d0b332
VS
186722010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18673
18674 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
18675
c6f2fe52
VS
186762010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18677
18678 Wait for user entry basing on presence of output rather than on errors.
18679
18680 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
18681 (grub_install_newline_hook): Likewise.
18682 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
18683 * normal/menu.c (show_menu): Check line_counter to determine presence
18684 of output.
18685 * normal/term.c (grub_normal_line_counter): New variable.
18686 (grub_normal_get_line_counter): New function.
18687 (grub_install_newline_hook): Likewise.
18688
5382b1e4
VS
186892010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18690
18691 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
18692
5519963b
VS
186932010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18694
18695 * configure.ac: Update version to 1.98.
18696
72b28631
VS
186972010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
18698
18699 * util/grub.d/10_linux.in (linux_entry): Don't default to
18700 gfxpayload=keep if Linux doesn't support video handover.
18701
c140a180
VS
187022010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
18703
18704 Don't compile video modules on yeeloong since video subsystem is part
18705 of kernel.
18706
18707 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
18708 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
18709 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
18710 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
18711 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
18712 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
18713 * include/grub/bitmap_scale.h: Likewise.
18714 * include/grub/bufio.h: Likewise.
18715 * include/grub/font.h: Likewise.
18716 * include/grub/gfxterm.h: Likewise.
18717 * include/grub/video.h: Likewise.
18718 * include/grub/vbe.h: Don't include video_fb.h.
18719 * video/i386/pc/vbe.c: Include video_fb.h.
18720 * commands/i386/pc/vbetest.c: Include video.h.
18721
a0ca21c2
CW
187222010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
18723
18724 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
18725 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
18726 default entry if GRUB_SAVEDEFAULT=true. This allows using
18727 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
18728 saving a new default on every boot.
18729
4a8a763c
VS
187302010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
18731
18732 * normal/crypto.c (read_crypto_list): Fix a memory leak.
18733 * normal/term.c (read_terminal_list): Likewise.
18734 * normal/main.c (grub_normal_init_page): Likewise.
18735 (grub_normal_read_line_real): Likewise.
18736
607ffde2
VS
187372010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
18738
18739 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
18740 memory leak.
18741 Reported by: Seth Goldberg.
18742
2b8fa975
CW
187432010-02-24 Joey Korkames <joey+lists@kidfixit.com>
18744
18745 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
18746 duplicate declaration of `start'.
18747
618307dd
VS
187482010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
18749
18750 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
18751 filename.
18752 Reported by: Georgy Buranov
18753
7dd05b96 187542010-02-20 Carles Pina i Estany <carles@pina.cat>
18755
18756 * util/grub-mkrawimage.c (usage): Change string formatting to
18757 improve gettext.
18758
d1484a42
MRA
187592010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
18760
18761 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
18762 backspace keys.
18763
42b1d186
VS
187642010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
18765
18766 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
18767 Reported by: Michael Suchanek.
18768
187692010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
18770
18771 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
18772 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
18773
d9f31a41
VS
187742010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
18775
18776 Remove any reference to non-free fonts.
18777
18778 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
18779 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
18780 uses non-free components.
18781 * font/font.c (grub_font_get_name): Remove example name.
18782 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
18783 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
18784 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
18785 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
18786
2793c71e
GB
187872010-02-16 Georgy Buranov <gburanov@gmail.com>
18788
18789 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
18790
402e3779
VS
187912010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
18792
18793 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
18794 Double divisor.
18795 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
18796 features.
18797 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
18798
0dd1e0dd
VS
187992010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
18800
18801 * gensymlist.sh.in: Use TARGET_CC instead of CC.
18802
6fa7cfce
ST
188032010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
18804
18805 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
18806 * docs/grub.texi (Command-line and menu entry commands): Document play
18807 command.
18808
37c8483b
ST
188092010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
18810
18811 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
18812 parse arguments as inline tempo and notes. Move code for playing notes
18813 to...
18814 (play): ... new function.
18815
14da0fb7
ST
188162010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
18817
18818 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
18819 grub_uint16_t instead of short.
18820 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
18821 disk from little endian to cpu endianness.
18822
04459e70
ST
188232010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
18824
18825 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
18826 GRUB_TICKS_PER_SECOND instead of 120.
18827
a0876943
VS
188282010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18829
18830 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
18831 escape sequence after \e.
18832
e29f95dc
VS
188332010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18834
18835 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
18836 non-ASCII characters.
18837
d27859b2
VS
188382010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18839
18840 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
18841 set root in single quotes to prevent \, from being unescaped.
18842
bc028f2f
VS
188432010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18844
18845 Prevent unknown commands from stopping menuentry execution.
18846
18847 * script/execute.c (grub_script_execute_cmdline): Print error after
18848 unknown command.
18849
095f5f82
VS
188502010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18851
18852 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
18853 Reported by: Pavel Pisa.
18854
8c717950
VS
188552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18856
18857 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
18858
904935c3
VS
188592010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18860
18861 Merge grub_ieee1275_map_physical into grub_map and rename to
18862 grub_ieee1275_map
18863
18864 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
18865 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
18866 Remove.
18867 * kern/ieee1275/openfw.c (grub_map): Rename to ...
18868 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
18869 necessary.
18870 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
18871
5b59a4e3
VS
188722010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18873
18874 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
18875 opening and not after.
18876
69e137e8
VS
188772010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18878
18879 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
18880 constants.
18881
2c0fcc36
VS
188822010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18883
18884 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
18885 (alloc_phys): Use ALIGN_UP instead of align_addr.
18886
8c6052ce
VS
188872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18888
18889 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
18890
17cec782
VS
188912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18892
18893 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
18894
e0128bbd
VS
188952010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18896
18897 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
18898 verbose dprintf.
18899
ca62070b
VS
189002010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18901
18902 Fix over-4GiB seek on sparc64.
18903
18904 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
18905 Replace pos_i and pos_lo with pos. All users updated.
18906 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
18907 New constant.
18908 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
18909 Likewise.
18910 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
18911 and pos_lo.
18912
bdca2607
VS
189132010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18914
18915 * util/grub-mkrawimage.c (main): Call set_program_name.
18916
da278c4d
VS
189172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18918
18919 Properly align 64-bit targets.
18920
18921 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
18922 (generate_image): Use ALIGN_ADDR.
18923
b274d734
VS
189242010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18925
18926 Properly create cross-endian images.
18927
18928 * include/grub/types.h (grub_host_to_target_addr): New macro
18929 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
18930
82da2062
VS
189312010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
18932
18933 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
18934
7cae4377
VS
189352010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
18936
18937 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
18938
18939 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
18940 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
18941 (grub_linux_boot): Divide by 64K when on VESA.
18942
65a533e7
VS
189432010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
18944
18945 Support GRUB_GFXPAYLOAD_LINUX.
18946
18947 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
18948 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
18949
dd01d397
VS
189502010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
18951
18952 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
18953 to show messages instead of discarding them.
18954 Process errors after executing command and not before. Keep old method
18955 too as precaution.
18956
660960d6
VS
189572010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
18958
18959 * configure.ac: Check for ft2build.h.
18960
62509f04
VS
189612010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18962
18963 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
18964
473df63d
VS
189652010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18966
18967 * genkernsyms.sh.in: Use TARGET_CC.
18968
c98d2a13
CW
189692010-02-07 Colin Watson <cjwatson@ubuntu.com>
18970
18971 * NEWS: Update.
18972
6e14234c
VS
189732010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18974
18975 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
18976 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
18977 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 18978
b255e9cf
YB
189792010-02-07 Yves Blusseau <blusseau@zetam.org>
18980
6e14234c 18981 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 18982
98e6959d
VS
189832010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
18984
18985 Fix warnings in grub-emu when compiling with maximum warning options.
18986
18987 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
18988 (grub_arch_modules_addr): Return 0 and not NULL.
18989 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 18990 (xstrdup): Use newstr instead of dup.
f88d801b
VS
18991 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
18992 of disk to dsk to avoid shadowing.
74e4934e
VS
18993 (find_free_slot): Fix prototype.
18994 * util/getroot.c (grub_util_is_dmraid): Make static.
18995 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
18996 Add missing prototype.
18997 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 18998
74e31b5c
VS
189992010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19000
19001 * loader/i386/linux.c (grub_linux_setup_video): Handle error
19002 appropriately.
19003
6b2ad14b
VS
190042010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19005
19006 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
19007 code out.
19008
8f891adc
VS
190092010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19010
19011 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
19012 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
19013 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
19014 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
19015 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
19016 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
19017
74b45184
VS
190182010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19019
19020 * include/grub/err.h (grub_err_printf): Don't export.
19021
a4bced77
VS
190222010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19023
19024 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
19025
007d0695
VS
190262010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19027
19028 * include/grub/i18n.h (grub_gettext_dummy): Removed.
19029 * kern/misc.c (grub_gettext_dummy): Make static.
19030
b6c0d9c2
VS
190312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19032
19033 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
19034 by non-valid ones.
19035 * kern/term.c (grub_putchar): Likewise.
19036
f51a90d0
VS
190372010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19038
19039 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
19040 buggy hook call and memory leak.
19041
6846cec5
VS
190422010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19043
19044 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
19045
468d69fe
VS
190462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19047
19048 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
19049
51906b8c
VS
190502010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19051
19052 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
19053 modevar.
19054 Return grub_errno on allocation error.
19055
09706ce5
VS
190562010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19057
19058 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
19059
911df80c
YB
190602010-02-06 Yves Blusseau <blusseau@zetam.org>
19061
19062 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
19063 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
19064
3746a6bc
VS
190652010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19066
19067 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
19068 non-pxe disk.
19069 (grub_pxefs_open): Likewise.
19070
09706ce5
VS
190712010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19072
19073 * util/grub.d/10_hurd.in: Add --class information to menuentries.
19074 * util/grub.d/10_kfreebsd.in: Likewise.
19075 * util/grub.d/10_linux.in: Likewise.
19076
7cc192d9
VS
190772010-02-06 Colin D Bennett <colin@gibibit.com>
19078
19079 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
19080 (gfxmenu_mod_SOURCES): New variable.
19081 (gfxmenu_mod_CFLAGS): Likewise.
19082 (gfxmenu_mod_LDFLAGS): Likewise.
19083 * include/grub/term.h (grub_term_set_current_output): Declare
19084 argument as const.
19085 * docs/gfxmenu-theme-example.txt: New file.
19086 * gfxmenu/gfxmenu.c: Likewise.
19087 * gfxmenu/gui_box.c: Likewise.
19088 * gfxmenu/gui_canvas.c: Likewise.
19089 * gfxmenu/gui_circular_progress.c: Likewise.
19090 * gfxmenu/gui_image.c: Likewise.
19091 * gfxmenu/gui_label.c: Likewise.
19092 * gfxmenu/gui_list.c: Likewise.
19093 * gfxmenu/gui_progress_bar.c: Likewise.
19094 * gfxmenu/gui_string_util.c: Likewise.
19095 * gfxmenu/gui_util.c: Likewise.
19096 * gfxmenu/icon_manager.c: Likewise.
19097 * gfxmenu/model.c: Likewise.
19098 * gfxmenu/named_colors.c: Likewise.
19099 * gfxmenu/theme_loader.c: Likewise.
19100 * gfxmenu/view.c: Likewise.
19101 * gfxmenu/widget-box.c: Likewise.
19102 * include/grub/gfxmenu_model.h: Likewise.
19103 * include/grub/gfxmenu_view.h: Likewise.
19104 * include/grub/gfxwidgets.h: Likewise.
19105 * include/grub/gui.h: Likewise.
19106 * include/grub/gui_string_util.h: Likewise.
19107 * include/grub/icon_manager.h: Likewise.
19108
191092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19110
19111 Agglomerate scrolling in gfxterm.
19112
19113 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
19114 (grub_virtual_screen_setup): Initialise 'total_screen'.
19115 (write_char): Split to ...
19116 (paint_char): ... this ...
19117 (write_char): ... and this.
19118 (paint_char): Handle delayed scrolling.
19119 (draw_cursor): Likewise.
19120 (scroll_up): Split to ...
19121 (real_scroll): ... this ...
19122 (scroll_up): ... and this.
19123 (real_scroll): Handle multi-line scroll and draw below-the-bottom
19124 characters.
19125 (grub_gfxterm_refresh): Call real_scroll.
19126
191272010-02-06 Colin D Bennett <colin@gibibit.com>
19128
19129 * include/grub/misc.h (grub_iscntrl): New inline function.
19130 (grub_isalnum): Likewise.
19131 (grub_strtol): Likewise.
19132
191332010-02-06 Colin D Bennett <colin@gibibit.com>
19134
19135 * normal/menu_text.c (get_entry_number): Move from here ...
19136 * normal/menu.c (get_entry_number): ... moved here.
19137 * include/grub/menu.h (grub_menu_get_default_entry_index):
19138 New prototype.
19139 * normal/menu.c (grub_menu_get_default_entry_index): New function.
19140 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
19141 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
19142 (grub_menu_viewer_should_return): Likewise.
19143 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
19144 * normal/menu_text.c (run_menu): Enable menu switching.
19145 * normal/menu_viewer.c (should_return): New variable.
19146 (menu_viewer_changed): Likewise.
19147 (grub_menu_viewer_show_menu): Handle menu viewer changes.
19148 (grub_menu_viewer_should_return): New function.
19149 (menuviewer_write_hook): Likewise.
19150 (grub_menu_viewer_init): Likewise.
19151
191522010-02-06 Colin D Bennet <colin@gibibit.com>
191532010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19154
19155 Support for gfxterm in a window.
19156
19157 * include/grub/gfxterm.h: New file.
19158 * include/grub/video.h (struct grub_video_rect): New declaration.
19159 (grub_video_rect_t): Likewise.
19160 * term/gfxterm.c (struct grub_gfxterm_window): New type.
19161 (refcount): New variable.
19162 (render_target): Likewise.
19163 (window): Likewise.
19164 (repaint_callback): Likewise.
19165 (grub_virtual_screen_setup): Use 'render_target'.
19166 (init_window): New function.
19167 (grub_gfxterm_init_window): Likewise.
19168 (grub_gfxterm_init): Check reference counter.
19169 Use init_window.
19170 (destroy_window): New function.
19171 (grub_gfxterm_destroy_window): Likewise.
19172 (grub_gfxterm_fini): Check reference counter.
19173 Use destroy_window.
19174 (redraw_screen_rect): Restore viewport.
19175 Use 'render_target' and 'window'.
19176 Call 'repaint_callback'.
19177 (write_char): Use 'render_target'.
19178 (draw_cursor): Likewise.
19179 (scroll_up): Restore viewport.
19180 Use 'render_target' and 'window'.
19181 Call 'repaint_callback'.
19182 (grub_gfxterm_cls): Likewise.
19183 (grub_gfxterm_refresh): Use 'window'.
19184 (grub_gfxterm_set_repaint_callback): New function.
19185 (grub_gfxterm_background_image_cmd): Use 'window'.
19186 (grub_gfxterm_get_term): New function.
19187 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
19188
191892010-02-06 Colin D Bennett <colin@gibibit.com>
19190
19191 Bitmap scaling support.
19192
19193 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
19194 (bitmap_scale_mod_SOURCES): New variable.
19195 (bitmap_scale_mod_CFLAGS): Likewise.
19196 (bitmap_scale_mod_LDFLAGS): Likewise.
19197 * include/grub/bitmap_scale.h: New file.
19198 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
19199 (background_image_cmd_options): New variable.
19200 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
19201 (cmd): Rename and change type to ...
19202 (background_image_cmd_handle): ... this. All users updated.
19203 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
19204 * video/bitmap_scale.c: New file.
19205
192062010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19207
19208 SDL support.
19209
19210 * Makefile.in (LIBSDL): New variable.
19211 (enable_grub_emu_sdl): Likewise.
19212 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
19213 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
19214 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
19215 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
19216 * util/sdl.c: New file.
19217
192182010-02-06 Colin D Bennett <colin@gibibit.com>
192192010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19220
19221 Double buffering support.
19222
19223 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
19224 * include/grub/video.h: Update comment.
19225 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
19226 New type.
19227 (grub_video_fb_doublebuf_blit_init): New prototype.
19228 * term/gfxterm.c (scroll_up): Support double buffering.
19229 (grub_gfxterm_refresh): Likewise.
19230 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
19231 (grub_video_fb_doublebuf_blit_init): Likewise.
19232 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
19233 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
19234 'displayed_page', 'render_page' and 'update_screen'.
19235 (grub_video_vbe_fini): Free offscreen buffer.
19236 (doublebuf_pageflipping_commit): New function.
19237 (doublebuf_pageflipping_update_screen): Likewise.
19238 (doublebuf_pageflipping_init): Likewise.
19239 (double_buffering_init): Likewise.
19240 (grub_video_vbe_setup): Enable doublebuffering.
19241 (grub_video_vbe_swap_buffers): Implement.
19242 (grub_video_vbe_set_active_render_target): Handle double buffering.
19243 (grub_video_vbe_get_active_render_target): Likewise.
19244 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
19245 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
19246 (grub_video_vbe_enable_double_buffering): Likewise.
19247 (grub_video_vbe_swap_buffers): Use update_screen.
19248 (grub_video_set_mode): Use double buffering.
19249
192502010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19251
19252 * maintainance/gentrigtables.py: Remove.
19253 * lib/trig.c: Likewise.
19254
19255 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
19256
19257 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
19258 `trigtables.c'.
19259 (trigtables.c): New rule.
19260 (gentrigtables): Likewise.
19261 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
19262
192632010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19264
19265 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
19266 integer constants.
19267
192682010-02-06 Colin D Bennet <colin@gibibit.com>
19269
19270 Trigonometry support.
19271
19272 * include/grub/trig.h: New file.
19273 * lib/trig.c: Likewise.
19274 * maintainance/gentrigtables.py: Likewise.
19275 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
19276 (trig_mod_SOURCES): New variable.
19277 (trig_mod_CFLAGS): Likewise.
19278 (trig_mod_LDFLAGS): Likewise.
19279
5562834e
VS
192802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19281
19282 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
19283 disk devices.
19284
4f8528fc
VS
192852010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19286
19287 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
19288 error.
19289
2b4068e9
VS
192902010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
19291
19292 * util/hostdisk.c (open_device): Don't use partition device when reading
19293 before the partition.
19294 (grub_util_biosdisk_read): Don't read from partition and before the
19295 partition in single operation.
19296 (grub_util_biosdisk_write): Don't write to partition and before the
19297 partition in single operation.
19298
399f6e4d
TL
192992010-02-03 Torsten Landschoff <torsten@debian.org>
19300
19301 * kern/disk.c (grub_disk_read): Fix offset computation when reading
19302 last sectors.
19303
996649b0
VS
193042010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
19305
19306 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
19307 CDROM reads.
19308 (grub_biosdisk_write): Refuse to write to CDROM.
19309
3b205d4d
VS
193102010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
19311
19312 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
19313
61e89d9d
VS
193142010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
19315
19316 * font/font.c (find_glyph): Check that bmp_idx is available before
19317 using it.
19318 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
19319 with (font == NULL).
19320
bf7fcba2
CS
193212010-01-28 Christian Schmitt <chris@ilovelinux.de>
19322
19323 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
19324
f45d2663
BC
193252010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
19326
19327 * include/grub/script_sh.h (sourcecode): Add const qualifier.
19328 * util/grub-script-check.c (getline): Fix empty lines case.
19329
ec1444e6
RM
193302010-01-28 Robert Millan <rmh.grub@aybabtu.com>
19331
19332 * Makefile.in (check): Exit with fail status when one of the tests
19333 fails.
19334 * tests/example_functional_test.c (example_test): Fix reversed assert.
19335 * tests/example_unit_test.c (example_test): Likewise.
19336
2e1cb9bb
CW
193372010-01-28 Colin Watson <cjwatson@ubuntu.com>
19338
19339 * util/grub.d/10_linux.in: This script does not use any of the
19340 contents of gettext.sh, only the external command `gettext', so stop
19341 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
19342 the same prefix as GRUB.)
19343 * util/grub.d/10_kfreebsd.in: Likewise.
19344
63533ab0
VS
193452010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19346
19347 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
19348 of the line.
19349
989e1f93
VS
193502010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19351
19352 * kern/disk.c (grub_disk_read): Fix offset computation when reading
19353 last sectors.
19354
e709ebe2
VS
193552010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19356
19357 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
19358 having a 4KiB and not 32KiB buffer size.
19359
27dea7ed
RM
193602010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19361
19362 * util/hostfs.c: Include `<errno.h>'.
19363 (grub_hostfs_read): Handle errors from fseeko() and fread().
19364
67667b9c
RM
193652010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19366
19367 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
19368 loop when using read hooks on files whose size isn't sector-aligned.
19369
c294d9d8
RM
193702010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19371
19372 Remove unused parameter.
19373
19374 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
19375 (grub_iso9660_open): Remove initialization of `data->length'.
19376
af75a9f1
RM
193772010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19378
19379 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
19380 memleak conditions.
19381
254e2ce5 193822010-01-27 Carles Pina i Estany <carles@pina.cat>
19383
19384 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
19385 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
19386
b510928c 193872010-01-26 Carles Pina i Estany <carles@pina.cat>
19388
19389 * util/bin2h.c (usage): Fix warning (space after backslash).
19390
aa2f9dd2 193912010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 19392
19393 * font/font.c: Include `grub/fontformat.h.
19394 Remove font file format constants.
19395 (grub_font_load): Use the new macros.
19396 * include/grub/fontformat.h: New file.
19397 * util/grub-mkfont.c: Include `grub/fontformat.c'.
19398 (write_font_pf2): Use the new macros.
19399
94e7e712
RM
194002010-01-26 Robert Millan <rmh.grub@aybabtu.com>
19401
19402 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
19403 does.
19404
3973a59a
RM
194052010-01-26 Robert Millan <rmh.grub@aybabtu.com>
19406
19407 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
19408
19409 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
19410 (_start): Macroify `0x7F'.
19411
19412 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
19413 (make_install_device): Use "(pxe)" as fallback prefix when booting
19414 via PXE.
19415
42e0cba3
GS
194162010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
19417
19418 * configure.ac: Reset LIBS after check for libgcc symbols.
19419
847effd8
CW
194202010-01-25 Colin Watson <cjwatson@ubuntu.com>
19421
19422 * util/hostdisk.c (open_device): Add trailing newline to debug
19423 message.
19424
ea4a7e35
GS
194252010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
19426
19427 * configure.ac: Check for `limits.h'.
19428 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
19429
67951a53
RM
194302010-01-24 Robert Millan <rmh.grub@aybabtu.com>
19431
19432 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
19433 capitalize error strings.
19434
c273d4ce
ST
194352010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
19436
19437 * util/grub.d/10_hurd.in: Add a recovery mode.
19438
69be5b74
VS
194392010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
19440
19441 * configure.ac: Check for libgcc symbols with -nostdlib.
19442
fc9e5810
BC
194432010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
19444
19445 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
19446
4b358c0a
VS
194472010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19448
19449 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
19450 stack since heap may be unavailable at that point.
19451 (grub_ofconsole_gotoxy): Likewise.
19452
454fcd1c
VS
194532010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19454
19455 * configure.ac: Check for _restgpr_14_x.
19456 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
19457 and _savegpr_* prototypes.
19458
566863ca
RM
194592010-01-22 Robert Millan <rmh.grub@aybabtu.com>
19460
19461 Use generic grub_reboot() for i386-efi.
19462
19463 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
19464 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
19465 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
19466
bf86e59a
VS
194672010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19468
19469 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
19470 presence of "prefix" variable as it breaks when normal.mod is
19471 embedded.
19472
d645e0f8
VS
194732010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19474
19475 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
19476 stack since heap is unavailable at that point.
19477
f9ab2e25
VS
194782010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19479
19480 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
19481 (grub_freebsd_bootinfo): Rewritten.
19482 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
19483
01fc7054
VS
194842010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19485
19486 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
19487
caab4fd6
RM
194882010-01-21 Robert Millan <rmh.grub@aybabtu.com>
19489
19490 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
19491 domain now.
19492
67eb1427
FZ
194932010-01-20 Felix Zielcke <fzielcke@z-51.de>
19494
19495 * util/misc.c (make_system_path_relative_to_its_root): Change the work
19496 around for handling "/" to the correct fix. Fix a memory leak. Use
19497 xstrdup instead of strdup.
19498
a9ed4ff3
VS
194992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19500
19501 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
19502
195032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
19504
19505 Optimise glyph lookup by Basic Multilingual Plane lookup array.
19506
19507 * font/font.c (struct grub_font): New member 'bmp_idx'.
19508 (font_init): Initialise 'bmp_idx'.
19509 (load_font_index): Fill 'bmp_idx'.
19510 (find_glyph): Make inline. Use bmp_idx for BMP characters.
19511
48209f4f
VS
195122010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19513
19514 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
19515 unnecessary calls.
19516
9f0a4bb7
VS
195172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19518
19519 Move context handling out of the kernel.
19520
19521 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
19522 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
19523 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
19524 * conf/i386-efi.rmk: Likewise.
19525 * conf/i386-ieee1275.rmk: Likewise.
19526 * conf/i386-pc.rmk: Likewise.
19527 * conf/powerpc-ieee1275.rmk: Likewise.
19528 * conf/sparc64-ieee1275.rmk: Likewise.
19529 * conf/x86_64-efi.rmk: Likewise.
19530 * include/grub/env.h: Include grub/menu.h.
19531 (grub_env_var_type): Removed.
19532 (grub_env_var): Replaced field 'type' with 'global'.
19533 (grub_env_find): New prototype.
19534 (grub_env_context_open): Remove EXPORT_FUNC.
19535 (grub_env_context_close): Likewise.
19536 (grub_env_export): Likewise.
19537 (grub_env_set_data_slot): Removed.
19538 (grub_env_get_data_slot): Likewise.
19539 (grub_env_unset_data_slot): Likewise.
19540 (grub_env_unset_menu): New prototype.
19541 (grub_env_set_menu): Likewise.
19542 (grub_env_get_menu): Likewise.
19543 * include/grub/env_private.h: New file.
19544 * include/grub/normal.h (grub_context_init): New prototype.
19545 (grub_context_fini): Likewise.
19546 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
19547 * normal/context.c (grub_cmd_export): ... to here.
19548 * kern/env.c: Include env_private.h.
19549 (HASHSZ): Moved to include/grub/env_private.h.
19550 (grub_env_context): Likewise.
19551 (grub_env_sorted_var): Likewise.
19552 (current_context): Renamed from this ...
19553 (grub_current_context): ...to this. 'static' removed. All users updated.
19554 (grub_env_find): Removed 'static'.
19555 (grub_env_context_open): Moved to normal/context.c.
19556 (grub_env_context_close): Likewise.
19557 (grub_env_export): Likewise.
19558 (mangle_data_slot_name): Removed.
19559 (grub_env_set_data_slot): Likewise.
19560 (grub_env_get_data_slot): Likewise.
19561 (grub_env_unset_data_slot): Likewise.
19562 * kern/main.c (grub_set_root_dev): Don't export root.
19563 It will be done later.
19564 (grub_main): Don't export prefix.
19565 It will be done later.
19566 * normal/context.c: New file.
19567 * normal/main.c (free_menu): Use grub_env_unset_menu.
19568 (grub_normal_add_menu_entry): Use grub_env_get_menu.
19569 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
19570 (GRUB_MOD_INIT(normal)): Call grub_context_init.
19571 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
19572
8dd35b8c
VS
195732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19574
19575 setpci support.
19576
19577 * commands/setpci.c: New file.
19578 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
19579 (setpci_mod_SOURCES): New variable.
19580 (setpci_mod_CFLAGS): Likewise.
19581 (setpci_mod_LDFLAGS): Likewise.
19582
449193d5
VS
195832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19584
19585 Byte-addressable PCI configuration space.
19586
19587 * bus/pci.c (grub_pci_make_address): Use byte address instead of
19588 dword address.
19589 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
19590 GRUB_PCI_REG_CACHELINE.
19591 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
19592 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
19593 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
19594 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
19595 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
19596 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
19597 grub_pci_make_address.
19598 (lock_rom_area): Likewise.
19599 * commands/lspci.c (grub_lspci_iter): Use macroses
19600 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
19601 of grub_pci_make_address.
19602 * disk/ata.c (grub_ata_pciinit): Likewise.
19603 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
19604 (GRUB_PCI_REG_VENDOR): Likewise.
19605 (GRUB_PCI_REG_DEVICE): Likewise.
19606 (GRUB_PCI_REG_COMMAND): Likewise.
19607 (GRUB_PCI_REG_STATUS): Likewise.
19608 (GRUB_PCI_REG_REVISION): Likewise.
19609 (GRUB_PCI_REG_CLASS): Likewise.
19610 (GRUB_PCI_REG_CACHELINE): Likewise.
19611 (GRUB_PCI_REG_LAT_TIMER): Likewise.
19612 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
19613 (GRUB_PCI_REG_BIST): Likewise.
19614 (GRUB_PCI_REG_ADDRESSES): Likewise.
19615 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19616 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19617 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19618 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19619 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19620 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19621 (GRUB_PCI_REG_CIS_POINTER): Likewise.
19622 (GRUB_PCI_REG_SUBVENDOR): Likewise.
19623 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
19624 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
19625 (GRUB_PCI_REG_CAP_POINTER): Likewise.
19626 (GRUB_PCI_REG_IRQ_LINE): Likewise.
19627 (GRUB_PCI_REG_IRQ_PIN): Likewise.
19628 (GRUB_PCI_REG_MIN_GNT): Likewise.
19629 (GRUB_PCI_REG_MAX_LAT): Likewise.
19630 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
19631 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
19632 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 19633 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
19634 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
19635 space.
19636
96d73208
RM
196372010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19638
19639 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
19640 can be reliably determined to be supported.
19641
d4484482
RM
196422010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19643
19644 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
19645 that VESA is supported.
19646 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
19647 supported.
19648
00308ecf
VS
196492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19650
19651 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
19652
f66924a4
RM
196532010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19654
19655 * util/misc.c (make_system_path_relative_to_its_root): Work around
19656 special-casing of "/", as previous incarnation of this routine did.
19657
cbca0ada
VS
196582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19659
19660 Fix any-emu compilation.
19661
19662 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
19663 * grub_bin2h_SOURCES: New variable.
19664
34a66d99
RM
196652010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19666
19667 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
19668
94fabf58
RM
196692010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19670
19671 * util/grub.d/00_header.in: Fix handling of locale_dir.
19672
02cf98ca
VS
196732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19674
19675 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
19676 as possible unifont location (Gentoo).
19677 Reported by: Alexander Brüning
19678
327dbcd7
VS
196792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19680
19681 Don't try to generate lists for kernel.img.
19682
19683 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
19684 (pkglib_MODULES): Remove kernel.img.
19685 (kernel_img_EXPORTS): Removed.
19686 (kernel_img_RELOCATABLE): New variable.
19687 * conf/x86_64-efi.rmk: Likewise.
19688 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
19689
ca467290
VS
196902010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19691
19692 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
19693 grub_xasprintf or grub_snprintf.
19694 (grub_vsprintf): Likewise.
19695 (grub_snprintf): New proto.
19696 (grub_vsnprintf): Likewise.
19697 (grub_xasprintf): Likewise.
19698 (grub_xvasprintf): Likewise.
19699 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
19700 (grub_sprintf): Removed.
19701 (grub_vsnprintf): New function.
19702 (grub_snprintf): Likewise.
19703 (grub_xvasprintf): Likewise.
19704 (grub_xasprintf): Likewise.
19705 (grub_vsprintf): Renamed to ...
19706 (grub_vsnprintf_real): ...this. New argument max_len.
19707
aca655fd
BC
197082010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
19709
19710 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
19711 fix grub-script-check warning.
19712
7ee92c32
VS
197132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19714
19715 * include/grub/font.h (grub_font_load): Fix prototype.
19716
f80927ca
VS
197172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19718
19719 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
19720
119c50ea
VS
197212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19722
19723 * include/grub/x86_64/at_keyboard.h: New file.
19724
47d5f3c1
VS
197252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19726
19727 * loader/mips/linux.c: Include missing grub/i18n.h.
19728
55ff5266
RM
197292009-12-20 Robert Millan <rmh.grub@aybabtu.com>
19730
19731 * normal/menu.c (notify_execution_failure): Clarify error message.
19732
c893cc87
RM
197332009-12-20 Robert Millan <rmh.grub@aybabtu.com>
19734
19735 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
19736 return value (and revert all return statements). Update users.
19737
917dd370
CW
197382010-01-20 Dan Merillat <debian@dan.merillat.org>
19739
19740 * kern/device.c (grub_device_iterate): Allocate new part_ent
19741 structure based on sizeof (*p) rather than sizeof (p->next), to
19742 account for structure padding.
19743
19744 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
19745 disk is NULL, which might happen for LVM physical volumes with no
19746 LVM signature.
19747
d4a4ee57
RM
197482009-12-20 Robert Millan <rmh.grub@aybabtu.com>
19749
19750 * loader/mips/linux.c (grub_cmd_initrd)
19751 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
19752
197532009-12-20 Robert Millan <rmh.grub@aybabtu.com>
19754
19755 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
19756 (grub_video_video_init, grub_video_bitmap_init)
19757 (grub_font_manager_init, grub_term_gfxterm_init)
19758 (grub_at_keyboard_init): New extern declarations.
19759 (grub_machine_init): Initialize gfxterm and at_keyboard.
19760
19761 * kern/main.c (grub_main): Revert grub_printf delay kludge.
19762
19763 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
19764 `gfxterm.mod' into core image.
19765
19766 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
19767 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
19768 (kernel_img_FORMAT): Copy to ...
19769
19770 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
19771 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
19772 (kernel_img_FORMAT): ... here, and ...
19773
19774 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
19775 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
19776 (kernel_img_FORMAT): ... here.
19777
19778 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
19779 and input (at_keyboard) terminals in kernel.
19780 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
19781
19782 (pkglib_MODULES): Remove `pci.mod'.
19783 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
19784 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
19785 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
19786 (at_keyboard_mod_LDFLAGS): Remove variables.
19787
197882010-01-11 Felix Zielcke <fzielcke@z-51.de>
19789
19790 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
19791
197922009-12-10 Robert Millan <rmh.grub@aybabtu.com>
19793
19794 * include/grub/mips/libgcc.h: Only export symbols for functions
19795 that libgcc provides.
19796
197972009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
19798
19799 MIPS support.
19800
19801 * bus/bonito.c: New file.
19802 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
19803 GRUB_PCI_NUM_DEVICES.
19804 * term/i386/pc/serial.c: Move to ...
19805 * term/serial.c: ... here. All users updated.
19806 * util/i386/pc/grub-mkimage.c: Move to ...
19807 * util/grub-mkrawimage.c: ... here. All users updated.
19808 * term/i386/pc/at_keyboard.c: Move to ...
19809 * term/at_keyboard.c: ... here. All users updated.
19810 * conf/mips-qemu-mips.rmk: New file.
19811 * conf/mips-yeeloong.rmk: Likewise.
19812 * conf/mips.rmk: Likewise.
19813 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
19814 mipsel-qemu-mips.
19815 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
19816 to port addresses.
19817 (grub_ata_pciinit): Support CS5536.
19818 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
19819 * font/font_cmd.c (loadfont_command): Open file before passing it to
19820 grub_font_load.
19821 (pseudo_file_read): New function.
19822 (pseudo_file_close): Likewise.
19823 (pseudo_fs): New structure.
19824 (load_font_module): New function.
19825 (GRUB_MOD_INIT(font_manager)): Load embedded font.
19826 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
19827 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
19828 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
19829 * include/grub/i386/at_keyboard.h: Split into ...
19830 * include/grub/at_keyboard.h: ... this ...
19831 * include/grub/i386/at_keyboard.h: ... and this.
19832 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
19833 New prototype.
19834 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
19835 updated.
19836 (grub_elf64_size): Likewise.
19837 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
19838 filename.
19839 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
19840 * include/grub/i386/coreboot/serial.h: Rewritten.
19841 * include/grub/i386/ieee1275/serial.h: Include
19842 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
19843 * include/grub/i386/pc/serial.h: Moved from here ...
19844 * include/grub/serial.h: ... to here. All users updated.
19845 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
19846 (GRUB_PCI_NUM_BUS): Likewise.
19847 (GRUB_PCI_NUM_DEVICES): Likewise.
19848 (grub_pci_device_map_range): Add missing volatile keyword.
19849 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
19850 * include/grub/mips/at_keyboard.h: New file.
19851 * include/grub/mips/cache.h: Likewise.
19852 * include/grub/mips/io.h: Likewise.
19853 * include/grub/mips/kernel.h: Likewise.
19854 * include/grub/mips/libgcc.h: Likewise.
19855 * include/grub/mips/pci.h: Likewise.
19856 * include/grub/mips/qemu-mips/boot.h: Likewise.
19857 * include/grub/mips/qemu-mips/kernel.h: Likewise.
19858 * include/grub/mips/qemu-mips/loader.h: Likewise.
19859 * include/grub/mips/qemu-mips/memory.h: Likewise.
19860 * include/grub/mips/qemu-mips/serial.h: Likewise.
19861 * include/grub/mips/qemu-mips/time.h: Likewise.
19862 * include/grub/mips/relocator.h: Likewise.
19863 * include/grub/mips/time.h: Likewise.
19864 * include/grub/mips/types.h: Likewise.
19865 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
19866 * include/grub/mips/yeeloong/boot.h: Likewise.
19867 * include/grub/mips/yeeloong/kernel.h: Likewise.
19868 * include/grub/mips/yeeloong/loader.h: Likewise.
19869 * include/grub/mips/yeeloong/memory.h: Likewise.
19870 * include/grub/mips/yeeloong/pci.h: Likewise.
19871 * include/grub/mips/yeeloong/serial.h: Likewise.
19872 * include/grub/mips/yeeloong/time.h: Likewise.
19873 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
19874 * kern/elf.c (grub_elf32_size): New parameter. All users
19875 updated.
19876 (grub_elf64_size): Likewise.
19877 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
19878 Load modules before saying "Welcome to GRUB!".
19879 Call grub_refresh after saying "Welcome to GRUB!".
19880 * kern/mips/cache.S: New file.
19881 * kern/mips/cache_flush.S: Likewise.
19882 * kern/mips/dl.c: Likewise.
19883 * kern/mips/init.c: Likewise.
19884 * kern/mips/qemu-mips/init.c: Likewise.
19885 * kern/mips/startup.S: Likewise.
19886 * kern/mips/yeeloong/init.c: Likewise.
19887 * kern/term.c (grub_putcode): Handle NULL terminal.
19888 (grub_getcharwidth): Likewise.
19889 (grub_getkey): Likewise.
19890 (grub_checkkey): Likewise.
19891 (grub_getkeystatus): Likewise.
19892 (grub_getxy): Likewise.
19893 (grub_getwh): Likewise.
19894 (grub_gotoxy): Likewise.
19895 (grub_cls): Likewise.
19896 (grub_setcolorstate): Likewise.
19897 (grub_setcolor): Likewise.
19898 (grub_getcolor): Likewise.
19899 (grub_refresh): Likewise.
19900 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
19901 (write_jump): Add hatch nop.
19902 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
19903 * lib/mips/setjmp.S: New file.
19904 * loader/mips/linux.c: Likewise.
19905 * term/i386/pc/at_keyboard.c: Move from here ...
19906 * term/at_keyboard.c: ... to here.
19907 * term/i386/pc/serial.c: Moved from here ...
19908 * term/serial.c: ... to here. All users updated.
19909 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
19910 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
19911 (serial_translate_key_sequence): Avoid deadlock.
19912 (grub_serial_getkey): Handle backspace.
19913 (grub_serial_putchar): Fix newline handling.
19914 * util/i386/pc/grub-mkimage.c: Move from here ...
19915 * util/grub-mkrawimage.c: ... to here. All users updated.
19916 (generate_image): New parameters 'font_path' and 'format'.
19917 Support embedding font.
19918 Use grub_host_to_target* instead of grub_cpu_to_le*.
19919 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
19920 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
19921 (options): New option "--font".
19922 (usage): Likewise.
19923 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
19924 (main): Handle "--font".
19925 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
19926 (grub_virtual_screen_setup): Set bg_color_display.
19927 (redraw_screen_rect): Use bg_color_display instead of incorrect
19928 bg_color.
19929 (grub_gfxterm_cls): Likewise.
19930 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
19931 Support embedding config file.
19932 (add_segments): Likewise.
19933 (options): New option "--config".
19934 (main): Handle "--config".
19935 * video/sm712.c: New file.
19936
25c2b5b3
RM
199372010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19938
19939 Fix parallel builds.
19940
19941 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
19942 font.c depend on ascii.h).
19943
199442010-01-12 Carles Pina i Estany <carles@pina.cat>
19945
19946 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
19947
199482010-01-11 Carles Pina i Estany <carles@pina.cat>
19949
19950 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
19951 By default: disabled.
19952 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
19953 parameter.
19954
199552010-01-10 Carles Pina i Estany <carles@pina.cat>
19956
19957 * font/font.c: Update copyright years.
19958 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
19959
199602010-01-10 Carles Pina i Estany <carles@pina.cat>
19961
19962 * font/font.c: Include `ascii.h'.
19963 (ASCII_BITMAP_SIZE): New macro.
19964 (ascii_font_glyph): Define.
19965 (ascii_glyph_lookup): New function.
19966 (grub_font_get_string_width): Change comment. If glyph not found, use
19967 ascii_glyph_lookup.
19968 (grub_font_get_glyph_with_fallback): If glyph not available returns
19969 ascii_glyph_lookup.
19970 * util/grub-mkfont.c (file_formats): New enum.
19971 (options): Add `ascii-bitmaps' new option.
19972 (usage): Add `asii-bitmaps' new option.
19973 (write_font_ascii_bitmap): New function.
19974 (write_font): Rename to ...
19975 (write_font_p2): ... this. Remove print_glyphs call.
19976 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
19977 used. Call print_glyphs.
19978 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
19979
199802010-01-14 Robert Millan <rmh.grub@aybabtu.com>
19981
19982 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
19983 (grub_bin2h_SOURCES): New variable.
19984 * util/bin2h.c: New file.
19985
915fc1b8
VS
199862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19987
19988 * include/multiboot.h: Resynced with spec.
19989 * include/multiboot2.h: Likewise.
19990 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
19991 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
19992
9444b678
RM
199932010-01-18 Robert Millan <rmh.grub@aybabtu.com>
19994
19995 * include/grub/term.h (grub_term_register_input,
19996 grub_term_register_output): Check return of terminal init()
19997 routines, and abort if errors are raised.
19998
19999 * commands/terminal.c: Update copyright year.
20000
cba98e8d
RM
200012010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20002
20003 * commands/terminal.c (grub_cmd_terminal_input)
20004 (grub_cmd_terminal_output): Check return of terminal init()
20005 routines, and abort if errors are raised.
20006
6f7db5d6
VS
200072010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20008
20009 * include/grub/i386/bsd.h: Fix include pathes.
20010
262bff8d
VS
200112010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20012
20013 Add missing *BSD copyright headers.
20014
20015 * include/grub/aout.h: Add BSD licence.
20016 * include/grub/i386/bsd.h: Parts under different licences moved to ...
20017 * include/grub/i386/freebsd_linker.h: ... here,
20018 * include/grub/i386/freebsd_reboot.h: ... here,
20019 * include/grub/i386/netbsd_bootinfo.h: ... here,
20020 * include/grub/i386/netbsd_reboot.h: ... here,
20021 * include/grub/i386/openbsd_bootarg.h: ... here,
20022 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
20023 licence to each file.
20024
b2cab848
RM
200252010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20026
20027 * acinclude.m4: Remove `nop' assembly instruction; it's not
20028 implemented by all architectures.
20029
2cb6be4b
RM
200302010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20031
20032 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
20033 ELILO. This is no longer necessary.
20034
a2eaee15
BC
200352010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
20036
20037 Added new tool, grub-scrit-check to verify grub.cfg syntax.
20038
20039 * util/grub-script-check.c: grub-script-check tool.
20040 * conf/common.rmk: Make rules for grub-script-check.
20041
88d17012
RM
200422010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20043
20044 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
20045 spotting it back in 2008. Shame on me for forgetting he did.
20046
20047 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
20048
8040619d
RM
200492010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20050
20051 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
20052 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
20053 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
20054 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
20055 (GRUB_VIDEO_TYPE_EFI): Rename to ...
20056 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
20057
a0c2a0f6
RM
200582010-01-17 Robert Millan <rmh.grub@aybabtu.com>
20059
20060 * include/grub/test.h: Add license header.
20061 * tests/example_functional_test.c: Likewise.
20062 * tests/example_unit_test.c: Likewise.
20063 * tests/lib/functional_test.c: Likewise.
20064 * tests/lib/test.c: Likewise.
20065 * tests/lib/unit_test.c: Likewise.
20066
b0b13907
VS
200672010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
20068
20069 Use flag-based instead of hook-based video mode selection and "auto"
20070 keyword.
20071
20072 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
20073 (grub_video_set_mode): Changed prototype. All users updated.
20074 (grub_video_check_mode_flag): New inline function.
20075 * video/video.c (parse_modespec): New function.
20076 (grub_video_set_mode): Parse flags and keywords.
20077
ea379330 200782010-01-17 Carles Pina i Estany <carles@pina.cat>
20079
20080 * util/misc.c (grub_util_info): Fix the order of the parameters in a
20081 fprintf call.
20082
e15c215e
FZ
200832010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
20084
20085 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
20086
409ae1c9 200872010-01-16 Carles Pina i Estany <carles@pina.cat>
20088
20089 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
20090 string.
20091 * util/grub-emu.c (usage): Likewise.
20092 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
20093 * util/i386/efi/grub-mkimage.c (usage): Likewise.
20094 * util/i386/pc/grub-mkimage.c (usage): Likewise.
20095 * util/i386/pc/grub-setup.c (usage): Likewise.
20096
70a14d3d 200972010-01-16 Carles Pina i Estany <carles@pina.cat>
20098
20099 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
20100 the message.
20101 (grub_util_info): Likewise.
20102 (grub_util_error): Likewise.
20103 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
20104 and/or new lines in `grub_util_warna', `grub_util_info',
20105 `grub_util_error' calls.
20106 * util/getroot.c: Likewise.
20107 * util/grub-editenv.c: Likewise.
20108 * util/grub-emu.c: Likewise.
20109 * util/grub-fstest.c: Likewise.
20110 * util/grub-mkdevicemap.c: Likewise.
20111 * util/grub-mkfont.c: Likewise.
20112 * util/grub-mkpasswd-pbkdf2.c: Likewise.
20113 * util/grub-mkrelpath.c: Likewise.
20114 * util/grub-pe2elf.c: Likewise.
20115 * util/grub-probe.c: Likewise.
20116 * util/hostdisk.c: Likewise.
20117 * util/i386/efi/grub-mkimage.c: Likewise.
20118 * util/i386/pc/grub-mkimage.c: Likewise.
20119 * util/i386/pc/grub-setup.c: Likewise.
20120 * util/ieee1275/ofpath.c: Likewise.
20121 * util/mkisofs/eltorito.c: Likewise.
20122 * util/mkisofs/rock.c: Likewise.
20123 * util/mkisofs/write.c: Likewise.
20124 * util/raid.c: Likewise.
20125 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
20126 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20127
a0b766fc
VS
201282010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20129
20130 Enable multiboot on non-pc.
20131
20132 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
20133 multiboot.mod and multiboot2.mod to ...
20134 * conf/i386.rmk (pkglib_MODULES): ... here.
20135 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
20136 Moved to ...
20137 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
20138 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
20139 Moved to ...
20140 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
20141 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
20142 Moved to ...
20143 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
20144 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
20145 Moved to ...
20146 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
20147 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
20148 relocator.mod.
20149 (ata_mod_SOURCES): Removed.
20150 (ata_mod_CFLAGS): Likewise.
20151 (ata_mod_LDFLAGS): Likewise.
20152 (relocator_mod_SOURCES): Removed.
20153 (relocator_mod_CFLAGS): Likewise.
20154 (relocator_mod_ASFLAGS): Likewise.
20155 (relocator_mod_LDFLAGS): Likewise.
20156 Include i386.mk.
20157 * include/grub/x86_64/multiboot.h: New file.
20158 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
20159 Terminate EFI.
20160
884ade56
VS
201612010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20162
20163 Video multiboot support.
20164
20165 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
20166 New prototype.
20167 * include/multiboot.h: Resynced with multiboot specification.
20168 * include/multiboot2.h: Likewise.
20169 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
20170 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
20171 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
20172 (HAS_VGA_TEXT): Likewise.
20173 (accepts_video): New variable.
20174 (grub_multiboot_set_accepts_video): New function.
20175 (grub_multiboot_get_mbi_size): Account for video structures.
20176 (set_video_mode): New function.
20177 (retrieve_video_parameters): Likewise.
20178 (grub_multiboot_make_mbi): Fill video fields.
20179
0d90e8a6
VS
201802010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20181
20182 Video driver ids.
20183
20184 * include/grub/video.h (grub_video_driver_id): New type.
20185 (grub_video_adapter): New member 'id'. All users updated.
20186 (grub_video_get_driver_id): New proto.
20187 * video/video.c (grub_video_get_driver_id): New function.
20188
5c71db1b 201892010-01-14 Carles Pina i Estany <carles@pina.cat>
20190
20191 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
20192 `var=val'.
20193
cca15b52 201942010-01-14 Carles Pina i Estany <carles@pina.cat>
20195
20196 * normal/cmdline.c (print_completion): Gettextizze.
20197
c586fbb2 201982001-01-14 Carles Pina i Estany <carles@pina.cat>
20199
20200 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
20201
ba2f6848 202022010-01-14 Carles Pina i Estany <carles@pina.cat>
20203
20204 * gettext/gettext.c (grub_gettext_translate): Push and pop
20205 grub_errno.
20206 (grub_gettext_delete_list): Change comment style.
20207 * kern/err.c (grub_error): Gettextizze.
20208 (grub_fatal): Gettextizze.
20209
0a46429a
RM
202102010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20211
20212 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
20213 (grub_linux16_real_boot): ... this.
20214 * kern/i386/loader.S: Likewise.
20215 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
20216 (grub_linux16_boot): New function. Switches to text mode and calls
20217 grub_linux16_real_boot().
20218
20219 * loader/i386/bsd.c: Include `<grub/video.h>'.
20220 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
20221 text mode before calling grub_unix_real_boot().
20222
20223 * loader/i386/multiboot.c: Include `<grub/video.h>'.
20224 (grub_multiboot_boot): Switch to text mode before calling
20225 grub_relocator32_boot().
20226
20227 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
20228 (grub_chainloader_boot): Switch to text mode before calling
20229 grub_chainloader_real_boot().
20230
d6f93a66
RM
202312010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
202322010-01-05 Colin Watson <cjwatson@ubuntu.com>
20233
20234 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
20235 non-empty value.
20236
202372010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
202382010-01-05 Colin Watson <cjwatson@ubuntu.com>
20239
20240 * util/grub.d/00_header.in: Define a "savedefault" function for use
20241 in menu entries.
20242 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
20243
202442010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
202452010-01-05 Colin Watson <cjwatson@ubuntu.com>
20246
20247 * util/grub-mkconfig_lib.in (save_default_entry): Only set
20248 saved_entry if boot_once is unset.
20249 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
20250 previous saved entry (i.e. grub-reboot).
20251
202522009-12-08 Colin Watson <cjwatson@ubuntu.com>
20253
20254 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
20255
202562009-12-08 Colin Watson <cjwatson@ubuntu.com>
20257
20258 * util/grub.d/00_header.in: Use `set var=val' rather than plain
20259 `var=val'.
20260 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
20261
202622009-12-08 Colin Watson <cjwatson@ubuntu.com>
20263
20264 * util/grub-reboot.in: Fix --version output.
20265 * util/grub-set-default.in: Likewise.
20266
202672009-12-08 Colin Watson <cjwatson@ubuntu.com>
20268
20269 * util/grub.d/00_header.in: Silently ignore zero-sized environment
20270 blocks.
20271
202722009-12-08 Colin Watson <cjwatson@ubuntu.com>
20273
20274 * util/grub.d/00_header.in: Quote the value assigned to `default',
20275 in case it contains spaces.
20276
202772009-12-08 Colin Watson <cjwatson@ubuntu.com>
20278
20279 * util/grub.d/30_os-prober.in: Fix merge error that moved a
20280 `save_default_entry' call from the macosx case to the linux case.
20281
202822009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
202832009-10-25 Colin Watson <cjwatson@ubuntu.com>
20284
20285 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
20286 in `chosen' environment variable.
20287 * normal/menu_text.c (get_entry_number): Check if the variable
20288 matches the title of a menu entry.
20289 (run_menu): Pass menu to get_entry_number.
20290
20291 * util/grub-reboot.in: New file.
20292 * util/grub-set-default.in: New file.
20293 * conf/common.rmk (grub-reboot): New utility.
20294 (grub-set-default): New utility.
20295
20296 * util/grub-mkconfig_lib.in (save_default_entry): New function.
20297 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
20298 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
20299 move it to `saved_entry' for the next boot. Load environment on
20300 initialisation.
20301 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
20302 * util/grub.d/10_hurd.in: Likewise.
20303 * util/grub.d/10_linux.in (linux_entry): Likewise.
20304 * util/grub.d/10_windows.in: Likewise.
20305 * util/grub.d/30_os-prober.in: Likewise.
20306
20307 * util/grub-install.in: Create environment block.
20308 * util/i386/efi/grub-install.in: Likewise.
20309 * util/ieee1275/grub-install.in: Likewise.
20310 * util/sparc64/ieee1275/grub-install.in: Likewise.
20311
0934d184
BC
203122010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
20313
20314 Unit testing framework for GRUB.
20315
20316 * Makefile.in: Test framework build rules for 'make check'.
20317 * conf/tests.rmk: Build rules for individual tests and framework.
20318
20319 * include/grub/test.h: Header file for whitebox tests.
20320 * tests/lib/functional_test.c: Framework support for whitebox
20321 functional tests.
20322 * tests/lib/test.c: Common whitebox testing code for unit and
20323 functional tests.
20324 * tests/lib/unit_test.c: Framework support for whitebox unit
20325 tests.
20326
20327 * tests/util/grub-shell-tester.in: Support utility for grub-script
20328 tests.
20329 * tests/util/grub-shell.in: Utility to execute grub-script
20330 commands in a Qemu instance.
20331
20332 * tests/example_functional_test.c: Example whitebox functional
20333 test.
20334 * tests/example_grub_script_test.in: Example grub-script test.
20335 * tests/example_scripted_test.in: Example scripted test.
20336 * tests/example_unit_test.c: Example whitebox unit test.
20337
9c4ffeeb
VS
203382010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
20339
20340 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
20341 Add loader/i386/multiboot_mbi.c.
20342 (multiboot2_mod_SOURCES): Likewise.
20343 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
20344 (multiboot2_mod_SOURCES): Likewise.
20345 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
20346 (grub_multiboot_make_mbi): Likewise.
20347 (grub_multiboot_free_mbi): Likewise.
20348 (grub_multiboot_init_mbi): Likewise.
20349 (grub_multiboot_add_module): Likewise.
20350 (grub_multiboot_set_bootdev): Likewise.
20351 * loader/i386/multiboot.c (mbi): Removed.
20352 (mbi_dest): Likewise.
20353 (alloc_mbi): New variable.
20354 (grub_multiboot_payload_size): Removed. All users updated.
20355 (grub_multiboot_pure_size): New variable.
20356 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
20357 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
20358 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
20359 (grub_fill_multiboot_mmap): Likewise.
20360 (grub_multiboot_get_bootdev): Likewise.
20361 (grub_multiboot): Use multiboot_mbi functions.
20362 * loader/i386/multiboot_mbi.c: New file.
20363
17383dfe
VS
203642010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20365
20366 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
20367 it would result in module crash.
20368
c1f28820
VS
203692010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20370
20371 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
20372 (grub_ofconsole_getwh): Split to ...
20373 (grub_ofconsole_getwh): ... this.
20374 (grub_ofconsole_dimensions): ...and this.
20375 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
20376
58655a16
RM
203772010-01-13 Robert Millan <rmh.grub@aybabtu.com>
20378
20379 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
20380
10891398
VS
203812010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20382
20383 * loader/i386/pc/multiboot2.c: Removed stalled file.
20384
0b8a223c
VS
203852010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20386
20387 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
20388 Reported by: Grégoire Sutre
20389
92ab12b0
RM
203902010-01-11 Robert Millan <rmh.grub@aybabtu.com>
20391
20392 * util/misc.c (canonicalize_file_name): New function.
20393 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
20394 instead of realpath().
20395
a788afb6
CW
203962010-01-11 Colin Watson <cjwatson@ubuntu.com>
20397
20398 * util/grub-install.in (usage): Clarify meaning of --root-directory,
20399 and make it clearer that it's optional. Based on confusion
20400 witnessed on IRC.
20401
ffa8e3d2
VS
204022010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20403
20404 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
20405 in premature implicit newline.
20406
e9060a9d
VS
204072010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20408
20409 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
20410 which resulted in garbled command line at the end of screen.
20411
f0d0c0b7
RM
204122010-01-10 Robert Millan <rmh.grub@aybabtu.com>
20413
20414 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
20415 initialization with similar approach as with other Linux loaders.
20416
0e60bae7
RM
204172010-01-10 Robert Millan <rmh.grub@aybabtu.com>
20418
20419 Fix i386-ieee1275 build.
20420
20421 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
20422 and grub_term_height() for video_{width,height} initialization.
20423
204242010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
20425
20426 Fix grub-emu build.
20427
20428 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
20429
cdb3f378
RM
204302010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
204312010-01-09 Robert Millan <rmh.grub@aybabtu.com>
20432
20433 Support for multiple terminals.
20434
20435 * Makefile.in (pkglib_DATA): terminal.lst.
20436 (terminal.lst): New target.
20437 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
20438 (GRUB_MOD_INIT(handler)): Likewise.
20439 (GRUB_MOD_FINI(handler)): Likewise.
20440 * commands/help.c (grub_cmd_help): Handle multiple terminals.
20441 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
20442 * commands/sleep.c (do_print): Use grub_term_restore_pos.
20443 (grub_cmd_sleep): Use grub_term_save_pos.
20444 * commands/terminal.c: New file.
20445 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
20446 commands/terminal.c and lib/charset.c.
20447 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
20448 (pkglib_MODULES): Add terminal.mod.
20449 (terminal_mod_SOURCES): New variable.
20450 (terminal_mod_CFLAGS): Likewise.
20451 (terminal_mod_LDFLAGS): Likewise.
20452 * genhandlerlist.sh: Don't handle terminals.
20453 * genmk.rb: Generate terminal-*.lst.
20454 * genterminallist.sh: New file.
20455 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
20456 (grub_is_valid_utf8): Likewise.
20457 (grub_utf8_to_ucs4_alloc): Likewise.
20458 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
20459 (grub_menu_register_viewer): Changed argument.
20460 (grub_menu_try_text): New proto.
20461 (grub_gfxmenu_try_hook): New declaration.
20462 * include/grub/normal.h (grub_normal_exit_level): New declaration.
20463 (grub_menu_init_page): Additional argument term.
20464 (grub_normal_init_page): Likewise.
20465 (grub_cmdline_get): Arguments simplified.
20466 (grub_utf8_to_ucs4_alloc): Removed.
20467 (grub_print_ucs4): Additional argument term.
20468 (grub_getstringwidth): Likewise.
20469 (grub_print_message_indented): Likewise.
20470 (grub_menu_text_register_instances): New proto.
20471 (grub_show_menu): Likewise.
20472 (read_terminal_list): Likewise.
20473 (grub_set_more): Likewise.
20474 * include/grub/parser.h: Include handler.h.
20475 * include/grub/reader.h: Rewritten.
20476 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
20477 (GRUB_TERM_WIDTH): Changed to function.
20478 (GRUB_TERM_HEIGHT): Likewise.
20479 (GRUB_TERM_BORDER_WIDTH): Likewise.
20480 (GRUB_TERM_BORDER_HEIGHT): Likewise.
20481 (GRUB_TERM_NUM_ENTRIES): Likewise.
20482 (GRUB_TERM_ENTRY_WIDTH): Likewise.
20483 (GRUB_TERM_CURSOR_X): Likewise.
20484 (grub_term_input_class): Likewise.
20485 (grub_term_output_class): Likewise.
20486 (grub_term_outputs_disabled): New declaration.
20487 (grub_term_inputs_disabled): Likewise.
20488 (grub_term_outputs): Likewise.
20489 (grub_term_inputs): Likewise.
20490 (grub_term_register_input): Rewritten.
20491 (grub_term_register_output): Likewise.
20492 (grub_term_unregister_input): Likewise.
20493 (grub_term_unregister_output): Likewise.
20494 (FOR_ACTIVE_TERM_INPUTS): New macro.
20495 (FOR_DISABLED_TERM_INPUTS): Likewise.
20496 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
20497 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
20498 * include/grub/terminfo.h: Add oterm argument to all protypes.
20499 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
20500 Use grub_rescue_run.
20501 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
20502 All users updated.
20503 * kern/reader.c: Removed. All users updated.
20504 * kern/rescue_reader.c (grub_rescue_init): Removed.
20505 (grub_rescue_reader): Likewise.
20506 (grub_register_rescue_reader): Likewise.
20507 (grub_rescue_run): New function based on kern/reader.c.
20508 * kern/term.c: Adapted for multiterm.
20509 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
20510 (grub_is_valid_utf8): Likewise.
20511 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
20512 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
20513 right terminal.
20514 * loader/i386/linux.c (grub_linux_boot): Likewise.
20515 * normal/auth.c (grub_username_get): New function.
20516 (grub_auth_check_authentication): Use grub_username_get.
20517 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
20518 * normal/color.c: Adapt for multiterm.
20519 * normal/main.c (read_config_file): Don't use grub_reader_loop.
20520 (grub_normal_init_page): Additional argument term.
20521 (read_lists): Call read_terminal_lists.
20522 (grub_enter_normal_mode): Call grub_cmdline_run.
20523 Handle grub_normal_exit_level.
20524 (grub_cmd_normal): Make reentrant.
20525 (grub_cmd_normal_exit): New function.
20526 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
20527 * normal/menu.c: Adapt for multiterm.
20528 * normal/menu_entry.c: Likewise.
20529 * normal/menu_text.c: Likewise.
20530 * normal/menu_viewer.c: Removed. All users updated.
20531 * normal/term.c: New file.
20532 * util/console.c: Change order of includes to workaround a bug in
20533 ncurses headers.
20534 * term/terminfo.c: New argument oterm on all exported functions.
20535 All users updated.
20536 * util/grub-editenv.c (grub_term_input_class): Removed.
20537 (grub_term_output_class): Likewise.
20538
1a064917
RM
205392010-01-09 Robert Millan <rmh.grub@aybabtu.com>
20540
20541 Make loader output a bit more user-friendly.
20542
20543 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
20544 is being loaded. Likewise for the Hurd.
20545
20546 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
20547 that kernel of FreeBSD ${version} is being loaded.
20548
20549 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
20550 grub_dprintf().
20551 (grub_cmd_initrd): Likewise.
20552 * util/grub.d/10_linux.in (linux_entry): Print message indicating
20553 that Linux ${version} is being loaded. Likewise for initrd.
20554
5ce0a83a 205552010-01-09 Carles Pina i Estany <carles@pina.cat>
20556
20557 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
20558
809bbfeb 205592010-01-08 Carles Pina i Estany <carles@pina.cat>
20560
20561 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
20562 (GRUB_MOD_INIT): Gettextizze.
20563 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
20564 (GRUB_MOD_INIT): Gettextizze.
20565 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
20566 (grub_cmd_linux): Capitalise Linux.
20567 (GRUB_MOD_INIT): Gettextizze.
20568 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
20569 (grub_cmd_linux): Capitalise Linux.
20570 (GRUB_MOD_INIT): Gettextizze.
20571 * loader/i386/linux.c: Include `<grub/i18n.h>'.
20572 (grub_cmd_linux): Capitalise Linux.
20573 (GRUB_MOD_INIT): Gettextizze.
20574 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
20575 (GRUB_MOD_INIT): Gettextizze.
20576 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
20577 (grub_cmd_linux): Capitalise Linux.
20578 (GRUB_MOD_INIT): Gettextizze.
20579 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
20580 (grub_cpu_xnu_init): Gettextizze.
20581 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
20582 (GRUB_MOD_INIT): Gettextizze.
20583 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
20584 (GRUB_MOD_INIT): Gettextizze.
20585 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
20586 (grub_linux_load64): Capitalise Linux.
20587 (GRUB_MOD_INIT): Gettextizze.
20588 * loader/xnu.c: Include `<grub/i18n.h>'.
20589 (GRUB_MOD_INIT): Gettextizze.
20590 * po/POTFILES: Add `loader/efi/appleloader.c',
20591 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
20592 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
20593 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
20594 `loader/i386/xnu.c', `loader/multiboot_loader.c',
20595 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
20596 and `loader/xnu.c'.
20597
b394b2ca
RM
205982010-01-08 Robert Millan <rmh.grub@aybabtu.com>
20599
20600 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
20601
206022010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
20603
20604 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
20605 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
20606 * util/mkisofs/mkisofs.c (main): Readjust --version output.
20607
bc8b32b3
RM
206082010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20609
20610 Reset Multiboot 2 support. New loader implements the draft in
20611 /branches/multiboot2 and shares as much code as possible with the
20612 production Multiboot 1 implementation.
20613
20614 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
20615 * loader/multiboot2.c: Likewise.
20616 * loader/i386/multiboot_helper.S: Likewise.
20617 * include/multiboot2.h: Replace with latest version from the draft
20618 in /branches/multiboot2.
20619
20620 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
20621 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
20622 and `loader/multiboot2.c'.
20623 (pkglib_MODULES): Add `multiboot2.mod'.
20624 (multiboot2_mod_SOURCES): New variable.
20625 (multiboot2_mod_LDFLAGS): Likewise.
20626 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
20627
20628 * conf/i386-pc.rmk: Likewise.
20629
20630 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
20631 (multiboot_mod_SOURCES): Remove variable.
20632 (multiboot_mod_LDFLAGS): Likewise.
20633 (multiboot_mod_CFLAGS): Likewise.
20634
20635 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
20636 `<multiboot2.h>' instead of `<multiboot.h>'.
20637 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
20638 (MULTIBOOT_HEADER_MAGIC): New macros.
20639
20640 * loader/multiboot_loader.c (module_version_status): Remove variable.
20641 (find_multi_boot2_header): Remove function.
20642 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
20643 logic. Always check for the Multiboot version we're compiling for.
20644 (grub_cmd_module_loader): Likewise.
20645 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
20646 command instead of `multiboot'.
20647
5d2c52b8
RM
206482010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20649
20650 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
20651 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
20652 all users.
20653
53108d92
RM
206542010-01-07 Robert Millan <rmh.grub@aybabtu.com>
206552010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20656
20657 Fix breakage introduced with previous commit.
20658
20659 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
20660 commands.
20661 * normal/handler.c (read_handler_list): Revert part of previous commit
20662 affecting this file.
20663 * normal/main.c (read_lists): Move read_handler_list() call back to ...
20664 (grub_normal_execute): ... here.
20665
e2e936b2
RM
206662010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20667
20668 Merge prefix-redefinition-fix branch.
20669
20670 * normal/autofs.c (read_fs_list): Make function capable of being
20671 run multiple times, gracefuly replacing the previous data
20672 structures.
20673 * normal/dyncmd.c (read_command_list): Likewise.
20674 * normal/handler.c (read_handler_list): Likewise.
20675 * normal/main.c (read_lists): New function. Calls all the
20676 list reading functions.
20677 (grub_normal_execute): Use read_lists() instead of calling all
20678 list reading functions explicitly. Register read_lists() as a
20679 variable hook attached to ${prefix}.
20680
607a3701
VS
206812010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20682
20683 Merge crypto branch.
20684
20685 * Makefile.in (pkglib_DATA): Add crypto.lst.
20686 (crypto.lst): New target.
20687 * commands/hashsum.c: New file.
20688 * commands/password.c (check_password): Use grub_crypto_memcmp.
20689 * commands/password_pbkdf2.c: New file.
20690 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
20691 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
20692 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
20693 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
20694 -I$(srcdir)/lib/libgcrypt_wrap.
20695 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
20696 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
20697 password_pbkdf2.mod.
20698 (crypto_mod_SOURCES): New variable.
20699 (crypto_mod_CFLAGS): Likewise.
20700 (crypto_mod_LDFLAGS): Likewise.
20701 (hashsum_mod_SOURCES): New variable.
20702 (hashsum_mod_CFLAGS): Likewise.
20703 (hashsum_mod_LDFLAGS): Likewise.
20704 (pbkdf2_mod_SOURCES): New variable.
20705 (pbkdf2_mod_CFLAGS): Likewise.
20706 (pbkdf2_mod_LDFLAGS): Likewise.
20707 (password_pbkdf2_mod_SOURCES): New variable.
20708 (password_pbkdf2_mod_CFLAGS): Likewise.
20709 (password_pbkdf2_mod_LDFLAGS): Likewise.
20710 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
20711 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
20712 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
20713 Include conf/gcry.rmk.
20714 * include/grub/auth.h: Rewritten.
20715 * include/grub/crypto.h: New file.
20716 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
20717 * include/grub/normal.h (read_crypto_list): New prototype.
20718 * lib/crypto.c: New file.
20719 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
20720 * lib/pbkdf2.c: Likewise.
20721 * normal/auth.c (grub_auth_strcmp): Removed.
20722 (grub_iswordseparator): Likewise.
20723 (grub_auth_strword): Likewise.
20724 (is_authenticated): Use grub_strword.
20725 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
20726 and grub_strword. Pass entered password to authentication callback.
20727 * normal/crypto.c: New file.
20728 * normal/main.c: Call read_crypto_list.
20729 * util/grub-mkpasswd-pbkdf2.c: New file.
20730 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
20731
42841caa
VS
207322010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
20733
20734 Fix descent and ascent calculation.
20735
20736 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
20737 (options): New option "asce".
20738 (usage): Likewise.
20739 (add_char): Ignore invalid glyphs for descent calculation.
20740 Calculate ascent from actual content.
20741 (print_glyphs): Use 'asce'.
20742 (write_font): Likewise. Allow ascent override.
20743 (main): Handle "asce" option.
20744
e7730de7 207452010-01-06 Carles Pina i Estany <carles@pina.cat>
20746
20747 * kern/err.c: Include `<grub/i18n.h>'.
20748 (grub_print_error): Add full stop. Gettextizze.
20749 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
20750 (grub_bsd_load_elf): Capitalise ELF.
20751 (grub_cmd_freebsd_loadenv): Add `s' in error string.
20752 (grub_cmd_freebsd_module): Likewise.
20753 (grub_cmd_freebsd_module_elf): Likewise.
20754 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
20755
40e3a41f 207562010-01-06 Carles Pina i Estany <carles@pina.cat>
20757
20758 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
20759 * commands/search_file.c (HELP_MESSAGE): New macro.
20760 * commands/search_label.c (HELP_MESSAGE): Likewise.
20761 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
20762 * po/POTFILES: Add `commands/search_file.c',
20763 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
20764 `commands/search.c'.
20765
83507e68
RM
207662010-01-05 Robert Millan <rmh.grub@aybabtu.com>
20767
20768 * config.rpath: Update from Gnulib.
20769
465c787b
YB
207702010-01-05 Yves Blusseau <blusseau@zetam.org>
20771
20772 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
20773
6581dd3a
YB
207742010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
20775
20776 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
20777
3bff18c5
CW
207782010-01-05 Colin Watson <cjwatson@ubuntu.com>
20779
20780 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
20781 arguments to fread so that we get a return value in bytes, rather
20782 than something that will normally be rounded down to 0.
20783 Adjust error handling to avoid producing garbage when size_t is not
20784 the same size as long long.
20785
a1368118
CW
207862010-01-05 Colin Watson <cjwatson@ubuntu.com>
20787
20788 * util/mkisofs/write.c (padblock_write): Check return value of
20789 fread.
20790
7c302978
RM
207912010-01-05 Robert Millan <rmh.grub@aybabtu.com>
20792
20793 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
20794 floppy images now.
20795
20796 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
20797
e33ace06
RM
207982010-01-04 Robert Millan <rmh.grub@aybabtu.com>
20799
20800 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
20801 instead of manual alignment.
20802 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
20803 verbose). Avoid attempts to read past end of the device
20804 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
20805 but GRUB_DISK_CACHE_SIZE may exceed that).
20806
4b856776
RM
208072010-01-04 Robert Millan <rmh.grub@aybabtu.com>
20808
20809 * commands/crc.c (grub_cmd_crc): Abort on read errors.
20810 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
20811 it to upper layer.
20812
52c2d97f
VS
208132010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20814
20815 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
20816 New constant.
20817 (grub_efi_piwg_device_path): New structure
20818 (grub_efi_piwg_device_path_t): New type.
20819 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
20820 (devpath_1): Transform to a structure. All users updated.
20821 (devpath_2): Likewise.
20822 (devpath_3): Likewise.
20823 (devpath_4): Likewise.
20824 (devpath_5): Likewise.
20825
98ff6a54
VS
208262010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
20827
20828 * loader/efi/appleloader.c: Restored. Update all users.
20829
3a73dcb6
RM
208302010-01-03 Robert Millan <rmh.grub@aybabtu.com>
20831
20832 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
20833
20834 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
20835 (struct boot_blocklist): Move from here ...
20836 * include/grub/i386/pc/boot.h [ASM_FILE]
20837 (struct grub_boot_blocklist): ... to here. Update all users.
20838 (setup): Only initialize `start' member of `first_block'
20839 structure. Add assert() calls to verify the other members.
20840
20841 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
20842 (generate_image): Fix broken blocklist length initialization.
20843 Add assert() call to verify blocklist `segment' field.
20844
ab0eeb0c
RM
208452010-01-03 Robert Millan <rmh.grub@aybabtu.com>
20846
20847 * loader/efi/appleloader.c: Remove. Update all users.
20848
58bc8bd5
RM
208492010-01-03 Robert Millan <rmh.grub@aybabtu.com>
20850
20851 * boot/i386/pc/boot.S: Update copyright year.
20852 * boot/i386/pc/cdboot.S: Likewise.
20853 * boot/i386/pc/diskboot.S: Likewise.
20854 * boot/i386/pc/lnxboot.S: Likewise.
20855 * boot/i386/pc/pxeboot.S: Likewise.
20856 * bus/pci.c: Likewise.
20857 * commands/cmp.c: Likewise.
20858 * commands/help.c: Likewise.
20859 * commands/hexdump.c: Likewise.
20860 * commands/i386/pc/halt.c: Likewise.
20861 * commands/i386/pc/play.c: Likewise.
20862 * commands/i386/pc/vbeinfo.c: Likewise.
20863 * commands/ls.c: Likewise.
20864 * commands/test.c: Likewise.
20865 * disk/dmraid_nvidia.c: Likewise.
20866 * disk/i386/pc/biosdisk.c: Likewise.
20867 * disk/ieee1275/nand.c: Likewise.
20868 * disk/ieee1275/ofdisk.c: Likewise.
20869 * disk/lvm.c: Likewise.
20870 * disk/raid.c: Likewise.
20871 * disk/raid6_recover.c: Likewise.
20872 * disk/scsi.c: Likewise.
20873 * fs/affs.c: Likewise.
20874 * fs/cpio.c: Likewise.
20875 * fs/ext2.c: Likewise.
20876 * fs/hfs.c: Likewise.
20877 * fs/iso9660.c: Likewise.
20878 * fs/ntfs.c: Likewise.
20879 * fs/sfs.c: Likewise.
20880 * fs/udf.c: Likewise.
20881 * fs/ufs.c: Likewise.
20882 * fs/xfs.c: Likewise.
20883 * gencmdlist.sh: Likewise.
20884 * genmk.rb: Likewise.
20885 * include/grub/disk.h: Likewise.
20886 * include/grub/efi/api.h: Likewise.
20887 * include/grub/efi/efi.h: Likewise.
20888 * include/grub/efi/pe32.h: Likewise.
20889 * include/grub/elf.h: Likewise.
20890 * include/grub/fs.h: Likewise.
20891 * include/grub/i386/at_keyboard.h: Likewise.
20892 * include/grub/i386/pc/memory.h: Likewise.
20893 * include/grub/i386/pc/vbe.h: Likewise.
20894 * include/grub/i386/pci.h: Likewise.
20895 * include/grub/i386/tsc.h: Likewise.
20896 * include/grub/ieee1275/ieee1275.h: Likewise.
20897 * include/grub/ntfs.h: Likewise.
20898 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
20899 * include/grub/sparc64/libgcc.h: Likewise.
20900 * include/grub/symbol.h: Likewise.
20901 * include/grub/types.h: Likewise.
20902 * include/multiboot2.h: Likewise.
20903 * io/gzio.c: Likewise.
20904 * kern/device.c: Likewise.
20905 * kern/disk.c: Likewise.
20906 * kern/efi/efi.c: Likewise.
20907 * kern/efi/mm.c: Likewise.
20908 * kern/elf.c: Likewise.
20909 * kern/file.c: Likewise.
20910 * kern/i386/dl.c: Likewise.
20911 * kern/i386/pc/init.c: Likewise.
20912 * kern/i386/pc/startup.S: Likewise.
20913 * kern/ieee1275/ieee1275.c: Likewise.
20914 * kern/ieee1275/init.c: Likewise.
20915 * kern/main.c: Likewise.
20916 * kern/mm.c: Likewise.
20917 * kern/powerpc/dl.c: Likewise.
20918 * kern/sparc64/dl.c: Likewise.
20919 * kern/x86_64/dl.c: Likewise.
20920 * lib/hexdump.c: Likewise.
20921 * loader/efi/appleloader.c: Likewise.
20922 * loader/i386/ieee1275/linux.c: Likewise.
20923 * loader/i386/pc/chainloader.c: Likewise.
20924 * loader/i386/pc/linux.c: Likewise.
20925 * loader/i386/pc/multiboot2.c: Likewise.
20926 * loader/ieee1275/multiboot2.c: Likewise.
20927 * loader/multiboot2.c: Likewise.
20928 * loader/multiboot_loader.c: Likewise.
20929 * loader/powerpc/ieee1275/linux.c: Likewise.
20930 * normal/completion.c: Likewise.
20931 * normal/menu_entry.c: Likewise.
20932 * partmap/apple.c: Likewise.
20933 * util/grub.d/10_hurd.in: Likewise.
20934 * util/hostfs.c: Likewise.
20935 * video/readers/png.c: Likewise.
20936
e2d70b5c
CW
209372010-01-03 Colin Watson <cjwatson@ubuntu.com>
20938
20939 * include/grub/misc.h (GNUC_PREREQ): New macro.
20940 (ATTRIBUTE_ERROR): New macro.
20941 * include/grub/list.h (grub_bad_type_cast_real): Use
20942 ATTRIBUTE_ERROR.
20943
a173283f 209442010-01-03 Carles Pina i Estany <carles@pina.cat>
20945
20946 * normal/menu_text.c (print_message): Change messages.
20947
7fa7ff74 209482010-01-03 Carles Pina i Estany <carles@pina.cat>
20949
20950 * normal/menu_entry.c (store_completion): Gettextizze.
20951
136d24f6 209522010-01-03 Carles Pina i Estany <carles@pina.cat>
20953
20954 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
20955
f936862e 209562010-01-03 Carles Pina i Estany <carles@pina.cat>
20957
20958 * po/POTFILES: Sort correctly.
20959
29c44ad1 209602010-01-03 Carles Pina i Estany <carles@pina.cat>
20961
20962 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
20963 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
20964 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
20965 full stop.
20966 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
20967 summary. Gettextizze the strings.
20968 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
20969 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
20970 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
20971 full stop.
20972 (GRUB_MOD_INIT): Remove command name from summary.
20973 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
20974 summary.
20975 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
20976 * term/i386/pc/serial.c (options): Add full stops.
20977 (GRUB_MOD_INIT): Remove command name from the summary.
20978
77a79592 209792010-01-03 Carles Pina i Estany <carles@pina.cat>
20980
20981 * commands/acpi.c: Gettextizze help strings and/or options. Include
20982 `grub/i18n.h' if needed.
20983 * commands/blocklist.c: Likewise.
20984 * commands/boot.c: Likewise.
20985 * commands/cat.c: Likewise.
20986 * commands/cmp.c: Likewise.
20987 * commands/configfile.c: Likewise.
20988 * commands/crc.c: Likewise.
20989 * commands/date.c: Likewise.
20990 * commands/echo.c: Likewise.
20991 * commands/efi/fixvideo.c: Likewise.
20992 * commands/efi/loadbios.c: Likewise.
20993 * commands/gptsync.c: Likewise.
20994 * commands/halt.c: Likewise.
20995 * commands/handler.c: Likewise.
20996 * commands/hdparm.c: Likewise.
20997 * commands/hexdump.c: Likewise.
20998 * commands/i386/cpuid.c: Likewise.
20999 * commands/i386/pc/drivemap.c: Likewise.
21000 * commands/i386/pc/halt.c: Likewise.
21001 * commands/i386/pc/pxecmd.c: Likewise.
21002 * commands/i386/pc/vbeinfo.c: Likewise.
21003 * commands/i386/pc/vbetest.c: Likewise.
21004 * commands/ieee1275/suspend.c: Likewise.
21005 * commands/keystatus.c: Likewise.
21006 * commands/loadenv.c: Likewise.
21007 * commands/ls.c: Likewise.
21008 * commands/lsmmap.c: Likewise.
21009 * commands/lspci.c: Likewise.
21010 * commands/memrw.c: Likewise.
21011 * commands/minicmd.c: Likewise.
21012 * commands/parttool.c: Likewise.
21013 * commands/password.c: Likewise.
21014 * commands/probe.c: Likewise.
21015 * commands/read.c: Likewise.
21016 * commands/reboot.c: Likewise.
21017 * commands/search.c: Likewise.
21018 * commands/sleep.c: Likewise.
21019 * commands/test.c: Likewise.
21020 * commands/true.c: Likewise.
21021 * commands/usbtest.c: Likewise.
21022 * commands/videotest.c: Likewise.
21023 * commands/xnu_uuid.c: Likewise.
21024 * disk/loopback.c: Likewise.
21025 * hello/hello.c: Likewise.
21026 * loader/i386/bsd.c: Likewise.
21027 * term/i386/pc/serial.c: Likewise.
21028 * po/POTFILES: Add new files.
21029
da8d5c53
CW
210302010-01-02 Colin Watson <cjwatson@ubuntu.com>
21031
21032 * term/i386/pc/at_keyboard.c
21033 (keyboard_controller_wait_untill_ready): Rename to ...
21034 (keyboard_controller_wait_until_ready): ... this. Update all users.
21035
33937904 210362010-01-01 Carles Pina i Estany <carles@pina.cat>
21037
21038 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
21039 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
21040 string using string width.
21041 * normal/menu_text.c (grub_print_message_indented): Use
21042 grub_print_spaces and not print_spaces.
21043 (print_timeout): Likewise.
21044 (print_spaces): Move to...
21045 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
21046
3fd3b8d8
RM
210472010-01-01 Robert Millan <rmh.grub@aybabtu.com>
21048
21049 Import from Gnulib.
21050
21051 * gnulib/getdelim.c: New file.
21052 * gnulib/getline.c: Likewise.
21053
33433555
VS
210542009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
21055
21056 * include/grub/list.h (grub_assert_fail): Removed.
21057 (grub_bad_type_cast_real): New function.
21058 (grub_bad_type_cast): New macro.
21059 (GRUB_AS_LIST): Use grub_bad_type_cast.
21060 (GRUB_AS_LIST_P): Likewise.
e44721e8 21061 (GRUB_AS_NAMED_LIST): Likewise.
33433555 21062 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 21063 (GRUB_AS_PRIO_LIST): Likewise.
33433555 21064 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 21065 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 21066
f5a51306
VS
210672009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
21068
21069 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
21070 Fix syntax error.
21071
90d1e879
RM
210722009-12-29 Robert Millan <rmh.grub@aybabtu.com>
21073
21074 * configure.ac: Check for TARGET_CFLAGS initialization before we
21075 initialize it ourselves (sigh).
21076 Move a few modifications to TARGET_CFLAGS to be unconditional
21077 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
21078 eh_frame)
21079
21080 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
21081 * term/i386/pc/at_keyboard.c
21082 (keyboard_controller_wait_untill_ready): Likewise.
21083 (keyboard_controller_led): Rename `led_status' paramter to avoid
21084 name conflict.
21085
465b5a81 210862009-12-28 Carles Pina i Estany <carles@pina.cat>
21087
21088 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
21089 quotes.
21090
c181849b
VS
210912009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21092
21093 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
21094
9c8739a4
VS
210952009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21096
21097 * normal/menu_text.c (grub_print_message_indented): Prevent
21098 past-the-end-of-array dereference.
21099
3e74249c
VS
211002009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21101
21102 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
21103 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
21104
64fd18ed 211052009-12-27 Carles Pina i Estany <carles@pina.cat>
21106
21107 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
21108 * normal/main.c (grub_normal_read_line): Remove a space from the
21109 default prompt.
21110
714af9b9 211112009-12-27 Carles Pina i Estany <carles@pina.cat>
21112
21113 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
21114 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21115 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21116 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21117 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21118 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21119 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21120
82f3e412 211212009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 21122
21123 * video/readers/jpeg.c (cmd): Declare.
21124 (grub_cmd_jpegtest): Use `grub_command_t' type.
21125 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21126 Assign to `cmd'.
21127 (GRUB_MOD_FINI): Use `cmd' to unregister.
21128 * video/readers/png.c (cmd): Declare.
21129 (grub_cmd_pngtest): Use `grub_command_t' type.
21130 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21131 Assign to `cmd'.
21132 (GRUB_MOD_FINI): Use `cmd' to unregister.
21133 * video/readers/tga.c (cmd): Declare.
21134 (grub_cmd_tgatest): Use `grub_command_t' type.
21135 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21136 Assign to `cmd'.
21137 (GRUB_MOD_FINI): Use `cmd' to unregister.
21138
82f3e412 211392009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 21140
21141 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
21142 stops.
21143 * kern/corecmd.c (grub_register_core_commands): Likewise.
21144 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
21145 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21146 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
21147 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21148 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21149 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
21150 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21151 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
21152 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21153 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21154 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21155 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21156 * normal/handler.c (insert_handler): Likewise.
21157 * normal/main.c (GRUB_MOD_INIT): Likewise.
21158 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
21159
fdcdbb66 211602009-12-26 Carles Pina i Estany <carles@pina.cat>
21161
21162 * commands/help.c (grub_cmd_help): Print the command name before the
21163 summary.
21164 (GRUB_MOD_INIT): Remove command name from the summary.
21165 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 21166 string as summary.
fdcdbb66 21167 * lib/arg.c (find_long): Print the command name before the summary.
21168 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
21169 summary.
21170 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
21171 * commands/cat.c (GRUB_MOD_INIT): Likewise.
21172 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
21173 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
21174 * commands/crc.c (GRUB_MOD_INIT): Likewise.
21175 * commands/date.c (GRUB_MOD_INIT): Likewise.
21176 * commands/echo.c (GRUB_MOD_INIT): Likewise.
21177 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
21178 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
21179 * commands/handler.c (GRUB_MOD_INIT): Likewise.
21180 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
21181 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
21182 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
21183 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
21184 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
21185 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
21186 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
21187 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
21188 * commands/ls.c (GRUB_MOD_INIT): Likewise.
21189 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
21190 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
21191 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
21192 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
21193 * commands/password.c (GRUB_MOD_INIT): Likewise.
21194 * commands/probe.c (GRUB_MOD_INIT): Likewise.
21195 * commands/read.c (GRUB_MOD_INIT): Likewise.
21196 * commands/search.c (GRUB_MOD_INIT): Likewise.
21197 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
21198 * commands/test.c (GRUB_MOD_INIT): Likewise.
21199 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
21200 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
21201 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
21202 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
21203 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
21204 * lib/arg.c (GRUB_MOD_INIT): Likewise.
21205 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
21206 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21207 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21208 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21209 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
21210 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
21211 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
21212 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
21213
9c288be2
VS
212142009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21215
21216 Use search command for preliminar UUID search.
21217
21218 * commands/search.c: Split into ...
21219 * commands/search_wrap.c: ...this
21220 * commands/search.c: ...and this.
21221 * commands/search_file.c: New file.
21222 * commands/search_label.c: New file.
21223 * commands/search_uuid.c: New file.
21224 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
21225 Add commands/search_wrap.c, commands/search_file.c,
21226 commands/search_label.c and commands/search_uuid.c.
21227 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
21228 (search_mod_SOURCES): Set to commands/search_wrap.c.
21229 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
21230 search_label.mod.
21231 (search_fs_file_mod_SOURCES): New variable.
21232 (search_fs_file_mod_CFLAGS): Likewise.
21233 (search_fs_file_mod_LDFLAGS): Likewise.
21234 (search_label_mod_SOURCES): Likewise.
21235 (search_label_mod_CFLAGS): Likewise.
21236 (search_label_mod_LDFLAGS): Likewise.
21237 (search_fs_uuid_mod_SOURCES): New variable.
21238 (search_fs_uuid_mod_CFLAGS): Likewise.
21239 (search_fs_uuid_mod_LDFLAGS): Likewise.
21240 (fs_file_mod_SOURCES): Removed.
21241 (fs_file_mod_CFLAGS): Likewise.
21242 (fs_file_mod_LDFLAGS): Likewise.
21243 (fs_uuid_mod_SOURCES): Removed.
21244 (fs_uuid_mod_CFLAGS): Likewise.
21245 (fs_uuid_mod_LDFLAGS): Likewise.
21246 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
21247 Set to util/grub-install.in.
21248 * disk/fs_file.c: Removed.
21249 * disk/fs_uuid.c: Likewise.
21250 * include/grub/search.h: New file.
21251 * util/grub-install.in: Handle sparc64.
21252 Create and use load.cfg.
21253 * util/sparc64/ieee1275/grub-install.in: Removed.
21254
db943399
VS
212552009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21256
21257 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
21258 Ignore return status if CF is cleared.
21259 (grub_biosdisk_get_diskinfo_standard): Likewise.
21260
3fdae612
RM
212612009-12-25 Robert Millan <rmh.grub@aybabtu.com>
21262
21263 * term/i386/pc/at_keyboard.c
21264 (keyboard_controller_wait_untill_ready): New function.
21265 (grub_keyboard_controller_write, grub_keyboard_controller_read)
21266 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
21267 for keyboard polling, rather than duplicate the same loop. This
21268 saves a few bytes in code size.
21269
7ebaa2b4
VS
212702009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21271
21272 Support for (pxe[:server[:gateway]]) syntax and
21273 use environment variable for PXE.
21274
21275 * commands/i386/pc/pxecmd.c (options): Removed.
21276 (print_ip): Removed.
21277 (grub_cmd_pxe): Removed
21278 (grub_cmd_pxe_unload): New function.
21279 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
21280 (grub_pxe_your_ip): Made static.
21281 (grub_pxe_default_server_ip): Likewise.
21282 (grub_pxe_default_gateway_ip): Likewise.
21283 (grub_pxe_blksize): Likewise.
21284 (parse_ip): New function.
21285 (grub_pxe_open): Support server and gateway specification.
21286 (grub_pxe_close): Free disk->data.
21287 (grub_pxefs_open): Use disk->data.
21288 (grub_pxefs_read): Likewise.
21289 (grub_env_write_readonly): New function.
21290 (set_mac_env): Likewise.
21291 (set_env_limn_ro): Likewise.
21292 (parse_dhcp_vendor): Likewise.
21293 (grub_pxe_detect): Set the environment variables.
21294 (set_ip_env): New function.
21295 (write_ip_env): Likewise.
21296 (grub_env_write_pxe_default_server): Likewise.
21297 (grub_env_write_pxe_default_gateway): Likewise.
21298 (grub_env_write_pxe_blocksize): Likewise.
21299 (GRUB_MOD_INIT(pxe)): Set environment variables.
21300 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
21301 (grub_pxe_mac_addr_t): ... this. All users updated.
21302 (grub_pxe_your_ip): Removed.
21303 (grub_pxe_server_ip): Likewise.
21304 (grub_pxe_gateway_ip): Likewise.
21305 (grub_pxe_blksize): Likewise.
21306
ec5f98ab 213072009-12-25 Carles Pina i Estany <carles@pina.cat>
21308
21309 * commands/help.c: Include `<grub/i18n.h>'.
21310 (grub_cmd_help): Gettextizze.
21311 (GRUB_MOD_INIT): Likewise.
21312 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
21313 (GRUB_MOD_INIT): Gettextizze.
21314 * commands/search.c: Include `<grub/i18n.h>'.
21315 (options): Gettextizze.
21316 (GRUB_MOD_INIT): Gettextizze.
21317 * lib/arg.c: Include `<grub/i18n.h>'.
21318 (help_options): Gettextizze.
21319 (find_long): Likewise.
21320 (grub_arg_show_help): Likewise.
21321 * normal/dyncmd.c: Include `<grub/i18n.h>'.
21322 (read_command_list): Gettextizze.
21323 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 21324 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 21325
22815526
RM
213262009-12-25 Robert Millan <rmh.grub@aybabtu.com>
21327
21328 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
21329 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
21330 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
21331 (led_status): New variable.
21332 (keyboard_controller_led): New function.
21333 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
21334 update led status for caps lock, num lock and scroll lock.
21335
0ad46fd7
FZ
213362009-12-25 Felix Zielcke <fzielcke@z-51.de>
21337
21338 * util/hostdisk.c (open_device): Fix a comment.
21339
d0e158c2
RM
213402009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21341
21342 * util/grub-install.in (host_os): New variable.
21343 * util/i386/efi/grub-install.in (host_os): Likewise.
21344
401c0ad6
RM
213452009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21346
21347 * util/mkisofs/write.c (padblock_write): Abort when given an
21348 excedingly large embed image, instead of silently truncating it.
21349
d14d3370
RM
213502009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21351
21352 * include/multiboot.h: Indentation fixes.
21353
eeed10b4
RM
213542009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21355
21356 * include/multiboot.h (struct multiboot_aout_symbol_table)
21357 (struct multiboot_elf_section_header_table): New structure
21358 declarations (stolen from GRUB Legacy).
21359 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
21360 table information.
21361
21362 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
21363 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
21364 type aliases.
21365
681c70ab
RM
213662009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21367
21368 * include/multiboot.h: Make comments src2texi-friendly.
21369
e4d47d8d
RM
213702009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21371
21372 For consistency with [multiboot]/docs/boot.S.
21373
21374 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
21375 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
21376 (MULTIBOOT_MAGIC2): Rename from this ...
21377 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
21378
a0b70bda
RM
213792009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21380
21381 * include/multiboot.h: Remove `<grub/types.h>'.
21382 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
21383 types. Update all users.
21384
61ba42be 213852009-12-25 Carles Pina i Estany <carles@pina.cat>
21386
21387 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
21388 `couldn't' and `can not' by `cannot'.
21389 * commands/i386/pc/drivemap.c: Likewise.
21390 * disk/ata.c: Likewise.
21391 * disk/ieee1275/nand.c: Likewise.
21392 * fs/affs.c: Likewise.
21393 * fs/fat.c: Likewise.
21394 * fs/hfs.c: Likewise.
21395 * fs/hfsplus.c: Likewise.
21396 * fs/iso9660.c: Likewise.
21397 * fs/jfs.c: Likewise.
21398 * fs/minix.c: Likewise.
21399 * fs/reiserfs.c: Likewise.
21400 * fs/sfs.c: Likewise.
21401 * fs/udf.c: Likewise.
21402 * fs/ufs.c: Likewise.
21403 * fs/xfs.c: Likewise.
21404 * loader/powerpc/ieee1275/linux.c: Likewise.
21405 * loader/sparc64/ieee1275/linux.c: Likewise.
21406 * util/grub-probe.c: Likewise.
21407 * util/misc.c: Likewise.
21408
7fd0baee 214092009-12-24 Carles Pina i Estany <carles@pina.cat>
21410
21411 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
21412 grub_errno calls.
21413 * commands/acpi.c: Likewise.
21414 * commands/blocklist.c: Likewise.
21415 * commands/efi/loadbios.c: Likewise.
21416 * commands/i386/pc/drivemap.c: Likewise.
21417 * commands/loadenv.c: Likewise.
21418 * commands/memrw.c: Likewise.
21419 * commands/password.c: Likewise.
21420 * commands/videotest.c: Likewise.
21421 * disk/ata.c: Likewise.
21422 * disk/ata_pthru.c: Likewise.
21423 * disk/dmraid_nvidia.c: Likewise.
21424 * disk/ieee1275/nand.c: Likewise.
21425 * disk/ieee1275/ofdisk.c: Likewise.
21426 * disk/loopback.c: Likewise.
21427 * disk/lvm.c: Likewise.
21428 * disk/mdraid_linux.c: Likewise.
21429 * disk/raid.c: Likewise.
21430 * disk/raid6_recover.c: Likewise.
21431 * disk/scsi.c: Likewise.
21432 * efiemu/main.c: Likewise.
21433 * efiemu/mm.c: Likewise.
21434 * efiemu/pnvram.c: Likewise.
21435 * efiemu/symbols.c: Likewise.
21436 * font/font.c: Likewise.
21437 * fs/cpio.c: Likewise.
21438 * fs/hfsplus.c: Likewise.
21439 * fs/iso9660.c: Likewise.
21440 * fs/jfs.c: Likewise.
21441 * fs/minix.c: Likewise.
21442 * fs/ntfs.c: Likewise.
21443 * fs/ntfscomp.c: Likewise.
21444 * fs/reiserfs.c: Likewise.
21445 * fs/ufs.c: Likewise.
21446 * fs/xfs.c: Likewise.
21447 * gettext/gettext.c: Likewise.
21448 * include/grub/auth.h: Likewise.
21449 * kern/elf.c: Likewise.
21450 * kern/file.c: Likewise.
21451 * kern/ieee1275/init.c: Likewise.
21452 * kern/ieee1275/mmap.c: Likewise.
21453 * kern/ieee1275/openfw.c: Likewise.
21454 * kern/powerpc/dl.c: Likewise.
21455 * kern/sparc64/dl.c: Likewise.
21456 * lib/arg.c: Likewise.
21457 * loader/i386/bsd.c: Likewise.
21458 * loader/i386/bsdXX.c: Likewise.
21459 * loader/i386/efi/linux.c: Likewise.
21460 * loader/i386/efi/xnu.c: Likewise.
21461 * loader/i386/ieee1275/linux.c: Likewise.
21462 * loader/i386/linux.c: Likewise.
21463 * loader/i386/multiboot.c: Likewise.
21464 * loader/i386/pc/linux.c: Likewise.
21465 * loader/i386/pc/multiboot2.c: Likewise.
21466 * loader/i386/xnu.c: Likewise.
21467 * loader/ieee1275/multiboot2.c: Likewise.
21468 * loader/macho.c: Likewise.
21469 * loader/machoXX.c: Likewise.
21470 * loader/multiboot2.c: Likewise.
21471 * loader/multiboot_loader.c: Likewise.
21472 * loader/powerpc/ieee1275/linux.c: Likewise.
21473 * loader/sparc64/ieee1275/linux.c: Likewise.
21474 * loader/xnu.c: Likewise.
21475 * loader/xnu_resume.c: Likewise.
21476 * mmap/i386/pc/mmap.c: Likewise.
21477 * normal/menu_viewer.c: Likewise.
21478 * partmap/acorn.c: Likewise.
21479 * partmap/amiga.c: Likewise.
21480 * partmap/apple.c: Likewise.
21481 * script/lexer.c: Likewise.
21482 * term/gfxterm.c: Likewise.
21483 * term/i386/pc/serial.c: Likewise.
21484 * term/i386/pc/vga.c: Likewise.
21485 * term/ieee1275/ofconsole.c: Likewise.
21486 * term/terminfo.c: Likewise.
21487 * video/bitmap.c: Likewise.
21488 * video/efi_gop.c: Likewise.
21489 * video/efi_uga.c: Likewise.
21490 * video/fb/video_fb.c: Likewise.
21491 * video/i386/pc/vbe.c: Likewise.
21492 * video/readers/tga.c: Likewise.
21493 * video/video.c: Likewise.
21494
0ad46fd7 214952009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
21496
21497 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
21498 * commands/lspci.c: Likewise.
21499 * commands/probe.c: Likewise.
21500 * commands/xnu_uuid.c: Likewise.
21501 * conf/i386-coreboot.rmk: Likewise.
21502 * conf/i386-efi.rmk: Likewise.
21503 * conf/i386-ieee1275.rmk: Likewise.
21504 * conf/i386-pc.rmk: Likewise.
21505 * conf/powerpc-ieee1275.rmk: Likewise.
21506 * conf/sparc64-ieee1275.rmk: Likewise.
21507 * conf/x86_64-efi.rmk: Likewise.
21508 * fs/i386/pc/pxe.c: Likewise.
21509 * gettext/gettext.c: Likewise.
21510 * include/grub/efi/graphics_output.h: Likewise.
21511 * include/grub/i386/pc/memory.h: Likewise.
21512 * kern/env.c: Likewise.
21513 * kern/i386/qemu/startup.S: Likewise.
21514 * lib/i386/pc/biosnum.c: Likewise.
21515 * lib/i386/relocator.c: Likewise.
21516 * lib/i386/relocator_asm.S: Likewise.
21517 * lib/relocator.c: Likewise.
21518 * loader/i386/bsd.c: Likewise.
21519 * loader/i386/multiboot.c: Likewise.
21520 * loader/i386/pc/chainloader.c: Likewise.
21521 * loader/i386/xnu.c: Likewise.
21522 * loader/xnu.c: Likewise.
21523 * normal/main.c: Likewise.
21524 * normal/menu_text.c: Likewise.
21525 * util/getroot.c: Likewise.
21526 * util/grub-mkconfig_lib.in: Likewise.
21527 * util/grub.d/00_header.in: Likewise.
21528 * util/i386/pc/grub-mkimage.c: Likewise.
21529 * util/mkisofs/eltorito.c: Likewise.
21530 * util/mkisofs/exclude.h: Likewise.
21531 * util/mkisofs/hash.c: Likewise.
21532 * util/mkisofs/iso9660.h: Likewise.
21533 * util/mkisofs/joliet.c: Likewise.
21534 * util/mkisofs/mkisofs.c: Likewise.
21535 * util/mkisofs/mkisofs.h: Likewise.
21536 * util/mkisofs/multi.c: Likewise.
21537 * util/mkisofs/name.c: Likewise.
21538 * util/mkisofs/rock.c: Likewise.
21539 * util/mkisofs/tree.c: Likewise.
21540 * util/mkisofs/write.c: Likewise.
21541 * video/efi_gop.c: Likewise.
21542
009ec743
VS
215432009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
21544
21545 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
21546 size counting.
21547
0ad46fd7 215482009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
21549
21550 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
21551 * genmk.rb (class SCRIPT): Modify the target file instead of source.
21552
d3d30ea0
VS
215532009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21554
21555 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
21556 (GRUB_MOD_INIT(memrw)): Update help line.
21557
a34f5c70
VS
215582009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21559
21560 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
21561 Use grub_extcmd_t. All users updated.
21562 (options): New variable.
21563 (grub_cmd_read): Restructure for readability. Support "-v" option.
21564 (grub_cmd_write): Restructure for readability.
21565
0ad46fd7 215662009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
21567
21568 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
21569
0ad46fd7 215702009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
21571
21572 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
21573 with the actual contents of the correspondending make variable.
21574 * util/grub-mkrescue.in (pkglib_DATA): New variable.
21575 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
21576 specifying `*.lst' and `efiemu??.o'
21577
0ad46fd7 215782009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
21579
21580 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
21581 after function name.
21582 Noticed by Rene Engelhard <rene@debian.org>.
21583
dc77a799
VS
215842009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21585
21586 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
21587 (options): New variable.
21588 (iospace): Likewise.
21589 (grub_lspci_iter): List IO spaces if "-i" was given.
21590 (grub_cmd_lspci): Parse options.
21591 (GRUB_MOD_INIT(lspci)): Use extcmd.
21592 (GRUB_MOD_FINI(lspci)): Likewise.
21593
0ad46fd7 215942009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
21595
21596 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
21597 `function' keyword.
21598 Patch by Tony Mancill <tmancill@debian.org>.
21599
b5d5993b
VS
216002009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21601
21602 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
21603 (grub_uhci_portstatus): Likewise.
21604 (grub_uhci_portstatus): Add necessary delay.
11d18281 21605 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 21606
941903f2 216072009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 21608
941903f2 21609 * commands/acpi.c (options): Fix capitalizations and/or full stops.
21610 (GRUB_MOD_INIT): Likewise.
21611 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 21612 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
21613 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 21614 * commands/efi/loadbios.c (enable_rom_area): Likewise.
21615 (enable_rom_area): Likewise.
21616 (GRUB_MOD_INIT): Likewise.
21617 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
21618 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
21619 * commands/handler.c (GRUB_MOD_INIT): Likewise.
21620 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
21621 * commands/hexdump.c (options): Likewise.
21622 * commands/i386/cpuid.c (options): Likewise.
21623 (GRUB_MOD_INIT): Likewise.
21624 * commands/i386/pc/drivemap.c (options): Likewise.
21625 (GRUB_MOD_INIT): Likewise.
21626 * commands/i386/pc/halt (options): Likewise.
21627 (GRUB_MOD_INIT): Likewise.
21628 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
21629 * commands/i386/pc/pxecmd.c (options): Likewise.
21630 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
21631 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
21632 * commands/keystatus.c (options): Likewise.
21633 (GRUB_MOD_INIT): Likewise.
21634 * commands/loadenv.c (options): Likewise.
21635 * commands/ls.c (options): Likewise.
21636 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
21637 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
21638 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
21639 * commands/parttool.c (helpmsg): Likewise.
21640 * commands/probe.c (options): Likewise.
21641 * commands/read.c (GRUB_MOD_INIT): Likewise.
21642 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
21643 * commands/search.c (options): Likewise.
21644 * commands/sleep.c (options): Likewise.
21645 * commands/test.c (GRUB_MOD_INIT): Likewise.
21646 * commands/true.c (GRUB_MOD_INIT): Likewise.
21647 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
21648 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
21649 * lib/arg.c (help_options): Likewise.
e9bbb4e7 21650 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
21651 `$(XGETTEXT)'.
98a50553 21652 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 21653
0ad46fd7 216542009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 21655
ef3c2c3a 21656 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
21657 instead of specifying them explicit.
21658
7922f68b
RM
216592009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21660
21661 * NEWS: Add grub-probe support for GNU/Hurd.
21662
537ce47f
RM
216632009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21664
21665 * NEWS: gettext was added after 1.97.
21666
9b214e3a
RM
216672009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21668
21669 * util/mkisofs/msdos_partition.h: New file (based on
21670 include/grub/msdos_partition.h).
21671 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
21672 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
21673 (ld_options, main): Recognize --protective-msdos-label.
21674 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
21675 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
21676 (padblock_write): If `use_protective_msdos_label' is set, patch a
21677 protective DOS-style label in the output image.
21678
21679 * util/grub-mkrescue.in: Use --protective-msdos-label.
21680
e9309813
RM
216812009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21682
21683 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
21684 boot.
21685
0ae56929
RM
216862009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21687
21688 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
21689 variables.
21690 (ld_options, main): Recognize `--embedded-boot'.
21691 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
21692 declarations.
21693 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
21694 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
21695 (padblock_write): Likewise. Rewrite to support embedded boot image.
21696
21697 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
21698 for BIOS-based disk boot instead of only ElTorito.
21699
b15937b1
RM
217002009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21701
21702 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
21703 build (not needed for bootstrap).
21704
52cc3ce0
RM
217052009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21706
21707 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
21708 from i386-pc build (not needed for bootstrap).
21709 Rewrite a pair of strings.
21710
36f5ff04
RM
217112009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21712
21713 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
21714
973c6c85 217152009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
21716
21717 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
21718
05d21547
AB
217192009-12-21 Andreas Born <futur.andy@googlemail.com>
21720
21721 * kern/env.c (grub_env_context_open): Mark exported variable for
21722 reexport.
21723
0175d51f
AB
217242009-12-21 Andreas Born <futur.andy@googlemail.com>
21725
21726 * kern/env.c (grub_env_export): Create nonexistent variables before
21727 exporting.
21728
7f39d92f 217292009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 21730
7f39d92f 21731 * include/grub/auth.h: Include `<grub/i18n.h>'.
21732 (GRUB_GET_PASSWORD): Gettextizze string.
21733 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
21734 menu_text.c.
21735 (grub_utf8_to_ucs4_alloc): Fix indentation.
21736 (grub_print_ucs4): Likewise.
21737 (grub_getstringwidth): Likewise.
21738 (print_message_indented): New declaration.
21739 * normal/auth.c: Include `<grub/i18n.h>'.
21740 (grub_auth_check_authentication): Gettexttize string.
21741 * normal/cmdline.c: Include `<grub/i18n.h>'.
21742 (grub_cmdline_get): Gettextizze.
21743 * normal/color.c: Include `<grub/i18n.h>'.
21744 (grub_parse_color_name_pair): Gettexttize strings.
21745 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
21746 string (use `print_message_indented').
21747 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
21748 `include/grub/normal.h'.
21749 (print_message_indented): Renamed to ...
21750 (grub_print_message_indented): ... this. Remove `static' qualifer (now
21751 used in normal/main.c).
21752 (print_message): Use `grub_print_message_indented' instead of
21753 `print_message_indented'.
21754 (print_timeout): Likewise.
21755 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
21756 (grub_normal_print_device_info): Gettexttize strings.
21757 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
21758
3041d898
VS
217592009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
21760
21761 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
21762 of arguments. Return number of tokens and not arguments. All users
21763 updated.
21764
de15bf8e
VS
217652009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
21766
21767 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
21768 non-MSDOS paritions.
21769
e0a6ca52
VS
217702009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21771
21772 * include/grub/types.h (UNUSED): Removed since it conflicts with
21773 NetBSD headers. All users changed to direct __attribute__ ((unused)).
21774 Reported by Grégoire Sutre.
21775
b99518d1 217762009-12-19 Carles Pina i Estany <carles@pina.cat>
21777
21778 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
21779 (grub_print_ucs4_alloc): Likewise.
21780 (grub_getstringwidth): Likewise.
21781 * normal/main.c (grub_normal_init_page): Gettextize version string.
21782 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
21783 (getstringwidth): Renamed to ...
21784 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
21785 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
21786 (grub_print_ucs4): Remove `static' qualifer (now used in
21787 normal/main.c).
21788 * po/POTFILES: Add normal/main.c.
21789
bfd5e52b 217902009-12-19 Carles Pina i Estany <carles@pina.cat>
21791
21792 * normal/menu_text.c (STANDARD_MARGIN): New macro.
21793 (print_message_indented): Add `margin_left' and `margin_right'
21794 parameters.
21795 (print_message): Update `print_message_indented' calls. Adds '\n' to the
21796 strings.
21797 (print_timeout): Use `print_message_indented' to print the message.
21798 Deletes `second_stage' parameter.
21799 (run_menu): Update `print_timeout' calls.
21800
5a1ad2b9
VS
218012009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21802
21803 Fix console palette on OpenFirmware.
21804
21805 * term/ieee1275/ofconsole.c (MAX): Removed.
21806 (colors): Redone based on VGA palette.
21807 (grub_ofconsole_setcolor): Discard brightness bit since only 8
21808 colors are supported.
21809 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
21810
b045f00a
VS
218112009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21812
21813 Fix potential EfiEmu double prepare.
21814
21815 * efiemu/main.c (prepared): New variable
21816 (grub_efiemu_unload): Set prepare to '0'.
21817 (grub_efiemu_prepare): Return if already prepared. Set prepared.
21818
21819 set_virtual_address_map support.
21820
21821 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
21822 prototype.
21823 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
21824 prototype.
21825 (grub_efiemu_crc32): Likewise.
21826 (grub_efiemu_crc64): Likewise.
21827 (grub_efiemu_set_virtual_address_map): Likewise.
21828 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
21829 New definition.
21830 (grub_autoefi_set_virtual_address_map): Likewise.
21831 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
21832 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
21833 Restructure flow to accomodate it.
21834 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
21835 (grub_efiemu_crc): Recompute CRC32.
21836 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
21837 (efiemu_ptv_relocated): ... this. Made global. All users updated.
21838 * efiemu/symbols.c (relocated_handle): New variable.
21839 (grub_efiemu_free_syms): Free relocated_handle.
21840 (grub_efiemu_alloc_syms): Allocate relocated_handle.
21841 (grub_efiemu_write_sym_markers): New function.
21842 (grub_efiemu_set_virtual_address_map): Likewise.
21843
21844 Newer XNU parameters.
21845
21846 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
21847 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
21848 (grub_xnu_fill_devicetree): New prototype.
21849 (grub_xnu_heap_real_start): New variable.
21850 * loader/xnu.c (get_name_ptr): New function.
21851 (grub_xnu_load_driver): Fill namelen and name.
21852
21853 64-bit xnu support.
21854
21855 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
21856 and 'loader/macho64.c'.
21857 * conf/i386-pc.rmk: Likewise.
21858 * conf/x86_64-efi.rmk: Likewise.
21859 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
21860 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
21861 * include/grub/macho.h (grub_macho_segment64): New structure.
21862 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
21863 (grub_macho_size32): ... to this.
21864 (grub_macho32_get_entry_point): Renamed from ...
21865 (grub_macho_get_entry_point32): ... to this.
21866 (grub_macho_contains_macho64): New prototype.
21867 (grub_macho_size64): Likewise.
21868 (grub_macho_get_entry_point64): Likewise.
21869 (grub_macho32_load): Renamed from ...
21870 (grub_macho_load32): ... to this.
21871 (grub_macho32_filesize): Renamed from ...
21872 (grub_macho_filesize32): ... to this.
21873 (grub_macho32_readfile): Renamed from ...
21874 (grub_macho_readfile32): ... to this.
21875 (grub_macho_filesize64): New prototype.
21876 (grub_macho_readfile64): Likewise.
21877 (grub_macho_parse32): Likewise.
21878 (grub_macho_parse64): Likewise.
21879 * loader/macho.c: Split into ...
21880 * loader/machoXX.c: ... and this. Replace 32 with XX.
21881 * loader/macho32.c: New file.
21882 * loader/macho64.c: Likewise.
21883 * loader/xnu.c (grub_xnu_is_64bit): New variable.
21884 (grub_cmd_xnu_kernel): Make 32-bit only.
21885 (grub_cmd_xnu_kernel64): New function.
21886 (grub_xnu_load_driver): Support Mach-O 64.
21887 (grub_cmd_xnu_mkext): Likewise.
21888 * util/grub.d/30_os-prober.in (osx_entry): New function.
21889 Generate entries for 64-bit boot too.
21890
21891 Eliminate ad-hoc tree format in XNU and EfiEmu.
21892
21893 * efiemu/main.c (grub_efiemu_prepare): Update comment.
21894 * efiemu/pnvram.c: Rewritten to use environment variables.
21895 All users updated.
21896
21897 Inline utf16_to_utf8.
21898
21899 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
21900 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
21901 All users updated.
21902 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
21903
21904 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
21905 * commands/usbtest.c (grub_usb_get_string): ... move here.
21906 (usb_print_str): Fix error handling.
21907 * include/grub/usb.h (grub_usb_get_string): Remove.
21908
21909 UTF-8 to UTF-16 transformation.
21910
21911 * conf/common.rmk (pkglib_MODULES): Add charset.mod
21912 (charset_mod_SOURCES): New variable.
21913 (charset_mod_CFLAGS): Likewise.
21914 (charset_mod_LDFLAGS): Likewise.
21915 * include/grub/utf.h: New file.
21916 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
21917
21918 Support for device properties.
21919
21920 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
21921 (grub_xnu_devprop_device_header): Likewise.
21922 (grub_xnu_devprop_device_descriptor): Likewise.
21923 (grub_xnu_devprop_add_device): New prototype.
21924 (grub_xnu_devprop_remove_device): Likewise.
21925 (grub_xnu_devprop_remove_property): Likewise.
21926 (grub_xnu_devprop_add_property_utf8): Likewise.
21927 (grub_xnu_devprop_add_property_utf16): Likewise.
21928 (grub_cpu_xnu_init): Likewise.
21929 (grub_cpu_xnu_fini): Likewise.
21930 (grub_cpu_xnu_unload): Likewise.
21931 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
21932 (property_descriptor): Likewise.
21933 (devices): New variable.
21934 (grub_xnu_devprop_remove_property): New function.
21935 (grub_xnu_devprop_add_device): Likewise.
21936 (grub_xnu_devprop_remove_device): Likewise.
21937 (grub_xnu_devprop_add_property): Likewise.
21938 (grub_xnu_devprop_add_property_utf8): Likewise.
21939 (grub_xnu_devprop_add_property_utf16): Likewise.
21940 (hextoval): Likewise.
21941 (grub_cpu_xnu_fill_devprop): Likewise.
21942 (grub_cmd_devprop_load): Likewise.
21943 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
21944 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
21945 (cmd_devprop_load): New variable.
21946 (grub_cpu_xnu_init): New function.
21947 (grub_cpu_xnu_fini): Likewise.
21948 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
21949 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
21950 (grub_cmd_xnu_devtree): Likewise.
21951 (hextoval): New function.
21952 (unescape): Likewise.
21953 (grub_xnu_fill_devicetree): Likewise.
21954
21955 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
21956 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
21957
0945f181
VS
219582009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21959
21960 Workaround for broken ATI VBE.
21961
21962 * video/i386/pc/vbe.c (last_set_mode): New variable.
21963 (grub_vbe_set_video_mode): Set 'last_set_mode'.
21964 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
21965 (grub_video_vbe_setup): Don't check for reserved flag.
21966
0ad46fd7 219672009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
21968
21969 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
21970 the `find' command.
21971
c179ebe4
VS
219722009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
21973
21974 UUID support for HFS.
21975
21976 * fs/hfs.c (grub_hfs_uuid): New function.
21977 (grub_hfs_fs): New value .uuid.
21978 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
21979
0ad46fd7 219802009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
21981
21982 Fix a segfault with parsing unknown long options.
21983
21984 * util/grub-mkrelpath.c (options): Zero terminate it.
21985
c4a3e41a
CPE
219862009-12-13 Carles Pina i Estany <carles@pina.cat>
21987
21988 * include/grub/misc.h (grub_puts): New declaration.
21989 (grub_puts_): Likewise.
a22008a6 21990 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
21991 (grub_puts_): Likewise.
21992
2e8a7602
RM
219932009-12-13 Robert Millan <rmh.grub@aybabtu.com>
21994
21995 * util/grub-probe.c (probe): Improve error message.
21996
b50b77b9
RM
219972009-12-13 Robert Millan <rmh.grub@aybabtu.com>
21998
21999 * loader/i386/multiboot_elfxx.c
22000 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
22001 initialization.
22002
220032009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22004
22005 Relocator framework
22006
22007 * loader/i386/xnu_helper.S: Removed. All users updated.
22008 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
22009 (relocator_mod_SOURCES): New variable.
22010 (relocator_mod_CFLAGS): Likewise.
22011 (relocator_mod_LDFLAGS): Likewise.
22012 (relocator_mod_ASFLAGS): Likewise.
22013 * conf/x86_64.rmk: Likewise.
22014 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
22015 (grub_multiboot_payload_entry_offset): Likewise.
22016 (grub_multiboot_forward_relocator): Likewise.
22017 (grub_multiboot_forward_relocator_end): Likewise.
22018 (grub_multiboot_backward_relocator): Likewise.
22019 (grub_multiboot_backward_relocator_end): Likewise.
22020 (grub_multiboot_payload_eip): New variable.
22021 (grub_multiboot_payload_orig): Likewise.
22022 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
22023 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
22024 * include/grub/i386/memory.h
22025 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
22026 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
22027 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
22028 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
22029 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
22030 * include/grub/i386/relocator.h: New file.
22031 * include/grub/x86_64/relocator.h: Likewise.
22032 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
22033 (XNU_RELOCATOR): New macro.
22034 (grub_xnu_launcher_start): Remove.
22035 (grub_xnu_launcher_end): Likewise.
22036 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
22037 (grub_xnu_heap_real_start): Remove.
22038 (grub_xnu_heap_start): Change to void *. All users updated.
22039 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
22040 * lib/i386/relocator.c: New file.
22041 * lib/i386/relocator_asm.S: Likewise.
22042 * lib/i386/relocator_backward.S: Likewise.
22043 * lib/mips/relocator.c: Likewise.
22044 * lib/mips/relocator_asm.S: Likewise.
22045 * lib/relocator.c: Likewise.
22046 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
22047 (entry): Removed.
22048 (playground): Likewise.
22049 (grub_multiboot_payload_orig): New variable.
22050 (grub_multiboot_payload_dest): Likewise.
22051 (grub_multiboot_payload_size): Likewise.
22052 (grub_multiboot_payload_eip): Likewise.
22053 (grub_multiboot_payload_esp): Likewise.
22054 (grub_multiboot_boot): Use grub_relocator32_boot.
22055 (grub_multiboot_unload): Free relocators.
22056 (grub_multiboot): Setup stack. Use relocators.
22057 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
22058 (grub_multiboot_load_elfXX): Use relocators.
22059 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
22060 (grub_multiboot_payload_size): Likewise.
22061 (grub_multiboot_payload_dest): Likewise.
22062 (grub_multiboot_payload_entry_offset): Likewise.
22063 (grub_multiboot_forward_relocator): Likewise.
22064 (grub_multiboot_backward_relocator): Likewise.
22065 (grub_multiboot_real_boot): Likewise.
22066 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
22067 (grub_xnu_entry_point): Likewise.
22068 (grub_xnu_arg1): Likewise.
22069 (grub_xnu_stack): Likewise.
22070 (grub_xnu_launch): Removed.
22071 (grub_xnu_boot_resume): New function.
22072 (grub_xnu_boot): Use relocators.
22073 * loader/i386/xnu_helper.S: Removed.
22074 * loader/xnu.c (grub_xnu_heap_start): New variable.
22075 (grub_xnu_heap_size): Likewise.
22076 (grub_xnu_heap_malloc): Use relocators.
22077 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
22078
29eb90c6
VS
220792009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22080
22081 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
22082 anything.
22083
31027430
CPE
220842009-12-13 Carles Pina i Estany <carles@pina.cat>
22085
22086 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
22087 GRUB_ERR_NONE before calling grub_env_set.
22088
dc0c71d9
RM
220892009-12-12 Robert Millan <rmh@aybabtu.com>
22090
22091 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
22092 * genmk.rb (video): New variable.
22093 (CLEANFILES, VIDEOFILES): Add #{video}.
22094 (#{video}): New target rule.
22095 * genvideolist.sh: New file.
22096 * Makefile.in (pkglib_DATA): Add video.lst.
22097 (video.lst): New target rule.
22098 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
22099 `video.lst'.
22100 * util/grub.d/30_os-prober.in: Replace `vbe' with
22101 ${GRUB_VIDEO_BACKEND}.
22102
2a4bfcf0
RM
221032009-12-11 Robert Millan <rmh.grub@aybabtu.com>
22104
22105 * THANKS: Add David Miller.
22106
2a3aa4d5
RM
221072009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
22108
22109 libpciaccess support.
22110
22111 * Makefile.in (LIBPCIACCESS): New variable.
22112 (enable_grub_emu_pci): Likewise.
22113 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
22114 util/pci.c and commands/lspci.c.
22115 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
22116 * configure.ac (grub-emu-pci): New option.
22117 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
22118 (grub_pci_device_unmap_range): Likewise.
22119 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
22120 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
22121 (grub_pci_address_t) [!GRUB_UTIL]: New type.
22122 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
22123 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
22124 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
22125 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
22126 * include/grub/pciutils.h: New file.
22127 * util/pci.c: Likewise.
22128
0ad46fd7 221292009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
22130
22131 * util/misc.c: Don't include <errno.h> twice.
22132
0ad46fd7 221332009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
22134
22135 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
22136 name in an error message.
22137 (grub_biosdisk_rw): Likewise.
22138
2e59983c
VS
221392009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22140
22141 Eliminate NTFS 4Gib barrier.
22142
22143 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
22144 (read_run_data): Likewise.
22145 (grub_ntfs_read_run_list): Likewise.
22146 (grub_ntfs_read_block): Likewise.
22147 (grub_ntfs_iterate_dir): Likewise.
22148 (read_mft): Likewise.
22149 (read_data): Likewise.
22150 Use COM_LOG_LEN.
22151 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
22152 to avoid 64-bit division
22153 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
22154 (grub_ntfs_rlst): Use grub_disk_addr_t.
22155
71ee178a
VS
221562009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22157
22158 Eliminate grub-fstest 4Gib barrier.
22159
22160 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
22161 (read_file): Fix error reporting.
22162
2520d4b8
VS
221632009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22164
22165 Eliminate hexdump 4Gib barrier.
22166
22167 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
22168 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
22169
e1f27065
VS
221702009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22171
22172 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
22173 Fixes amarsh bug.
22174
1a0f7f45
RM
221752009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
22176
22177 Remove miscellaneous files in distclean target.
22178
22179 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
22180
c631d9fb
CW
221812009-12-09 Colin Watson <cjwatson@ubuntu.com>
22182
22183 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
22184 if they're already set. This resolves the conflict between my
22185 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
22186 fixing the --grub-probe option again.
22187 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
22188 change on 2009-10-06, so that we now once again source
22189 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
22190
7c7b6106
RM
221912009-12-08 Robert Millan <rmh.grub@aybabtu.com>
22192
22193 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
22194 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
22195 `util/devicemap.c'.
22196
e3069ec1
CPE
221972009-12-08 Carles Pina i Estany <carles@pina.cat>
22198
22199 * include/grub/misc.h (grub_printf_): New declaration.
22200 * kern/misc.c (grub_printf_): New definition.
22201 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
22202 instead of `grub_printf' and `_'.
22203 * normal/menu_entry.c (store_completion): Likewise.
22204 (run): Likewise.
22205 (grub_menu_entry_run): Likewise.
22206 * normal/menu_text.c (grub_wait_after_message): Likewise.
22207 (notify_booting): Likewise.
22208 (notify_fallback): Likewise.
22209 (notify_execution_failure): Likewise.
22210
d6ceebf1
CW
222112009-12-07 Colin Watson <cjwatson@ubuntu.com>
22212
22213 * configure.ac: Check for vasprintf.
22214 * util/misc.c (asprintf): Move allocation from here ...
22215 (vasprintf): ... to here. New function.
22216 (xasprintf): New function.
22217 * include/grub/util/misc.h (vasprintf, xasprintf): Add
22218 prototypes.
22219 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
22220 * util/grub-mkfont.c (write_font): Likewise.
22221 * util/grub-probe.c (probe): Likewise.
22222 * util/hostdisk.c (make_device_name): Likewise.
22223
de6daa8b
DM
222242009-12-06 David S. Miller <davem@sunset.davemloft.net>
22225
22226 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
22227 anything even prefixed with 'cdrom' as a cdrom.
22228
0ad46fd7 222292009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
22230
22231 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
22232 mount points.
22233
98d3dc02
CPE
222342009-12-05 Carles Pina i Estany <carles@pina.cat>
22235
22236 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
22237 grub_gettext_msg_list.
22238 (grub_gettext_gettranslation_from_position): Return const char *
22239 and not char *.
a2c1332b 22240 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
22241 returns from the list if existing there.
22242 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
22243 (grub_gettext_delete_list): Delete the list.
22244 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
22245 lang environment variable is changed.
22246 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
22247
b283f108
VS
222482009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
22249
22250 Rename kernel.mod to kernel.img.
22251
22252 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
22253 (kernel_mod_EXPORTS): Rename to ...
22254 (kernel_img_EXPORTS): ... this.
22255 (kernel_mod_SOURCES): Rename to ...
22256 (kernel_img_SOURCES): ... this.
22257 (kernel_mod_HEADERS): Rename to ...
22258 (kernel_img_HEADERS): ... this. All users updated.
22259 (kernel_mod_CFLAGS): Rename to ...
22260 (kernel_img_CFLAGS): ... this.
22261 (kernel_mod_ASFLAGS): Rename to ...
22262 (kernel_img_ASFLAGS): ... this.
22263 (kernel_mod_LDFLAGS): Rename to ...
22264 (kernel_img_LDFLAGS): ... this.
22265 * conf/x86_64-efi.rmk: Likewise.
22266 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
22267 (read_kernel_image): ... this. All users updated.
22268 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
22269
69055f8a
CPE
222702009-12-05 Carles Pina i Estany <carles@pina.cat>
22271
22272 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
22273 (print_spaces): New function.
22274 (grub_print_ucs4): New function.
22275 (getstringwidth): New function.
22276 (print_message_indented): New function.
22277 (print_message): Gettexttize strings using print_message_indented.
22278 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
22279 width.
22280 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 22281 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
22282 Gettextize.
22283 * normal/menu_entry.c (store_completion): Cleanup the gettextized
22284 string.
22285 (run): Likewise.
22286 (grub_menu_entry_run): Likewise.
22287 * PO/POTFILES: Add normal/menu_entry.c.
22288
f616f51c
VS
222892009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
22290
22291 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
22292
57bbe3be
CPE
222932009-12-05 Carles Pina i Estany <carles@pina.cat>
22294
22295 * util/grub-install.in: Install gettext .mo files.
22296 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
22297
013d67a1
CPE
222982009-12-05 Carles Pina i Estany <carles@pina.cat>
22299
22300 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
22301 grub_dprintf.
22302
fb954db0
RM
223032009-12-05 Robert Millan <rmh.grub@aybabtu.com>
22304
22305 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
22306 non-firmware-dependant one in realmode.S takes precedence.
22307
6b8474f8
RM
223082009-12-04 Robert Millan <rmh.grub@aybabtu.com>
22309
22310 * commands/halt.c: Replace misc arch-specific headers with
22311 `<grub/misc.h>'.
22312 * commands/reboot.c: Likewise.
22313 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
22314 `<grub/misc.h>'.
22315 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
22316 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
22317 (kernel_img_SOURCES): ... to here.
22318
22319 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
22320 * include/grub/i386/pc/init.h: Likewise.
22321 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
22322 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22323
22324 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
22325
22326 * include/grub/i386/halt.h: Remove.
22327 * include/grub/i386/reboot.h: Likewise.
22328
22329 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
22330
4b2e6ca2
DM
223312009-12-03 David S. Miller <davem@sunset.davemloft.net>
22332
22333 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
22334 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
22335 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
22336 "progname.h"
22337 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
22338 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22339 (usage): Add missing comma in printf.
22340
5239348f
RM
223412009-12-02 Robert Millan <rmh.grub@aybabtu.com>
22342
22343 Use the same reboot approach on i386 coreboot and qemu as we do on
22344 BIOS.
22345
22346 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
22347 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
22348 * kern/i386/reboot.c: Remove.
22349 * include/grub/i386/reboot.h (grub_reboot): Export function.
22350 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
22351 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
22352 0xf000:0xfff0 instead of 0xffff:0x0000.
22353 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
22354 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
22355
ef34cbd4
RM
223562009-11-30 Robert Millan <rmh.grub@aybabtu.com>
22357
22358 Fix $srcdir != $objdir build.
22359
22360 * Makefile.in (po/%.po): Rewrite as ...
22361 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
22362
dc9837ea
ST
223632009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
22364
22365 Fix GNU/Hurd grub-install crash.
22366 * util/grub-probe.c (probe): Try to access `path' only when it is not
22367 NULL.
22368
2f857f98
VS
223692009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22370
22371 Correct module naming.
22372
22373 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
22374 (GRUB_MOD_INIT(efi_uga)): ... to this
22375 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
22376 (GRUB_MOD_FINI(efi_uga)): ... to this
22377 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
22378 (GRUB_MOD_INIT(efi_gop)): ... to this
22379 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
22380 (GRUB_MOD_FINI(efi_gop)): ... to this
22381
c5448046
RM
223822009-11-28 Robert Millan <rmh.grub@aybabtu.com>
22383
22384 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
22385 translatable.
22386 (usage): Translate `arg' strings using gettext().
22387 Thanks to Jordi Mallach for the suggestion.
22388
c85184ad
VS
223892009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22390
22391 GOP support. Based on patch from Bean
22392 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
22393
22394 * video/efi_gop.c: New file.
22395 * include/grub/efi/graphics_output.h: Likewise.
22396 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
22397 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
22398 variables.
22399 * conf/x86_64-efi.rmk: Likewise.
22400
8a4c48d8
VS
224012009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22402
22403 Rename efi_fb to efi_uga.
22404
22405 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
22406 'efi_uga.mod'.
22407 (efi_fb_mod_SOURCES): Rename this ...
22408 (efi_uga_mod_SOURCES): ... to this.
22409 (efi_fb_mod_CFLAGS): Rename this ...
22410 (efi_uga_mod_CFLAGS): ... to this.
22411 (efi_fb_mod_LDFLAGS): Rename this ...
22412 (efi_uga_mod_LDFLAGS): ... to this.
22413 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
22414 'efi_uga.mod'.
22415 (efi_fb_mod_SOURCES): Rename this ...
22416 (efi_uga_mod_SOURCES): ... to this.
22417 (efi_fb_mod_CFLAGS): Rename this ...
22418 (efi_uga_mod_CFLAGS): ... to this.
22419 (efi_fb_mod_LDFLAGS): Rename this ...
22420 (efi_uga_mod_LDFLAGS): ... to this.
22421 * video/efi_fb.c: Move this ...
22422 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
22423
fb6c1a7b
RM
224242009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22425
22426 * po/README: New file. Explain our PO file workflow.
22427
3bc7896c
RM
224282009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22429
22430 * po/ChangeLog: Remove. Move relevant entries back to ...
22431 * ChangeLog: ... here.
22432 * po/ca.po: Remove (now handled by TLP).
22433 * po/id.po: Likewise.
22434 * po/zh_CN.po: Likewise.
22435 * Makefile.in (LINGUAS): Initialize in a way that supports
22436 empty set.
22437
9ed4841d
RM
224382009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22439
22440 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
22441 reliing on po/LINGUAS.
22442 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
22443 (po/%.po): ... this.
22444
0ad46fd7 224452009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
22446
22447 * util/i386/efi/grub-mkimage.c: Include "progname.h".
22448 (main): Use `program_name' instead of nonexistent `progname'.
22449
e30dd392
FZ
224502009-11-26 Felix Zielcke <fzielcke@z-51.de>
22451
22452 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
22453 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
22454
7656de4f
RM
224552009-11-26 Robert Millan <rmh.grub@aybabtu.com>
22456
22457 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
22458 commit.
22459 * conf/i386-efi.rmk: Likewise.
22460 * conf/i386-ieee1275.rmk: Likewise.
22461 * conf/powerpc-ieee1275.rmk: Likewise.
22462 * conf/sparc64-ieee1275.rmk: Likewise.
22463 * conf/x86_64-efi.rmk: Likewise.
22464
db77c4d4
FZ
224652009-11-26 Felix Zielcke <fzielcke@z-51.de>
22466
22467 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
22468
a755bb04
FZ
224692009-11-26 Felix Zielcke <fzielcke@z-51.de>
22470
22471 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
22472
8a4c07fd
RM
224732009-11-26 Robert Millan <rmh.grub@aybabtu.com>
22474
22475 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
22476 (grub_mkdevicemap_SOURCES): New variable.
22477 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
22478 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
22479 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
22480 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
22481 (grub_mkdevicemap_SOURCES): Remove.
22482 * conf/i386-efi.rmk: Likewise.
22483 * conf/i386-ieee1275.rmk: Likewise.
22484 * conf/i386-pc.rmk: Likewise.
22485 * conf/powerpc-ieee1275.rmk: Likewise.
22486 * conf/sparc64-ieee1275.rmk: Likewise.
22487 * conf/x86_64-efi.rmk: Likewise.
22488 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
22489 (usage): Fix strings to use `program_name'.
22490 (main): Initialize gettext.
22491 * util/grub-editenv.c: Likewise.
22492 * util/grub-emu.c: Likewise.
22493 * util/grub-fstest.c: Likewise.
22494 * util/grub-mkdevicemap.c: Likewise.
22495 * util/grub-mkfont.c: Likewise.
22496 * util/grub-mkrelpath.c: Likewise.
22497 * util/grub-pe2elf.c: Likewise.
22498 * util/grub-probe.c: Likewise.
22499 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
22500 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
22501 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22502
22503 * util/misc.c: Include `"progname.h"'.
22504 (progname): Remove variable.
22505 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
22506
6f61ed55
FZ
225072009-11-25 Felix Zielcke <fzielcke@z-51.de>
22508
22509 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
22510 printf and print a newline after the menuentry header line.
22511 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
22512
f022876b
FZ
225132009-11-25 Felix Zielcke <fzielcke@z-51.de>
22514
22515 autoconf >= 2.60 support $(localedir).
22516
22517 * INSTALL: Note that autoconf 2.60 is required.
22518 * configure.ac (AC_PREREQ): Bump to 2.60.
22519 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
22520 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
22521
6717926e
YB
225222009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
22523
22524 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
22525 aclocal is run.
22526
08806a54
RM
225272009-11-25 Robert Millan <rmh.grub@aybabtu.com>
22528
22529 * normal/main.c (grub_normal_read_line): Fix off-by-one
22530 buffer overflow.
22531
13b33fba
RM
225322009-11-25 Robert Millan <rmh.grub@aybabtu.com>
22533
22534 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
22535 "parser.grub" in grub_command_execute() call.
22536
4a8572e9
CPE
225372009-11-24 Carles Pina i Estany <carles@pina.cat>
22538
22539 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
22540 * conf/i386-efi.rmk: Likewise.
22541 * conf/i386-ieee1275.rmk: Likewise.
22542 * conf/i386-pc.rmk: Likewise.
22543 * conf/powerpc-ieee1275.rmk: Likewise.
22544 * conf/sparc64-ieee1275.rmk: Likewise.
22545 * conf/x86_64-efi.rmk: Likewise.
22546 * gettext/gettex.c: Include <grub/i18n.h>.
22547 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
22548 here ...
22549 * include/grub/i18n.h: ... to here
22550 * include/grub/i18n.h: ... to here.
22551 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 22552 (grub_gettext_dummy): Move above user.
4a8572e9 22553
bee48093
FZ
225542009-11-24 Felix Zielcke <fzielcke@z-51.de>
22555
22556 * util/Makefile.in (install-local): Convert a `for' into a normal
22557 shell expansion.
22558
a031e91c
RM
225592009-11-24 Robert Millan <rmh.grub@aybabtu.com>
22560
22561 * autogen.sh: Add automake call.
22562 * config.guess: Remove.
22563 * config.sub: Likewise.
22564 * install-sh: Likewise.
22565
26bec39d
FZ
225662009-11-24 Felix Zielcke <fzielcke@z-51.de>
22567
22568 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
22569
8e2532fd
FZ
225702009-11-24 Felix Zielcke <fzielcke@z-51.de>
22571
22572 * util/Makefile.in (install-local): Convert a make `$(foreach)'
22573 function to a normal shell `for'.
22574
fefa1b7d
FZ
225752009-11-24 Felix Zielcke <fzielcke@z-51.de>
22576
22577 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
22578
4501250b
FZ
225792009-11-24 Felix Zielcke <fzielcke@z-51.de>
22580
22581 * util/grub-mkrelpath.c: New file.
22582 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
22583 (grub_mkrelpath_SOURCES): New variable.
22584 * include/grub/util/misc.h: New function prototype.
22585 * util/misc.c (make_system_path_relative_to_its_root): New function.
22586
22587 * util/grub-mkconfig_lib.in (bindir): New variable.
22588 (grub_mkrelpath): Likewise.
22589 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
22590
22591 * util/probe.c (probe): Make the file path relative to its root.
22592 Change a info message to use the GRUB path. Enable again the
22593 check if we can read the file with GRUB facilities.
22594
22595 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
22596 to its root.
22597
11d9778b
FZ
225982009-11-24 Felix Zielcke <fzielcke@z-51.de>
22599
22600 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
22601 platform.
22602
4465287d
FZ
226032009-11-24 Felix Zielcke <fzielcke@z-51.de>
22604
22605 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
22606 strncmp().
22607
62b47f22
FZ
226082009-11-24 Felix Zielcke <fzielcke@z-51.de>
22609
22610 * util/getroot.c (grub_util_is_dmraid): New function.
22611 (grub_util_get_dev_abstraction): Treat dmraid and multipath
22612 devices as normal ones, not as LVM.
22613
1eafb9b9 226142009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
22615
22616 * conf/common.rmk: Add grub-gettext_lib target and updates
22617 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
22618 LDFLAGS.
22619 * gettext/gettext.c: New file. (Reads mo files).
22620 * include/grub/file.h (grub_file_pread): New prototype.
22621 * include/grub/i18n.h (_): New prototype.
22622 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
22623 prototypes.
22624 * kern/misc.c (grub_gettext_dummy): New function.
22625 * normal/menu_text.c: Include <grub/i18n.h>.
22626 * normal/menu_text.c (print_timeout): Gettexttize string.
22627 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
22628 * po/POTFILES: Add `normal/menu_text.c'.
22629 * po/ca.po: Add new translations.
c3ea6bd4
CPE
22630 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
22631 gettext module and defines locale_dir and lang in grub.cfg.
22632 * NEWS: Add gettext support.
22633
0fdb2568
RM
226342009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22635
22636 * util/hostdisk.c: Include `<grub/i18n.h>'.
22637 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
22638 (make_device_name): Rewrite using asprintf.
22639 (convert_system_partition_to_system_disk): Replace 0 with NULL.
22640 (find_system_device): If a device is not found, generate one just
22641 by reusing the OS path name.
22642 (read_device_map): Make it permissible for device.map not to exist.
22643
f515aa62
RM
226442009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22645
22646 * script/sh/execute.c: Move from here ...
22647 * script/execute.c: ... to here. Update all users.
22648 * script/sh/function.c: Move from here ...
22649 * script/function.c: ... to here. Update all users.
22650 * script/sh/lexer.c: Move from here ...
22651 * script/lexer.c: ... to here. Update all users.
22652 * script/sh/main.c: Move from here ...
22653 * script/main.c: ... to here. Update all users.
22654 * script/sh/parser.y: Move from here ...
22655 * script/parser.y: ... to here. Update all users.
22656 * script/sh/script.c: Move from here ...
22657 * script/script.c: ... to here. Update all users.
22658
f84b481b
RM
226592009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22660
22661 * configure.ac: Detect all `emu' platforms. Define
22662 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
22663 --enable-grub-emu logic. Disable include/grub/machine
22664 symlink on `emu' platforms.
22665
22666 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
22667 * gensymlist.sh.in: Likewise.
22668
22669 * include/grub/i386/coreboot/machine.h: Remove file.
22670 * include/grub/i386/efi/machine.h: Likewise.
22671 * include/grub/i386/ieee1275/machine.h: Likewise.
22672 * include/grub/i386/pc/machine.h: Likewise.
22673 * include/grub/i386/qemu/machine.h: Likewise.
22674 * include/grub/powerpc/ieee1275/machine.h: Likewise.
22675 * include/grub/sparc64/ieee1275/machine.h: Likewise.
22676 * include/grub/x86_64/efi/machine.h: Likewise.
22677
22678 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
22679 * commands/halt.c: Likewise.
22680 * commands/reboot.c: Likewise.
22681 * include/grub/autoefi.h: Likewise.
22682 * include/grub/i386/at_keyboard.h: Likewise.
22683 * include/grub/i386/kernel.h: Likewise.
22684 * include/grub/i386/loader.h: Likewise.
22685 * include/grub/i386/pc/memory.h: Likewise.
22686 * kern/dl.c: Likewise.
22687 * kern/i386/coreboot/init.c: Likewise.
22688 * loader/i386/bsd.c: Likewise.
22689 * loader/i386/linux.c: Likewise.
22690 * loader/multiboot_loader.c: Likewise.
22691 * term/i386/pc/serial.c: Likewise.
22692 * term/usb_keyboard.c: Likewise.
22693
22694 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
22695 `<grub/machine/machine.h>'
22696 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
22697 * util/misc.c: Remove `<grub/machine/machine.h>' and
22698 `<grub/machine/time.h>'.
22699
22700 * Makefile.in (enable_grub_emu): Remove variable.
22701 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
22702
22703 * conf/any-emu.rmk: New file.
22704 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
22705 (grub_emu_init.c): Move from here ...
22706 * conf/any-emu.rmk: ... to here.
22707
22708 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
22709 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
22710 * conf/any-emu.rmk: ... to here.
22711
4efeab03
RM
227122009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22713
22714 * include/grub/parser.h (grub_parser_register): Document need
22715 of `name' parameter.
22716 * normal/main.c (grub_normal_read_line): Simplify prompt string.
22717 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
22718 "sh" to "grub".
22719
ea1dd8bf
RM
227202009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22721
22722 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
22723 `$(XGETTEXT)'.
22724 * include/grub/i18n.h (N_): New macro.
22725 * util/mkisofs/mkisofs.h: Likewise.
22726 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
22727 around N_().
22728 (usage): Use gettext() to translate help strings when printing them.
22729
0c140626
RM
227302009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22731
22732 Based on patch from Bean
22733 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
22734
22735 * video/efi_fb.c: New file.
22736 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
22737 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
22738 variables.
22739 * conf/x86_64-efi.rmk: Likewise.
22740
87d58298
RM
227412009-11-22 Robert Millan <rmh.grub@aybabtu.com>
22742
22743 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
22744 * util/i386/pc/grub-setup.c: Likewise.
22745
994cc3a3
ST
227462009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
22747
22748 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
22749 <hurd/fs.h>
22750 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
22751 file_get_storage_info to implement grub_guess_root_device.
22752
26a61d6a
FZ
227532009-11-21 Felix Zielcke <fzielcke@z-51.de>
22754
22755 * Makefile.in (target): Use make's builtin $(shell) function
22756 instead of calling directly $(SHELL) to create the locale directories,
22757 inside the $(foreach) function.
22758
74ff1dd5
FZ
227592009-11-21 Felix Zielcke <fzielcke@z-51.de>
22760
22761 * util/grub-mkrescue.in: Print an error and usage if output option
22762 has not been given.
22763
0b787d0e
FZ
227642009-11-21 Felix Zielcke <fzielcke@z-51.de>
22765
22766 Patch from Loïc Minier <loic.minier@ubuntu.com>.
22767 * util/grub.d/30_os-prober.in: Cope with Linux entries where
22768 root and /boot are on different devices.
22769
1164b270
RM
227702009-11-21 Robert Millan <rmh.grub@aybabtu.com>
22771
22772 Fix build for srcdir != objdir.
22773
22774 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
22775 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
22776 $(srcdir).
22777 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
22778 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
22779 reference for input.
22780
13774a2f
RM
227812009-11-21 Robert Millan <rmh.grub@aybabtu.com>
22782
22783 * util/grub-mkrescue.in: Use source directory direcly (without copiing
22784 or hardlinking it). Remove -J option, Joliet is not compatible with
22785 multiple source directories.
22786
efda854e
RM
227872009-11-21 Carles Pina i Estany <carles@pina.cat>
227882009-11-21 Robert Millan <rmh.grub@aybabtu.com>
22789
22790 * util/grub-mkrescue.in: Recognize `--override-directory' option.
22791 (process_input_dir): New function. Process an arbitrary input
22792 directory.
22793 Misc adjustments to support both "override mode" and system-wide mode.
22794
6c09890c
FZ
227952009-11-20 Felix Zielcke <fzielcke@z-51.de>
22796
22797 * configure.ac (UNIFONT_BDF): Rename to ...
22798 (FONT_SOURCE): ... this. Update all users.
22799
a797824f
FZ
228002009-11-20 Felix Zielcke <fzielcke@z-51.de>
22801
22802 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
22803 to the list of unifont files to look for.
22804
cd4f42b0
RM
228052009-11-19 Robert Millan <rmh.grub@aybabtu.com>
22806
22807 Patch from Joe Auricchio <jauricchio@gmail.com>
22808 * commands/minicmd.c (grub_mini_cmd_clear): New function.
22809 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
22810 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
22811
393c783d
FZ
228122009-11-19 Felix Zielcke <fzielcke@z-51.de>
22813
22814 * Makefile.in (install-local): Add a missing backslash.
22815
b2f1e327
FZ
228162009-11-19 Felix Zielcke <fzielcke@z-51.de>
22817
22818 * include/grub/x86_64/io.h: New file.
22819
f577f7a0
RM
228202009-11-19 Robert Millan <rmh.grub@aybabtu.com>
22821
22822 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
22823 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
22824 Include `"progname.h"'.
22825 (main): Initialize gettext.
22826 * util/i386/pc/grub-setup.c: Gettexttize.
22827 * util/i386/pc/grub-mkimage.c: Likewise.
22828
22829 * Makefile.in (po/*.po): Redefine as ...
22830 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
22831
3bc7896c
RM
22832 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
22833
c37943b6
RM
228342009-11-19 Robert Millan <rmh.grub@aybabtu.com>
22835
22836 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
22837 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
22838 (program_name): Remove.
22839 (main): Initialize gettext support.
6323f705
RM
22840 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
22841 Include `<libintl.h>'.
22842 (_): New macro.
c37943b6
RM
22843
22844 * util/mkisofs/eltorito.c: Gettexttize.
22845 * util/mkisofs/joliet.c: Likewise.
22846 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
22847 * util/mkisofs/multi.c: Likewise.
22848 * util/mkisofs/rock.c: Likewise.
22849 * util/mkisofs/tree.c: Likewise.
22850 * util/mkisofs/write.c: Likewise.
22851
3bc7896c
RM
22852 * po/POTFILES: Update with new files.
22853
5ce77c6e
RM
228542009-11-18 Robert Millan <rmh.grub@aybabtu.com>
22855
22856 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
22857 * util/mkisofs/iso9660.h: Likewise.
22858 * util/mkisofs/joliet.c: Likewise.
22859 * util/mkisofs/mkisofs.c: Likewise.
22860 * util/mkisofs/mkisofs.h: Likewise.
22861 * util/mkisofs/rock.c: Likewise.
22862 * util/mkisofs/tree.c: Likewise.
22863 * util/mkisofs/write.c: Likewise.
22864
22865 * util/mkisofs/eltorito.c (rcsid): Remove.
22866 * util/mkisofs/hash.c: Likewise.
22867 * util/mkisofs/joliet.c: Likewise.
22868 * util/mkisofs/name.c: Likewise.
22869 * util/mkisofs/rock.c: Likewise.
22870 * util/mkisofs/tree.c: Likewise.
22871 * util/mkisofs/write.c: Likewise.
22872
1dabbc77
RM
228732009-11-18 Robert Millan <rmh.grub@aybabtu.com>
22874
22875 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
22876 instead of static allocation.
22877 * util/mkisofs/match.h: Likewise.
22878
633877cb
RM
228792009-11-18 Robert Millan <rmh.grub@aybabtu.com>
22880
3bc7896c
RM
22881 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
22882 and `util/grub.d/10_linux.in'.
633877cb
RM
22883 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
22884 translatable Shell files.
22885
af1c0c85
RM
228862009-11-18 Robert Millan <rmh.grub@aybabtu.com>
22887
22888 * Makefile.in ($(srcdir)/aclocal.m4): New target.
22889
769ae37b
RM
228902009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22891
22892 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 22893 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
22894 * util/grub.d/10_kfreebsd.in (bindir): New variable.
22895 Add gettext initialization.
22896 (kfreebsd_entry): Make menuentry output translatable.
22897
228982009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22899
22900 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
22901 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
22902 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
22903 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
22904 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 22905 * po/LINGUAS: New file.
769ae37b
RM
22906
229072009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22908
22909 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
22910 other things).
22911 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
22912 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
22913 bindtextdomain() calls for gettext initialization.
22914
229152009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22916
22917 * gnulib/progname.c: New file (imported from Gnulib).
22918 * gnulib/progname.h: Likewise.
22919 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
22920 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
22921 (usage): Replace `progname' with `program_name'.
22922 (main): Use set_program_name() for program name initialization.
22923
229242009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22925
22926 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
22927 from here ...
22928 * Makefile.in (CPPFLAGS): ... to here.
22929
229302009-11-16 Robert Millan <rmh.grub@aybabtu.com>
22931
22932 * aclocal.m4: Move from here ...
22933 * acinclude.m4: ... to here.
22934 * autogen.sh: Add call to `aclocal'.
22935 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
22936
229372009-11-16 Robert Millan <rmh.grub@aybabtu.com>
22938
22939 * Makefile.in (CLEANFILES): Add `po/*.mo'.
22940 (LINGUAS): New variable.
22941 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
22942 (install-local): Install MO files.
22943 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
22944 * include/grub/i18n.h: New file.
3bc7896c
RM
22945 * po/POTFILES: New file.
22946 * po/ca.po: New file.
769ae37b
RM
22947 * util/grub.d/10_linux.in (bindir): New variable.
22948 Add gettext initialization.
22949 (linux_entry): Make menuentry output translatable.
22950 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
22951 (usage): Make --help output translatable.
22952 (main): Initialize gettext.
22953
02c0a6ad
RM
229542009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22955
22956 * import_gcry.py: New file (written by Vladimir with minor
22957 adjustments).
22958 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
22959 ciphers.
22960 * INSTALL: Document that Python is required for bootstrap.
22961
229622009-11-17 Robert Millan <rmh.grub@aybabtu.com>
22963
22964 Import ciphers from libgcrypt 1.4.4.
22965
22966 * lib/libgcrypt/cipher/ChangeLog
22967 * lib/libgcrypt/cipher/ac.c
22968 * lib/libgcrypt/cipher/arcfour.c
22969 * lib/libgcrypt/cipher/bithelp.h
22970 * lib/libgcrypt/cipher/blowfish.c
22971 * lib/libgcrypt/cipher/camellia-glue.c
22972 * lib/libgcrypt/cipher/camellia.c
22973 * lib/libgcrypt/cipher/camellia.h
22974 * lib/libgcrypt/cipher/cast5.c
22975 * lib/libgcrypt/cipher/cipher.c
22976 * lib/libgcrypt/cipher/crc.c
22977 * lib/libgcrypt/cipher/des.c
22978 * lib/libgcrypt/cipher/dsa.c
22979 * lib/libgcrypt/cipher/ecc.c
22980 * lib/libgcrypt/cipher/elgamal.c
22981 * lib/libgcrypt/cipher/hash-common.c
22982 * lib/libgcrypt/cipher/hash-common.h
22983 * lib/libgcrypt/cipher/hmac-tests.c
22984 * lib/libgcrypt/cipher/md.c
22985 * lib/libgcrypt/cipher/md4.c
22986 * lib/libgcrypt/cipher/md5.c
22987 * lib/libgcrypt/cipher/primegen.c
22988 * lib/libgcrypt/cipher/pubkey.c
22989 * lib/libgcrypt/cipher/rfc2268.c
22990 * lib/libgcrypt/cipher/rijndael-tables.h
22991 * lib/libgcrypt/cipher/rijndael.c
22992 * lib/libgcrypt/cipher/rmd.h
22993 * lib/libgcrypt/cipher/rmd160.c
22994 * lib/libgcrypt/cipher/rsa.c
22995 * lib/libgcrypt/cipher/seed.c
22996 * lib/libgcrypt/cipher/serpent.c
22997 * lib/libgcrypt/cipher/sha1.c
22998 * lib/libgcrypt/cipher/sha256.c
22999 * lib/libgcrypt/cipher/sha512.c
23000 * lib/libgcrypt/cipher/tiger.c
23001 * lib/libgcrypt/cipher/twofish.c
23002 * lib/libgcrypt/cipher/whirlpool.c
23003
af2f93ac
RM
230042009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23005
23006 Fix build for systems without error().
23007
23008 * gnulib/error.c: New file (imported from Gnulib).
23009 * gnulib/error.h: Likewise.
23010 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
23011 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
23012 (this variable is now used by error()).
23013
73fb3dd5
FZ
230142009-11-16 Felix Zielcke <fzielcke@z-51.de>
23015
814f5e96
FZ
23016 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
23017 instead of relying that char is signed.
73fb3dd5 23018
a691ca33
VS
230192009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
23020
23021 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
23022 blocksize different from specified.
23023 (grub_pxefs_read): Likewise.
23024
2af8f0f4
FZ
230252009-11-16 Felix Zielcke <fzielcke@z-51.de>
23026
23027 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
23028
23029 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
23030 (grub_ata_readwrite): Likewise. Update 2 format strings.
23031 (grub_atapi_read): Likewise.
23032
23033 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
23034 * conf/i386.rmk (pkglib_MODULES): ... to here ...
23035 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
23036 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
23037 (ata_mod_LDFLAGS): Move from here ...
23038 * conf/i386.rmk: ... to here ...
23039 * conf/x86_64-efi.rmk: ... and here.
23040 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
23041 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
23042
83bdecaf
RM
230432009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23044
23045 Relicense multiboot.h, with RMS' blessing.
23046
23047 * include/multiboot.h: Change to X11 license.
23048
fd6fd3d7
RM
230492009-11-15 Robert Millan <rmh.grub@aybabtu.com>
23050
23051 Support --version in grub-mkisofs.
23052
23053 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
23054 (OPTION_VERSION): New macro.
23055 (ld_options): Recognize --version.
23056 (usage): Move `program_name' from here ...
23057 (program_name): ... to here. Add `static' qualifier.
23058 (main): Recognize `OPTION_VERSION'.
23059
16a88c49
FZ
230602009-11-15 Felix Zielcke <fzielcke@z-51.de>
23061
23062 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
23063 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
23064
a4158476
RM
230652009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23066
23067 Fix help2man generation for mkisofs.
23068
23069 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
23070 (usage): Send output to stdout (rather than stderr).
23071
fc2208b0
RM
230722009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23073
23074 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
23075 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23076 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
23077 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23078 (bin_SCRIPTS): Add `grub-mkfloppy'.
23079 (grub_mkfloppy_SOURCES): New variable.
23080
23081 * util/grub-mkrescue.in: New file.
23082 * util/i386/pc/grub-mkfloppy.in: New file.
23083
23084 * util/i386/coreboot/grub-mkrescue.in: Remove.
23085 * util/i386/pc/grub-mkrescue.in: Remove.
23086
8d0edf4a
RM
230872009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23088
23089 * include/grub/multiboot.h (struct grub_multiboot_header): Move
23090 from here ...
23091 * include/multiboot.h (struct multiboot_header): ... to here. Update
23092 all users.
23093 * include/grub/multiboot.h (struct grub_multiboot_info): Move
23094 from here ...
23095 * include/multiboot.h (struct multiboot_info): ... to here. Update
23096 all users.
23097 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
23098 from here ...
23099 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
23100 Update all users.
23101 * include/grub/multiboot.h (struct grub_mod_list): Move
23102 from here ...
23103 * include/multiboot.h (struct multiboot_mod_list): ... to here.
23104 Update all users.
23105
a73f5969
RM
231062009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23107
23108 * include/multiboot2.h (multiboot_word): Rename from this ...
23109 (multiboot2_word): ... to this. Update all users.
23110 (multiboot_header): Rename from this ...
23111 (multiboot2_header): ... to this. Update all users.
23112 (multiboot_tag_header): Rename from this ...
23113 (multiboot2_tag_header): ... to this. Update all users.
23114 (multiboot_tag_start): Rename from this ...
23115 (multiboot2_tag_start): ... to this. Update all users.
23116 (multiboot_tag_name): Rename from this ...
23117 (multiboot2_tag_name): ... to this. Update all users.
23118 (multiboot_tag_module): Rename from this ...
23119 (multiboot2_tag_module): ... to this. Update all users.
23120 (multiboot_tag_memory): Rename from this ...
23121 (multiboot2_tag_memory): ... to this. Update all users.
23122 (multiboot_tag_unused): Rename from this ...
23123 (multiboot2_tag_unused): ... to this. Update all users.
23124 (multiboot_tag_end): Rename from this ...
23125 (multiboot2_tag_end): ... to this. Update all users.
23126
1c8927f0
RM
231272009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23128
23129 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
23130 this platform we should support Multiboot1 first.
23131
23132 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23133 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
23134 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
23135
6e1e0d89
RM
231362009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23137
23138 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
23139 of write calls (converting them to fwrite() if they aren't already).
23140 (get_torito_desc): Likewise.
23141 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
23142
7f2b34d8
RM
231432009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23144
23145 * util/i386/pc/grub-install.in: Move from here ...
23146 * util/grub-install.in: ... to here. Update all users.
23147
c0ef3311
CW
231482009-11-11 Colin Watson <cjwatson@ubuntu.com>
23149
23150 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
23151
e1f240ff
RM
231522009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23153
23154 Support for El Torito without floppy emulation.
23155
23156 * util/mkisofs/eltorito.c: Include `<errno.h>'.
23157 (init_boot_catalog): Improve error handling.
23158 (get_torito_desc): Don't use floppy emulation unless requested by
23159 user. Patch boot information table when requested via
23160 `-boot-info-table'.
23161 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
23162 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
23163 (use_boot_info_table): New variables.
23164 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
23165 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
23166 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
23167 `--eltorito-emul-floppy'.
23168 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
23169 and `OPTION_ELTORITO_EMUL_FLOPPY'.
23170 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
23171 (use_boot_info_table, get_731): New prototypes.
23172 * util/mkisofs/write.c (get_731): New function.
23173
af7d4de5
FZ
231742009-11-11 Felix Zielcke <fzielcke@z-51.de>
23175
23176 Fix the generation of the man page.
23177
23178 * util/pc/i386/grub-install.in: Source
23179 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
23180
2c55dbc0
RM
231812009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23182
23183 Large file support for grub-mkisofs.
23184
23185 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
23186 * util/mkisofs/mkisofs.c (next_extent, last_extent)
23187 (session_start): Upgrade type to `uint64_t'. Update all users.
23188 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
23189 (struct directory_entry): Upgrade type of `starting_block' and
23190 `size' to `uint64_t'. Update all users.
23191 (struct deferred): Remove unused structure.
23192 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
23193 Update all users.
23194 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
23195 file is larger than `UINT32_MAX'.
23196 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
23197 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
23198 return value.
23199 (struct deferred_write): Upgrade type of `extent' and `size' to
23200 `uint64_t'. Update all users.
23201 (last_extent_written): Upgrade type to `uint64_t'. Update all
23202 users.
23203 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
23204 Update all users. Upgrade type of `remain' to `int64_t' and
23205 `use' to `size_t'. Use error() to handle fread() errors.
23206 (write_files): Rely on write_one_file() rather than calling
23207 xfwrite() directly.
23208
6a9cead5
FZ
232092009-11-09 Felix Zielcke <fzielcke@z-51.de>
23210
23211 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
23212
4825d790
RM
232132009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23214
23215 * util/mkisofs/fnmatch.c: Remove.
23216 * util/mkisofs/getopt1.c: Likewise.
23217 * util/mkisofs/getopt.c: Likewise.
23218 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
23219 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
23220 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
23221 `gnulib/getopt1.c' and `gnulib/getopt.c'.
23222 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
23223
23224 * configure.ac: Detect `mingw32msvc' host_os.
23225 Check for lstat(), getuid() and getgid().
23226
23227 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
23228 instances of `u_char' with `uint8_t'.
23229
23230 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
23231 [!HAVE_GETUID] (getuid): New function (stub).
23232 [!HAVE_GETGID] (getgid): Likewise.
23233 [!HAVE_LSTAT] (lstat): Likewise.
23234 [!S_IROTH] (S_IROTH): New macro (dummy).
23235 [!S_IRGRP] (S_IRGRP): Likewise.
23236
84b860d8
RM
232372009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23238
23239 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
23240 conditional expression).
23241
66e9b712
RM
232422009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23243
23244 Import from Gnulib.
23245
23246 * gnulib/fnmatch.c: New file.
23247 * gnulib/fnmatch.h: Likewise.
23248 * gnulib/fnmatch_loop.c: Likewise.
23249 * gnulib/getopt.c: Likewise.
23250 * gnulib/getopt.h: Likewise.
23251 * gnulib/getopt1.c: Likewise.
23252 * gnulib/getopt_int.h: Likewise.
23253 * gnulib/gettext.h: Likewise.
23254
34f4a5b0
RM
232552009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23256
23257 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
23258 * normal/handler.c (read_handler_list): Likewise.
23259
ac451143
RM
232602009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23261
23262 Misc cleanup.
23263
23264 * kern/command.c (grub_register_command_prio): Use
23265 grub_zalloc() instead of explicitly zeroing data.
23266 * kern/list.c: Include `<grub/mm.h>'.
23267 (grub_named_list_find): Replace `0' with `NULL'.
23268 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
23269 (fs_module_list): Change type to `grub_named_list_t'. Update all
23270 users.
23271 * normal/dyncmd.c (read_command_list): Add space between function
23272 call and parenthesis.
23273 * normal/handler.c (read_handler_list): Likewise.
23274
4089b167
RM
232752009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23276
23277 * normal/auth.c (punishment_delay): Moved from here ...
23278 (grub_auth_strcmp): ... to here (inside function).
23279
325f5037
RM
232802009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23281
23282 * include/grub/list.h (struct grub_named_list): Remove `const'
23283 qualifier from `name'.
23284 (struct grub_prio_list): Likewise.
23285
7aea29a3
RM
232862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23287
23288 * normal/auth.c: Include `<grub/time.h>'.
23289 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
23290
3fd6f044
RM
232912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23292
23293 * normal/auth.c (punishment_delay): New variable.
23294 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
23295 (grub_auth_check_authentication): Punish failed login attempts with
23296 an incremental (2^N) delay.
23297
a4cd68e4
RM
232982009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23299
23300 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
23301 path with $(srcdir).
23302
7ad12f43
VS
233032009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
23304
23305 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
23306
c1129f03
RM
233072009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23308
23309 * util/i386/coreboot/grub-mkrescue.in: New file.
23310 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
23311 variables.
23312
23313 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
23314 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
23315 * configure.ac: Add header and function checks to satisfy grub-mkisofs
23316 requirements.
23317 * util/mkisofs/defaults.h: New file.
23318 * util/mkisofs/eltorito.c: Likewise.
23319 * util/mkisofs/exclude.h: Likewise.
23320 * util/mkisofs/fnmatch.c: Likewise.
23321 * util/mkisofs/getopt.c: Likewise.
23322 * util/mkisofs/getopt1.c: Likewise.
23323 * util/mkisofs/hash.c: Likewise.
23324 * util/mkisofs/include/fctldefs.h: Likewise.
23325 * util/mkisofs/include/mconfig.h: Likewise.
23326 * util/mkisofs/include/prototyp.h: Likewise.
23327 * util/mkisofs/include/statdefs.h: Likewise.
23328 * util/mkisofs/iso9660.h: Likewise.
23329 * util/mkisofs/joliet.c: Likewise.
23330 * util/mkisofs/match.c: Likewise.
23331 * util/mkisofs/match.h: Likewise.
23332 * util/mkisofs/mkisofs.c: Likewise.
23333 * util/mkisofs/mkisofs.h: Likewise.
23334 * util/mkisofs/multi.c: Likewise.
23335 * util/mkisofs/name.c: Likewise.
23336 * util/mkisofs/rock.c: Likewise.
23337 * util/mkisofs/tree.c: Likewise.
23338 * util/mkisofs/write.c: Likewise.
23339
ec8bb77d
VS
233402009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
23341
23342 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
23343 being insecure.
23344
3716b12c
RM
233452009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23346
23347 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
23348 `grub-mkimage' (and use $0 when possible).
23349
b97b7b91
RM
233502009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23351
23352 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
23353 error message for excessively large memory map.
23354
04114812
RM
233552009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23356
23357 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
23358 executable bit.
23359
e4eb2373
RM
233602009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23361
23362 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
23363 message for coreboot users.
23364
c926e1d5 233652009-11-07 Robert Millan <rmh.grub@aybabtu.com>
23366
23367 Fix build with GNU gold.
23368
23369 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
23370 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
23371 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
23372 link addresses.
23373 * aclocal.m4: Likewise.
23374
86e5b1db 233752009-11-04 Felix Zielcke <fzielcke@z-51.de>
23376
23377 * configure.ac (AC_PREREQ): Bump to 2.59d.
23378 * INSTALL: Make it more clear when Autoconf and Ruby are
23379 needed and when to run `./autogen.sh'.
23380
246cd78f 233812009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
23382
23383 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
23384 OSes.
23385
4f9dfb37 233862009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23387
23388 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
23389
b82bd5e1 233902009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23391
23392 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
23393 giving it to GNU Mach.
23394
ff1a9bca 233952009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23396
23397 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
23398 GNU partition number to get internal GRUB partition number.
23399
61697d9c 234002009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23401
23402 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
23403 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
23404
a50569e1 234052009-11-01 Robert Millan <rmh.grub@aybabtu.com>
23406
23407 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
23408 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
23409 case.
23410
5b153867 234112009-11-01 Felix Zielcke <fzielcke@z-51.de>
23412
23413 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
23414
d9e2cd70 234152009-10-30 Robert Millan <rmh.grub@aybabtu.com>
23416
23417 Fix build problem.
23418
23419 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
23420 `-isystem=$(srcdir)/include'.
23421
805111a4 234222009-10-30 Robert Millan <rmh.grub@aybabtu.com>
23423
23424 * util/i386/pc/grub-install.in: Remove hint that device.map should be
23425 checked (grub-install doesn't currently rely on it).
23426
fa6e945f 234272009-10-29 Robert Millan <rmh.grub@aybabtu.com>
23428
23429 Revert SVN r2660.
23430
23431 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
23432 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
23433 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
23434 * conf/i386-ieee1275.rmk: Likewise.
23435 * conf/i386-pc.rmk: Likewise.
23436 * conf/powerpc-ieee1275.rmk: Likewise.
23437 * conf/sparc64-ieee1275.rmk: Likewise.
23438 * conf/x86_64-efi.rmk: Likewise.
23439
cee15086 234402009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23441
23442 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
23443
95b9239e 234442009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23445
23446 * include/grub/misc.h: Stop checking for APPLE_CC.
23447
2ed19dfd 234482009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23449
23450 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
23451 doesn't cause an infinite call loop.
23452
fdcdde19 234532009-10-28 Felix Zielcke <fzielcke@z-51.de>
23454
23455 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
23456 strings.
23457
cefabfe1 234582009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23459
23460 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
23461 variable.
23462 * Makefile.in: Likewise.
23463
ed96ab6d 234642009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23465
23466 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
23467
0579b753 234682009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23469
23470 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
23471
478df409 234722009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23473
23474 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
23475
083d1679 234762009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23477
23478 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
23479 from here ...
23480 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
23481
5947ae32 234822009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23483
23484 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
23485 in $(MAKEINFO) invocation. This makes it clear in output that
23486 errors are being ignored.
23487
94180ff6 234882009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23489
23490 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
23491 from here ...
23492 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
23493 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
23494 * conf/i386-ieee1275.rmk: Likewise.
23495 * conf/i386-pc.rmk: Likewise.
23496 * conf/powerpc-ieee1275.rmk: Likewise.
23497 * conf/sparc64-ieee1275.rmk: Likewise.
23498 * conf/x86_64-efi.rmk: Likewise.
23499
9031b03a 235002009-10-26 Colin Watson <cjwatson@ubuntu.com>
23501
23502 * util/grub-editenv.c (main): If only a command is given, use
23503 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
23504 (usage): FILENAME is now optional and has a default.
23505
e4f6809b 235062009-10-26 Colin Watson <cjwatson@ubuntu.com>
23507
23508 Improve grub-mkconfig performance when there are several menu
23509 entries on a single filesystem.
23510
23511 * util/grub.d/10_linux.in (linux_entry): Cache the output of
23512 prepare_grub_to_access_device.
23513 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23514 * util/grub.d/30_os-prober.in: Likewise.
23515
67937d4d 235162009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23517
23518 * util/grub.d/10_freebsd.in: Remove.
23519 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
23520 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
23521
ee3756cc 235222009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23523
5c35048e 23524 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 23525
4dea1c6f 235262009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23527
23528 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
23529 grub_util_error() call.
23530
042484d7 235312009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23532
23533 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
23534 `reserved_first_sector' member.
23535 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
23536 `reserved_first_sector' to 1.
23537 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
23538 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
23539 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
23540 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
23541 filesystems which begin at first sector.
23542 (options): New option --skip-fs-probe.
23543 (main): Handle --skip-fs-probe and pass it to setup().
23544
d64448a7 235452009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23546
23547 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
23548 (memset): Fix function prototype.
23549
508d42ec 235502009-10-25 Robert Millan <rmh.grub@aybabtu.com>
235512009-10-25 Vasily Averin <vvs@parallels.com>
23552
23553 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
23554 `dirent.direntlen == 0'.
23555
b240e30c 235562009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23557
23558 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
23559 `cpio'.
23560 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
23561
346e7fbe 235622009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23563
23564 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
23565 `__trampoline_setup' and `__ucmpdi2'.
23566 * include/grub/powerpc/libgcc.h: Only export symbols for functions
23567 that libgcc provides.
23568
cdb308b0 235692009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23570
23571 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
23572 * include/grub/sparc64/libgcc.h (memset): Likewise.
23573 * include/grub/misc.h (memset, memcmp): New function prototypes.
23574
fb26abc2 235752009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23576
23577 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
23578 `cpio'.
23579 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
23580
f6693890 235812009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23582
23583 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
23584 * docs/grub.cfg: Compensate for recent change in multiboot
23585 loader (since 2009-08-14 it won't pass filename to payload).
23586 * util/grub.d/10_hurd.in: Likewise.
23587
0933cdc0 235882009-10-21 Felix Zielcke <fzielcke@z-51.de>
23589
23590 * config.guess: Update to latest version from config git
23591 repository.
23592 * config.sub: Likewise.
23593
3b2fe8c2 235942009-10-20 Robert Millan <rmh.grub@aybabtu.com>
23595
23596 Fix build on sparc64.
23597
23598 * configure.ac: Perform checks for libgcc symbols before
23599 adding `-nostdlib' to LDFLAGS.
23600
46695a62 236012009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
23602
23603 Let user specify OpenBSD root device.
23604
23605 * loader/i386/bsd.c (openbsd_root): New variable.
23606 (openbsd_opts): New option 'root'.
23607 (OPENBSD_ROOT_ARG): New macro.
23608 (grub_openbsd_boot): Use 'openbsd_root'.
23609 (grub_cmd_openbsd): Fill 'openbsd_root'.
23610
d2b6b7fc 236112009-10-16 Robert Millan <rmh.grub@aybabtu.com>
23612
23613 * NEWS: Misc adjustments.
23614
421bd7ac 236152009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
23616
23617 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
23618
f1d29d87 236192009-10-16 Robert Millan <rmh.grub@aybabtu.com>
23620
23621 * configure.ac: Bump version to 1.97.
23622
6f3cd880 236232009-10-16 Colin Watson <cjwatson@ubuntu.com>
23624
23625 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
23626 -mno-3dnow on x86 architectures. Some toolchains enable these
23627 features by default, but they rely on registers that aren't enabled
23628 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
23629
035f7122 236302009-10-15 Robert Millan <rmh.grub@aybabtu.com>
23631
23632 Make entry text a bit more readable.
23633
23634 * util/grub.d/10_linux.in: Add `with' before `Linux'.
23635
44998e58 236362009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23637
23638 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
23639
cd2851b3 236402009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23641
23642 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
23643 operations.
23644
c6f3b249 236452009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23646
23647 * configure.ac: Add missing dollar.
23648
6b5886ba 236492009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23650
23651 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
23652
23653 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
23654 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
23655 exports.
23656 * include/grub/sparc64/libgcc.h: Likewise. Use
23657 preprocessor conditionals.
23658
e9d66f6d 236592009-10-14 Robert Millan <rmh.grub@aybabtu.com>
23660
23661 * conf/common.rmk (grub-dumpbios): Remove rule.
23662 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
23663 * util/grub-dumpbios.in: Remove file.
23664
9155bc17 236652009-10-14 Robert Millan <rmh.grub@aybabtu.com>
23666
23667 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
23668 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
23669
23670 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
23671 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
23672 users.
23673
23674 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
23675 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
23676 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
23677 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
23678 users.
23679
bf7f7a18 236802009-10-12 Robert Millan <rmh.grub@aybabtu.com>
23681
23682 * term/tparm.c: Switch to GPLv3.
23683
86564c26 236842009-10-09 Robert Millan <rmh.grub@aybabtu.com>
23685
23686 * include/grub/i386/cpuid.h: Add header protection.
23687
5c936493 236882009-10-09 Robert Millan <rmh.grub@aybabtu.com>
23689
23690 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
23691
23692 * include/grub/i386/cpuid.h: New file.
23693 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
23694 (has_longmode): Rename to ...
23695 (grub_cpuid_has_longmode): ... this. Update all users. Remove
23696 `static' attribute.
23697 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
23698 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
23699 on a CPU that doesn't implement AMD64 instruction set.
23700
186e7cf2 237012009-10-06 Colin Watson <cjwatson@ubuntu.com>
23702
23703 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
23704 that version.texi is rebuilt on version number changes.
23705
83b65c4a 237062009-10-06 Colin Watson <cjwatson@ubuntu.com>
23707
23708 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
23709 Fixes bug #27602.
23710
d244281c 237112009-10-06 Colin Watson <cjwatson@ubuntu.com>
23712
23713 * util/i386/pc/grub-install.in: Source
23714 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
23715 that the --grub-probe option will work.
23716 * util/sparc64/ieee1275/grub-install.in: Likewise.
23717
da25306d 237182009-10-05 Robert Millan <rmh.grub@aybabtu.com>
23719
23720 * configure.ac: Bump version to 1.97~beta4.
23721
e8ee83c0 237222009-10-03 Robert Millan <rmh.grub@aybabtu.com>
23723
23724 Resync grub-mkdevicemap in x86_64-efi.
23725
23726 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
23727 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
23728 `util/devicemap.c'.
23729
50dcabcf 237302009-10-01 Colin Watson <cjwatson@ubuntu.com>
23731
23732 * util/grub-editenv.c (create_envblk_file): Write new block with a
23733 .new suffix and then rename it into place, to ensure atomic
23734 creation.
23735
0e51c3a7 237362009-09-28 Robert Millan <rmh.grub@aybabtu.com>
23737
23738 Do not automatically install headers.
23739
23740 * Makefile.in (include_DATA): Remove. Update all users.
23741
31299a95 237422009-09-26 Robert Millan <rmh.grub@aybabtu.com>
23743
23744 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
23745 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
23746
23747 * util/osdetect.lua: Remove.
23748 * script/lua/lauxlib.c: Likewise.
23749 * script/lua/ldebug.c: Likewise.
23750 * script/lua/grub_main.c: Likewise.
23751 * script/lua/lauxlib.h: Likewise.
23752 * script/lua/ldebug.h: Likewise.
23753 * script/lua/ltablib.c: Likewise.
23754 * script/lua/liolib.c: Likewise.
23755 * script/lua/lstrlib.c: Likewise.
23756 * script/lua/lualib.h: Likewise.
23757 * script/lua/ldo.c: Likewise.
23758 * script/lua/ldump.c: Likewise.
23759 * script/lua/ldo.h: Likewise.
23760 * script/lua/loslib.c: Likewise.
23761 * script/lua/lundump.c: Likewise.
23762 * script/lua/grub_lib.c: Likewise.
23763 * script/lua/ldblib.c: Likewise.
23764 * script/lua/lundump.h: Likewise.
23765 * script/lua/lmem.c: Likewise.
23766 * script/lua/grub_lib.h: Likewise.
23767 * script/lua/lmathlib.c: Likewise.
23768 * script/lua/lstate.c: Likewise.
23769 * script/lua/ltm.c: Likewise.
23770 * script/lua/lvm.c: Likewise.
23771 * script/lua/lmem.h: Likewise.
23772 * script/lua/lstate.h: Likewise.
23773 * script/lua/ltm.h: Likewise.
23774 * script/lua/ltable.c: Likewise.
23775 * script/lua/lvm.h: Likewise.
23776 * script/lua/llex.c: Likewise.
23777 * script/lua/lgc.c: Likewise.
23778 * script/lua/grub_lua.h: Likewise.
23779 * script/lua/loadlib.c: Likewise.
23780 * script/lua/lfunc.c: Likewise.
23781 * script/lua/lopcodes.c: Likewise.
23782 * script/lua/lparser.c: Likewise.
23783 * script/lua/ltable.h: Likewise.
23784 * script/lua/llex.h: Likewise.
23785 * script/lua/lgc.h: Likewise.
23786 * script/lua/lfunc.h: Likewise.
23787 * script/lua/lbaselib.c: Likewise.
23788 * script/lua/lopcodes.h: Likewise.
23789 * script/lua/lparser.h: Likewise.
23790 * script/lua/lzio.c: Likewise.
23791 * script/lua/linit.c: Likewise.
23792 * script/lua/lobject.c: Likewise.
23793 * script/lua/llimits.h: Likewise.
23794 * script/lua/lstring.c: Likewise.
23795 * script/lua/lzio.h: Likewise.
23796 * script/lua/lapi.c: Likewise.
23797 * script/lua/lcode.c: Likewise.
23798 * script/lua/lua.h: Likewise.
23799 * script/lua/lobject.h: Likewise.
23800 * script/lua/lstring.h: Likewise.
23801 * script/lua/lapi.h: Likewise.
23802 * script/lua/lcode.h: Likewise.
23803 * script/lua/luaconf.h: Likewise.
23804
cb8a2c38 238052009-09-26 Colin Watson <cjwatson@ubuntu.com>
23806
23807 * docs/grub.texi (Command-line and menu entry commands): Document
23808 date and echo commands.
23809
6b9b6276 238102009-09-24 Pavel Roskin <proski@gnu.org>
23811
23812 * include/grub/kernel.h (struct grub_module_header): Remove
23813 `grub_module_header_types'. Make `type' unsigned. Make `size'
23814 32-bit on all platforms.
23815 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
23816 8-bit field. Use grub_host_to_target32() for `size'.
23817 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
23818 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
23819 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
23820
4e5a02a7 238212009-09-24 Robert Millan <rmh.grub@aybabtu.com>
23822
23823 Fix "lost keypress" bug in at_keyboard.
23824
23825 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
23826 Checks for readyness of input buffer (without flushing it).
23827 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
23828 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
23829
c6dcedf6 238302009-09-24 Robert Millan <rmh.grub@aybabtu.com>
23831
23832 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
23833 size check within GRUB_MACHINE_PCBIOS section.
23834
74c958b1 238352009-09-24 Robert Millan <rmh.grub@aybabtu.com>
23836
23837 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
23838 return value.
23839 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
23840 KEYBOARD_ISREADY check.
23841 (grub_at_keyboard_checkkey): Rename to ...
23842 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
23843 Remove gratuitous cast.
23844
ff420223 238452009-09-23 Colin Watson <cjwatson@ubuntu.com>
23846
23847 * configure.ac: Call AC_PROG_MKDIR_P.
23848 * Makefile.in (docs/stamp-vti): Create docs directory. Create
23849 version.texi in $(builddir) rather than $(srcdir).
23850 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
23851 to makeinfo's @include search path.
23852
d96875df 238532009-09-23 Felix Zielcke <fzielcke@z-51.de>
23854
23855 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
23856
9b3f8365 238572009-09-23 Felix Zielcke <fzielcke@z-51.de>
23858
23859 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
23860 for `*.dpkg-new'.
23861
c44c90db 238622009-09-21 Colin Watson <cjwatson@ubuntu.com>
23863
23864 Build info documentation. Some code borrowed from Automake.
23865
23866 * configure.ac: Check for makeinfo.
23867 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
23868 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
23869 docs/version.texi.
23870 (MOSTLYCLEANFILES): Add vti.tmp.
23871 (docs/version.texi, docs/stamp-vti): Update automatically.
23872 (docs/grub.info): Build info documentation. Use --force and ignore
23873 errors for now.
23874 (all-local): Add $(INFOS).
23875 (install-local): Install info files.
23876 (uninstall): Uninstall info files.
23877 * docs/version.texi: Remove from revision control. This file is
23878 automatically generated on build now.
23879 * gendistlist.sh: Add `*.info'.
23880
e0b37bb5 238812009-09-21 Felix Zielcke <fzielcke@z-51.de>
23882
23883 * kern/term.c: Fix indentation.
23884
5a78865b 238852009-09-21 Felix Zielcke <fzielcke@z-51.de>
23886
23887 * util/hostdisk.c: Fix a comment.
23888
dace7e8a 238892009-09-20 Robert Millan <rmh.grub@aybabtu.com>
23890
23891 Fix regression introduced in r2539.
23892
23893 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
23894 to 0xA1.
23895
a83d079b 238962009-09-19 Colin Watson <cjwatson@ubuntu.com>
23897
23898 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 23899 os-prober. Under normal operation, it does not print anything to
23900 stderr; if it does, we need to debug it, and throwing away stderr
23901 makes that excessively difficult.
a83d079b 23902
be94a509 239032009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
23904
23905 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
23906
63f745e8 239072009-09-16 Robert Millan <rmh.grub@aybabtu.com>
23908
23909 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
23910 AC_LANG_PROGRAM from autoconf.
23911 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
23912 prototypes (fixes warning).
23913
23914 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
23915 `--disable-werror' was used.
23916
bbb2a70f 239172009-09-16 Robert Millan <rmh.grub@aybabtu.com>
23918
23919 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
23920 uninitialized `lastaddr'.
23921
77c24f1d 239222009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23923
0f0b8c87 23924 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 23925
07197f23 239262009-09-14 Colin Watson <cjwatson@ubuntu.com>
23927
23928 * commands/test.c (get_fileinfo): Return immediately if
23929 grub_fs_probe fails.
23930
dabf1798 239312009-09-14 José Martínez <xosemp@gmail.com>
23932
23933 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
23934
d52109a7 239352009-09-14 Colin Watson <cjwatson@ubuntu.com>
23936
23937 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
23938 output.
23939
56532179 239402009-09-13 Robert Millan <rmh.grub@aybabtu.com>
23941
23942 * configure.ac: Remove --enable-grub-pe2elf. Only build
23943 grub-pe2elf when needed by the build system itself.
23944 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
23945
8ef070f5 239462009-09-12 Robert Millan <rmh.grub@aybabtu.com>
23947
23948 * configure.ac: Bump version to 1.97~beta3.
23949 * docs/version.texi: Likewise.
23950
61229557 239512009-09-12 Robert Millan <rmh.grub@aybabtu.com>
23952
23953 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
23954 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
23955 from here ...
23956 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
23957 (grub_linux_setup_video): ... to here (with some adjustments).
23958
5c9f8d84 239592009-09-12 Robert Millan <rmh.grub@aybabtu.com>
23960
23961 Fix memory corruption issue (spotted by Colin Watson).
23962
23963 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
23964 causing returned size to be stored in an incorrect memory location.
23965 Fix use of uninitialized value when storing the returned size.
23966
e8f5d6e9 239672009-09-12 Yves Blusseau <blusseau@zetam.org>
23968
23969 Change clean rules to properly remove files
23970
23971 * genmk.rb: add new clean rules
23972 * Makefile.in (clean): add the new targets
23973 (mostlyclean): likewise
23974
cda2a409 239752009-09-11 Colin Watson <cjwatson@ubuntu.com>
23976
23977 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
23978 to grub_uint64_t.
23979 * fs/ntfs.c (init_file): Understand 64-bit sizes for
23980 non-resident files.
23981
86695375 239822009-09-11 Colin Watson <cjwatson@ubuntu.com>
23983
23984 * configure.ac: Don't look for help2man when cross-compiling. Fixes
23985 part of bug #27349.
23986
8aa1541a 239872009-09-10 Felix Zielcke <fzielcke@z-51.de>
23988
23989 * util/grub-mkconfig.in: Make the created config mode 400 and
23990 print a warning if it fails.
23991
48d9bb0a 239922009-09-10 Robert Millan <rmh.grub@aybabtu.com>
23993
23994 * util/grub.d/40_custom.in: Ask user to type custom entries below
23995 comment, rather than below 'exec tail' line.
23996
3b0521be 239972009-09-10 Colin Watson <cjwatson@ubuntu.com>
23998
23999 * util/grub.d/40_custom.in: Make sure that the explanatory text is
24000 visible in grub.cfg.
24001
50051d55 240022009-09-10 Colin Watson <cjwatson@ubuntu.com>
24003
24004 * util/grub.d/40_custom.in: Make it a little clearer how to use this
24005 file.
24006
c0d34387 240072009-09-10 Felix Zielcke <fzielcke@z-51.de>
24008
24009 * docs/grub.cfg: Add an example menu entry for memtest86+.
24010
80a608f3 240112009-09-09 Felix Zielcke <fzielcke@z-51.de>
24012
a2094832 24013 * config.guess: Update to latest version from config git.
80a608f3 24014 * config.sub: Likewise.
24015
99423078 240162009-09-08 Colin Watson <cjwatson@ubuntu.com>
24017
24018 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
24019 unknown-command case. Fixes bug #27320.
24020
44454e4c 240212009-09-08 Felix Zielcke <fzielcke@z-51.de>
24022
24023 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
24024 `help' if the command exists.
24025
e30d87ad 240262009-09-06 Robert Millan <rmh.grub@aybabtu.com>
24027
24028 * INSTALL: Require GCC 4.1.3 or later.
24029
9a86f1ec 240302009-09-06 Yves Blusseau <blusseau@zetam.org>
24031
24032 * Makefile.in (RMKFILES): add i386-qemu.rmk
24033 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
24034 $(srcdir)/stamp-h.in
24035
7f26d466 240362009-09-05 Robert Millan <rmh.grub@aybabtu.com>
24037
24038 * util/grub-probe.c (probe): Comment out buggy codepath, which
24039 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
24040 should be re-enabled after 1.97.
24041
3a613259 240422009-09-05 Felix Zielcke <fzielcke@z-51.de>
24043
24044 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
24045 find searches for.
24046
197f76c7 240472009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
24048
24049 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
24050 unnecessary calls to grub_error.
24051
70ba68ce 240522009-09-04 Colin Watson <cjwatson@ubuntu.com>
24053
24054 * NEWS: Mention `keystatus' and Unicode fonts.
24055
4ff0d7a4 240562009-09-04 Robert Millan <rmh.grub@aybabtu.com>
24057
24058 * configure.ac: Bump version to 1.97~beta2.
24059 * docs/version.texi: Likewise.
24060
77c55a87 240612009-09-03 Colin Watson <cjwatson@ubuntu.com>
24062
24063 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
24064 containing unwind information in some cases where it previously did
24065 not. Use -fno-dwarf2-cfi-asm if available to restore the old
24066 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
24067 discussion.
24068
f79572cd 240692009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
24070
24071 Embedding loadenv module into grub-emu
24072
24073 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
24074 commands/loadenv.c
24075 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
24076 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
24077 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
24078 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
24079 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
24080 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
24081
93a81088 240822009-09-03 Magnus Granberg <zorry@ume.nu>
24083
24084 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
24085 include -fPIE in the default specs.
24086 * configure.ac: Check if pie_possible is yes and add -fno-PIE
24087 to TARGET_CFLAGS.
24088
160034b2 240892009-09-03 Felix Zielcke <fzielcke@z-51.de>
24090
24091 * INSTALL: Note that GNU Bison 2.3 or later is required.
24092
087c07c4 240932009-09-03 Colin Watson <cjwatson@ubuntu.com>
24094
24095 * kern/i386/pc/startup.S: Fix typo.
24096
cbf978c0 240972009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24098
24099 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
24100 according to GCS.
24101
241022009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 24103
24104 * docs/grub.texi (Naming convention): Describe one-based partition
24105 numbering.
24106 (Device syntax): Likewise.
24107 (File name syntax): Likewise.
24108 (Block list syntax): Likewise.
24109 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
24110 menu.lst.
24111 (File name syntax): Likewise.
24112 (Command-line and menu entry commands): Document acpi, blocklist,
24113 crc, export, insmod, keystatus, ls, set, and unset commands.
24114
f3e8cdfd 241152009-09-02 Colin Watson <cjwatson@ubuntu.com>
24116
24117 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
24118 to avoid implying that only one of --shift, --ctrl, or --alt may be
24119 used.
24120
c0bc232b 241212009-09-02 Colin Watson <cjwatson@ubuntu.com>
24122
24123 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
24124 rather than comparing against S_IFREG, which will almost never work.
24125
aa0f752d 241262009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
24127
24128 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
24129 (write_blocklists): Likewise.
24130
ecb3166a 241312009-09-01 Colin Watson <cjwatson@ubuntu.com>
24132
24133 * script/lua/grub_lua.h (fputs): Supply a format string as the first
24134 argument to grub_printf.
24135
c403a125 241362009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 24137
24138 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 24139 non GNU test.
31aba781 24140
b5e7312c 241412009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24142
24143 * kern/file.c (grub_file_read): Spelling fix
24144
fe00f472 241452009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24146
24147 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
24148 loading of headers in some cases.
24149
cc55302e 241502009-08-30 Robert Millan <rmh.grub@aybabtu.com>
24151
24152 * configure.ac: Bump version to 1.97~beta1.
24153 * docs/version.texi: Likewise.
24154
5c90cdd2 241552009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 24156
24157 * include/grub/i386/xnu.h: Add license header.
24158 include grub/err.h explicitly.
24159
c90edae4 241602009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24161
24162 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
24163 to `ufs' in the vfs.root.mountfrom kernel parameter.
24164
d8888b5c 241652009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24166
24167 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
24168
24169 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
24170 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
24171
24172 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
24173 `ARRAY_SIZE' macro.
24174
6f07b921 241752009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24176
24177 * kern/file.c (grub_file_read): Check offset.
24178 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
24179 * fs/jfs.c (grub_jfs_read_file): Likewise.
24180 * fs/ntfs.c (grub_ntfs_read): Likewise.
24181 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
24182 * fs/minix.c (grub_minix_read_file): Correct offset check.
24183 * fs/ufs.c (grub_ufs_read_file): Likewise.
24184
b4f34077 241852009-08-28 Colin Watson <cjwatson@ubuntu.com>
24186
24187 * term/i386/pc/console.c (bios_data_area): Cast
24188 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
24189
e7c69859 241902009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24191
24192 1-bit optimised blitters.
24193
24194 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
24195 prototype.
24196 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24197 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24198 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24199 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24200 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24201 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24202 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
24203 function.
24204 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24205 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24206 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24207 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24208 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24209 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24210 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
24211 when possible.
24212 * video/video.c (grub_video_get_blit_format): Return
24213 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
24214
a57da43f 242152009-08-28 Colin Watson <cjwatson@ubuntu.com>
24216
24217 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
24218 the first argument to grub_printf.
24219
4cbe67e5 242202009-08-28 Colin Watson <cjwatson@ubuntu.com>
242212009-08-28 Robert Millan <rmh.grub@aybabtu.com>
24222
24223 Add `getkeystatus' terminal method. Add a new `keystatus' command
24224 to query it.
24225
24226 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
24227 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
24228 modifier key bitmasks.
24229 (struct grub_term_input): Add `getkeystatus' member.
24230 (grub_getkeystatus): Add prototype.
24231 * kern/term.c (grub_getkeystatus): New function.
24232
24233 * include/grub/i386/pc/memory.h
24234 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
24235 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
24236 Data Area layout.
24237 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
24238 (grub_console_term_input): Set `getkeystatus' member.
24239 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
24240 constants.
24241 (grub_usb_keyboard_getreport): Likewise.
24242 (grub_usb_keyboard_checkkey): Likewise.
24243 (grub_usb_keyboard_getkeystatus): New function.
24244 (grub_usb_keyboard_term): Set `getkeystatus' member.
24245
24246 * commands/keystatus.c: New file.
24247 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
24248 (keystatus_mod_SOURCES): New variable.
24249 (keystatus_mod_CFLAGS): Likewise.
24250 (keystatus_mod_LDFLAGS): Likewise.
24251 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
24252 commands/keystatus.c.
24253 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24254 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24255 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24256 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24257 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24258 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 24259
6e2a9085 242602009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24261
24262 Split befs.mod and afs.mod into *_be.mod and *.mod
24263
24264 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
24265 (grub_fstest_SOURCES): Likewise.
24266 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
24267 (afs_be_mod_SOURCES): New variable.
24268 (afs_be_mod_CFLAGS): Likewise.
24269 (afs_be_mod_LDFLAGS): Likewise.
24270 (befs_be_mod_SOURCES): Likewise.
24271 (befs_be_mod_CFLAGS): Likewise.
24272 (befs_be_mod_LDFLAGS): Likewise.
24273 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
24274 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24275 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24276 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24277 (grub_emu_SOURCES): Likewise.
24278 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24279 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24280 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24281 * fs/afs_be.c: New file.
24282 * fs/befs_be.c: New file.
24283 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
24284 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
24285 (U16): Replaced with ...
24286 (grub_afs_to_cpu16): ...this. All users updated.
24287 (U32): Replaced with ...
24288 (grub_afs_to_cpu32): ...this. All users updated.
24289 (U64): Replaced with ...
24290 (grub_afs_to_cpu64): ...this. All users updated.
24291 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
24292 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 24293 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 24294 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
24295 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
24296 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
24297 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
24298 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
24299 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
24300 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
24301 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
24302
32a71655 243032009-08-26 Bean <bean123ch@gmail.com>
24304
24305 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
24306 64-bit number.
24307 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
24308 (grub_xfs_inode_block): Change return type to grub_uint64_t.
24309 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
24310
552bf6c5 243112009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24312
24313 NetBSD memory map support.
24314
24315 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
24316 (grub_netbsd_btinfo_mmap_header): New structure.
24317 (grub_netbsd_btinfo_mmap_entry): Likewise.
24318 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
24319
1ae2078c 243202009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24321
24322 Enable bsd.mod on coreboot.
24323
24324 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
24325 (bsd_mod_SOURCES): New variable.
24326 (bsd_mod_CFLAGS): Likewise.
24327 (bsd_mod_LDFLAGS): Likewise.
24328 (bsd_mod_ASFLAGS): Likewise.
24329 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
24330 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
24331
beefc598 243322009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24333
24334 Cleanup NetBSD root support.
24335
24336 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
24337 grub_bsd_get_device.
24338 Fix typo.
24339
3b76e68b 243402009-08-25 Felix Zielcke <fzielcke@z-51.de>
24341
24342 * util/grub.d/00_header.in: Move check for the video backend of
24343 gfxterm from here ...
24344 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
24345 a suitable video backend.
24346
aea664ea 243472009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24348
24349 Fix breakage in grub-setup.
24350
24351 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
24352 "msdos_partition_map".
24353
ff747d50 243542009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24355
24356 Fix breakage in normal/auth.c.
24357
24358 * normal/auth.c (grub_iswordseparator): New function.
24359
e7e1f93f 243602009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24361
24362 Authentication support.
24363
24364 * commands/password.c: New file.
24365 * conf/common.rmk (pkglib_MODULES): Add password.mod.
24366 (password_mod_SOURCES): New variable.
24367 (password_mod_CFLAGS): Likewise.
24368 (password_mod_LDFLAGS): Likewise.
24369 (normal_mod_SOURCES): Add normal/auth.c.
24370 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
24371 normal/auth.c.
24372 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24373 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24374 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24375 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24376 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24377 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24378 * include/grub/auth.h: New file.
24379 * include/grub/err.h (grub_err_t): New enum value
24380 GRUB_ERR_ACCESS_DENIED.
24381 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
24382 'users'.
24383 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
24384 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
24385 users updated.
24386 * normal/auth.c: New file.
24387 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
24388 (grub_cmdline_run): Don't allow to go to command line without
24389 authentication.
24390 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
24391 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
24392 menuentry without superuser rights.
24393 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
24394 user isn't a superuser.
24395
70f1161d 243962009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24397
24398 Save space by inlining misc.c functions.
24399
24400 * kern/misc.c (grub_iswordseparator): Made static.
24401 * kern/misc.c (grub_strcat): Moved from here ...
24402 * include/grub/misc.h (grub_strcat): ... here. Inlined.
24403 * kern/misc.c (grub_strncat): Moved from here ...
24404 * include/grub/misc.h (grub_strncat): ... here. Inlined.
24405 * kern/misc.c (grub_strcasecmp): Moved from here ...
24406 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
24407 * kern/misc.c (grub_strncasecmp): Moved from here ...
24408 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
24409 * kern/misc.c (grub_isalpha): Moved from here ...
24410 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
24411 * kern/misc.c (grub_isdigit): Moved from here ...
24412 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
24413 * kern/misc.c (grub_isgraph): Moved from here ...
24414 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
24415 * kern/misc.c (grub_tolower): Moved from here ...
24416 * include/grub/misc.h (grub_tolower): ... here. Inlined.
24417
48e40bff 244182009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24419
24420 * script/sh/function.c (grub_script_function_find): Cut error message
24421 not to flood terminal.
24422 * script/sh/lexer.c (grub_script_yylex): Remove command line length
24423 limit.
24424 * script/sh/script.c (grub_script_arg_add): Duplicate string.
24425
c385bfc3 244262009-08-24 Colin Watson <cjwatson@ubuntu.com>
24427
24428 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
24429 `report' grub_uint8_t *.
24430 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
24431 Use a 50-millisecond timeout rather than just repeating
24432 grub_usb_keyboard_getreport 50 times.
24433 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
24434
2d21e3e8 244352009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24436
24437 Rename *_partition_map to part_*
24438
24439 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
24440 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
24441 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
24442 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
24443 All users updated.
24444 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
24445 All users updated.
24446 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
24447 * util/grub-probe.c (probe_partmap): Don't transform partition name
24448 to get module name.
24449
dd103c4e 244502009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24451
24452 Fix OpenBSD and NetBSD support.
24453
24454 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
24455 memory address conflict.
24456 (OPENBSD_MMAP_ACPI): New definition.
24457 (OPENBSD_MMAP_NVS): Likewise.
24458 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
24459 and OPENBSD_MMAP_NVS.
24460 Add memory map terminator
24461 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 24462 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 24463
16c84d74 244642009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24465
24466 Let user specify NetBSD root device.
24467
24468 * loader/i386/bsd.c (netbsd_root): New variable.
24469 (netbsd_opts): New option 'root'.
24470 (NETBSD_ROOT_ARG): New macro.
24471 (grub_netbsd_boot): Use 'netbsd_root'.
24472 (grub_bsd_unload): Free 'netbsd_root'.
24473 (grub_cmd_netbsd): Fill 'netbsd_root'.
24474
adb29902 244752009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24476
24477 Support for 64-bit NetBSD.
24478
24479 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
24480 point when booting non-FreeBSD.
24481
f5ae9f74 244822009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24483
24484 Support --no-smp and --no-acpi for NetBSD.
24485
24486 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
24487 (NETBSD_AB_NOACPI): Likewise.
24488 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
24489 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
24490
de74f136 244912009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24492
24493 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
24494 errors.
24495 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
24496 errors. Call grub_error when needed.
24497
e9a925da 244982009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24499
24500 * commands/search.c (search_fs): Try searching without autoload first.
24501 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
24502 filesystem module explicitly for faster booting.
24503
5174302b 245042009-08-23 Colin Watson <cjwatson@ubuntu.com>
24505
24506 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
24507
c8c80635 245082009-08-23 Colin Watson <cjwatson@ubuntu.com>
24509
24510 * util/grub.d/30_os-prober.in: Disable os-prober if
24511 `GRUB_DISABLE_OS_PROBER' was set to true.
24512
71acf5e5 245132009-08-23 Robert Millan <rmh.grub@aybabtu.com>
24514
24515 * partmap/pc.c: Rename to ...
24516 * partmap/msdos.c: ... this. Update all users.
24517 (grub_pc_partition_map): Rename to ...
24518 (grub_msdos_partition_map): ... this. Update all users.
24519
24520 * parttool/pcpart.c: Rename to ...
24521 * parttool/msdospart.c: ... this. Update all users.
24522
24523 * include/grub/pc_partition.h: Rename to ...
24524 * include/grub/msdos_partition.h: ... this. Update all users.
24525 (grub_pc_partition_bsd_entry): Rename to ...
24526 (grub_msdos_partition_bsd_entry): ... this. Update all users.
24527 (grub_pc_partition_disk_label): Rename to ...
24528 (grub_msdos_partition_disk_label): ... this. Update all users.
24529 (grub_pc_partition_entry): Rename to ...
24530 (grub_msdos_partition_entry): ... this. Update all users.
24531 (grub_pc_partition_mbr): Rename to ...
24532 (grub_msdos_partition_mbr): ... this. Update all users.
24533 (grub_pc_partition): Rename to ...
24534 (grub_msdos_partition): ... this. Update all users.
24535 (grub_pc_partition_is_empty): Rename to ...
24536 (grub_msdos_partition_is_empty): ... this. Update all users.
24537 (grub_pc_partition_is_extended): Rename to ...
24538 (grub_msdos_partition_is_extended): ... this. Update all users.
24539 (grub_pc_partition_is_bsd): Rename to ...
24540 (grub_msdos_partition_is_bsd): ... this. Update all users.
24541
24542 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
24543 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
24544 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
24545 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
24546 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
24547 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
24548 (gpt_mod_LDFLAGS): Rename to ...
24549 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
24550 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
24551 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
24552 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
24553 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
24554 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
24555 (part_gpt_mod_LDFLAGS): ... this.
24556 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
24557 `pcpart.mod' to `msdospart.mod'.
24558 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
24559 to ...
24560 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
24561 (msdospart_mod_LDFLAGS): ... this.
24562
c11fded5 245632009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24564
24565 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
24566 (openbsd_opts): Likewise.
24567 (netbsd_opts): Likewise.
24568 (freebsd_flags): Added 0 terminator.
24569 (openbsd_flags): Likewise.
24570 (netbsd_flags): Likewise.
24571 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
24572 (grub_cmd_freebsd): Transformed into extended command.
24573 (grub_cmd_openbsd): Likewise.
24574 (grub_cmd_netbsd): Likewise.
24575 (cmd_freebsd): Changed type to grub_extcmd_t.
24576 (cmd_openbsd): Likewise.
24577 (cmd_netbsd): Likewise.
24578 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
24579 grub_cmd_openbsd as extended commands.
24580 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
24581 cmd_netbsd and cmd_openbsd
24582
11d1c769 245832009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
24584
24585 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
24586
7a9094e5 245872009-08-21 Pavel Roskin <proski@gnu.org>
24588
5496c37e 24589 * Makefile.in (install-local): When checking if a file is in the
24590 build directory, use "test -e" to detect symlinks.
24591
7a9094e5 24592 * Makefile.in (install-local): Remove all files in
24593 $(DESTDIR)$(pkglibdir) before installing new files there.
24594
e53cea11 245952009-08-18 Felix Zielcke <fzielcke@z-51.de>
24596
24597 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
24598 grub-mkelfimage.
24599
9aced544 246002009-08-18 Felix Zielcke <fzielcke@z-51.de>
24601
24602 * util/grub-mkconfig.in: Don't use gfxterm by default if not
24603 explicitly specified by the user.
24604
b7da6bab 246052009-08-18 Pavel Roskin <proski@gnu.org>
24606
24607 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
24608 grub_uint8_t pointer for data.
24609 * include/grub/fbutil.h (struct grub_video_fbblit_info):
24610 Likewise.
24611 * video/fb/fbutil.c: Remove unnecessary casts.
24612
19f1b335 246132009-08-17 Michal Suchanek <hramrach@centrum.cz>
24614
24615 VBE cleanup.
24616
24617 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
24618 (grub_vbe_set_video_mode): Save active mode info
24619 only after setting the mode.
24620 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
24621 second argument.
24622
2f467aa9 246232009-08-17 Michal Suchanek <hramrach@centrum.cz>
24624
24625 Rename variables for clarity.
24626
24627 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
24628 (active_vbe_mode_info): ... this. All users updated.
24629 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
24630 All users updated.
24631 (initial_mode): Rename to ...
24632 (initial_vbe_mode): ... this. All users updated.
24633 (mode_in_use): Rename to ..
24634 (vbe_mode_in_use): ... this. All users updated.
24635 (mode_list): Rename to ..
24636 (vbe_mode_list): ... this. All users updated.
24637 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
24638 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
24639 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
24640 'mode_list_size' to 'vbe_mode_list_size'.
24641 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
24642 'best_mode_info' to 'best_vbe_mode_info' and
24643 'best_mode' to 'best_vbe_mode'
24644
6025fcd7 246452009-08-17 Michal Suchanek <hramrach@centrum.cz>
24646
24647 Remove duplicate grub_video_fb_get_video_ptr.
24648
24649 * include/grub/fbutil.h (get_data_ptr): Rename to ...
24650 (grub_video_fb_get_video_ptr): ... this.
24651 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
24652 * video/fb/fbutil.c: Add comment about addressing.
24653 (get_data_ptr): Rename to ...
24654 (grub_video_fb_get_video_ptr): ... this. All users updated.
24655 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
24656
cc8c6faf 246572009-08-17 Robert Millan <rmh.grub@aybabtu.com>
24658
24659 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
24660 grub_dprintf() that was just added.
24661
08aa61f0 246622009-08-17 Robert Millan <rmh.grub@aybabtu.com>
24663
24664 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
24665 (DEFAULT_VIDEO_MODE): Remove macros.
24666 (grub_linux_boot): Remove assumption that Linux has FB support,
24667 and use "text" as default video mode.
24668
7cef4f75 246692009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
24670
24671 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
24672 grub_dprintf.
24673 * fs/fat.c (grub_fat_read_data): Likewise.
24674
e1f39873 246752009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24676
24677 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
24678 payload.
24679 (grub_module): Likewise.
24680
c166d79e 246812009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24682
24683 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
24684 mbi->cmdline but free playground.
24685
c60cee8e 246862009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24687
24688 Handle group offset on UFS1.
24689
24690 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
24691 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
24692
c0d8b5d4 246932009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24694
24695 Split ufs.mod into ufs1.mod and ufs2.mod.
24696
24697 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
24698 (grub_fstest_SOURCES): Likewise.
24699 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
24700 (ufs_mod_SOURCES): Remove.
24701 (ufs_mod_CFLAGS): Likewise.
24702 (ufs_mod_LDFLAGS): Likewise.
24703 (ufs1_mod_SOURCES): New variable.
24704 (ufs1_mod_CFLAGS): Likewise.
24705 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 24706 (ufs2_mod_SOURCES): New variable.
24707 (ufs2_mod_CFLAGS): Likewise.
24708 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 24709 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
24710 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
24711 Likewise.
24712 (grub_emu_SOURCES): Likewise.
24713 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24714 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24715 (grub_setup_SOURCES): Likewise.
24716 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24717 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
24718 (grub_setup_SOURCES): Likewise.
24719 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
24720 Likewise.
24721 * fs/ufs2.c: New file.
24722 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
24723
d3539132 247242009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24725
24726 Framebuffer split.
24727
24728 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
24729 subsystem at the end.
24730 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
24731 (video_fb_mod_SOURCES): New variable.
24732 (video_fb_mod_CFLAGS): Likewise.
24733 (video_fb_mod_LDFLAGS): Likewise.
24734 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
24735 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
24736 * video/i386/pc/vbeblit.c: Moved from here ...
24737 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
24738 * video/i386/pc/vbefill.c: Moved from here ...
24739 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
24740 * video/i386/pc/vbeutil.c: Moved from here ...
24741 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
24742 * include/grub/i386/pc/vbeblit.h: Moved from here ...
24743 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
24744 * include/grub/i386/pc/vbefill.h: Moved from here ...
24745 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
24746 * include/grub/i386/pc/vbeutil.h: Moved from here ...
24747 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
24748 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
24749 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
24750 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
24751 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
24752 (grub_video_adapter): Added 'get_info_and_fini'.
24753 (grub_video_get_info_and_fini): New prototype.
24754 (grub_video_set_mode): make modestring const char *.
24755 * loader/i386/linux.c (grub_linux_setup_video): Use
24756 grub_video_get_info_and_fini.
24757 (grub_linux_boot): Move modesetting just before booting.
24758 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
24759 grub_video_get_info_and_fini.
24760 * video/i386/pc/vbe.c: Moved framebuffer part ...
24761 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
24762 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
24763 grub_video_fbstd_colors and grub_video_fb_set_palette.
24764 (grub_video_vbe_init): Clear 'framebuffer' variable and use
24765 grub_video_fb_init.
24766 (grub_video_vbe_fini): Use grub_video_fb_fini.
24767 (grub_video_vbe_setup): Use framebuffer.render_target instead of
24768 render_target and use grub_video_fb_set_active_render_target and
24769 grub_video_fb_set_palette.
24770 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
24771 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
24772 (grub_video_vbe_adapter): Use framebuffer.
24773 * video/video.c (grub_video_get_info_and_fini): New function.
24774 (grub_video_set_mode): Make modestring const char *.
24775 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
24776 values are already initialised.
24777
d404ee56 247782009-08-14 Pavel Roskin <proski@gnu.org>
24779
24780 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
24781 ABS and APPLE_CC.
24782 * boot/i386/pc/diskboot.S: Likewise.
24783 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
24784 sectors allow compilation on MacOSX.
24785 * conf/i386-pc.rmk: Enable unconditional compilation of
24786 lnxboot.img.
24787
9a10df16 247882009-08-13 Colin Watson <cjwatson@ubuntu.com>
24789
24790 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
24791 * util/grub.d/00_header.in: Enter interruptible sleep if
24792 GRUB_HIDDEN_TIMEOUT is set.
24793
be3c9ca7 247942009-08-13 Yves Blusseau <blusseau@zetam.org>
24795
24796 * include/grub/symbol.h: Add the LOCAL macro.
24797 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
24798 starting with "L_".
24799
1f9e557e 248002009-08-13 Pavel Roskin <proski@gnu.org>
24801
9ca62843 24802 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
24803 any modern compilers we support.
24804
1f9e557e 24805 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
24806 Use local labels starting with "L_" so that Apple assembler
24807 knows they are local.
24808
81623db6 248092009-08-10 Robert Millan <rmh.grub@aybabtu.com>
24810
24811 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
24812 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
24813 (bsd_kernel_types): ... this enum.
24814
24815 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
24816 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
24817 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
24818
24819 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
24820 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
24821 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
24822 messages.
24823
f5d35e7a 248242009-08-08 Robert Millan <rmh.grub@aybabtu.com>
24825
24826 * util/grub-dumpdevtree: Moved from here ...
24827 * util/i386/efi/grub-dumpdevtree: ... to here.
24828 (hexify): New function. Converts a string to its hex version.
24829 Generate hex versions of "efi" and "device-properties" by calling
24830 hexify() on the ASCII strings rather than by hardcoding numbers.
24831
d1e1d527 248322009-08-08 Robert Millan <rmh.grub@aybabtu.com>
24833
24834 * fs/jfs.c: Update copyright year.
24835
1ebbe064 248362009-08-08 Felix Zielcke <fzielcke@z-51.de>
24837
24838 * util/grub.d/00_header.in: Fix a comment.
24839 * util/grub.d/10_linux.in: Likewise.
24840 * util/grub.d/10_windows.in: Likewise.
24841 * util/grub.d/10_hurd.in: Likewise.
24842
a78c8d24 248432009-08-08 Felix Zielcke <fzielcke@z-51.de>
24844
24845 * util/grub-mkconfig.in: Allow the user to specify the used font
24846 with GRUB_FONT.
24847
29a6b9e8 248482009-08-08 Pavel Roskin <proski@gnu.org>
24849
b5f16cc4 24850 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
24851 available, xfs.mod needs it now.
24852
2f5cb827 24853 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
24854 the "g" modifier in sed when the intention is to strip something
24855 once. This fixes comparison of kernels with multiple dashes.
24856
29a6b9e8 24857 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
24858 on it. Add missing space before closing bracket. Fix
24859 misleading formatting.
24860
892a3d98 248612009-08-07 Robert Millan <rmh.grub@aybabtu.com>
24862
24863 * docs/grub.texi: Major overhaul. Remove all sections that are
24864 specific to GRUB Legacy, or mostly composed of Legacy-specific
24865 information.
24866
ed94253f 248672009-08-07 Robert Millan <rmh.grub@aybabtu.com>
24868
24869 * docs/version.texi: New file. Provides version information for
24870 grub.texi.
24871
126d6628 248722009-08-07 Robert Millan <rmh.grub@aybabtu.com>
24873
24874 * docs/grub.texi: Update CVS information to SVN.
24875 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
24876
998b5aa9 248772009-08-07 Felix Zielcke <fzielcke@z-51.de>
24878
24879 * util/grub-mkconfig.in: Remove a wrong `fi'.
24880
818e094a 248812009-08-07 Felix Zielcke <fzielcke@z-51.de>
24882
24883 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
24884 (grub_jfs_uuid): New function.
24885 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
24886
b969c52f 248872009-08-07 Felix Zielcke <fzielcke@z-51.de>
24888
24889 * util/grub-mkconfig_lib.in (font_path): Move the functionality
24890 of it to ...
24891 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
24892 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
24893
7a4894cc 248942009-08-07 Robert Millan <rmh.grub@aybabtu.com>
24895
24896 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
24897 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
24898 Update all users.
24899
24900 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
24901 not just "vmlinu[zx]".
24902 Moved from here ...
24903 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
24904 all users.
24905
24906 * util/grub.d/10_linux.in (find_latest): Moved from here ...
24907 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
24908 all users.
24909
4e2171f8 249102009-08-07 Robert Millan <rmh.grub@aybabtu.com>
24911
24912 * util/grub.d/10_freebsd.in: Use an absolute device path for
24913 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
24914
6dcfcb32 249152009-08-06 Felix Zielcke <fzielcke@z-51.de>
24916
24917 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
24918 handling of multiple abstraction modules.
24919
f56a8756 249202009-08-04 Robert Millan <rmh.grub@aybabtu.com>
24921
24922 Fix a bug resulting in black screen when loading Linux using a
24923 packed video mode.
24924
24925 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
24926 function.
24927
24928 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
24929 (grub_vbe_bios_getset_dac_palette_width): New function.
24930 (grub_vbe_bios_get_dac_palette_width)
24931 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
24932 grub_vbe_bios_getset_dac_palette_width()).
24933
24934 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
24935 check for return status.
24936 (grub_vbe_get_video_mode_info): When getting information for a packed
24937 mode (<= 8 bpp), obtain DAC palette width using
24938 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
24939 {red,green,blue}_mark_size.
24940
222671b2 249412009-08-04 Felix Zielcke <fzielcke@z-51.de>
24942
ecb1a6d9 24943 * commands/search.c (options): Fix help output to match actual code.
222671b2 24944
f84114f5 249452009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
24946
24947 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
24948 of homegrown code.
24949
bd288a20 249502009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 24951
24952 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
24953 on XFS or ReiserFS.
24954
8aab5e25 249552009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24956
24957 Support Apple partition map with sector size different from 512 bytes.
24958
24959 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
24960 (apple_partition_map_iterate): Respect 'aheader.blocksize'
24961 and 'apart.partmap_size'.
24962
6ad6258a 249632009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
249642009-08-01 Robert Millan <rmh.grub@aybabtu.com>
24965
24966 Fix cpuid command.
24967
24968 * commands/i386/cpuid.c (options): New variable.
24969 (grub_cmd_cpuid): Return real error.
24970 (GRUB_MOD_INIT(cpuid)): Declare options.
24971
67459bc6 249722009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
24973
24974 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
24975 valid.
24976
fbc6ab54 249772009-07-31 Bean <bean123ch@gmail.com>
24978
24979 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
24980 log2_inode.
24981 (grub_fshelp_node): Move inode field to the end.
24982 (grub_xfs_data): Remove inode field.
24983 (grub_xfs_inode_block): Calculate inode size using sblock.
24984 (grub_xfs_inode_offset): Likewise.
24985 (grub_xfs_read_inode): Calculate inode size using sblock.
24986 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
24987 (grub_xfs_iterate_dir): Calculate inode size using sblock.
24988 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
24989 to match inode size.
24990 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
24991 not accessible when data is null.
24992 (grub_xfs_open): Likewise.
24993
f45d6cfc 249942009-07-31 Bean <bean123ch@gmail.com>
24995
24996 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
24997 Don't change pv->disk if it's already set.
24998
24999 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
25000 (grub_raid_register): ... here.
25001 (grub_raid_rescan): Removed.
25002
25003 * include/grub/raid.h (grub_raid_rescan): Removed.
25004
25005 * util/grub-fstest.c: Remove include file <grub/raid.h>.
25006 (fstest): Replace grub_raid_rescan with module fini function followed
25007 by init function.
25008
25009 * util/grub-probe.c: Add include file <grub/raid.h>.
25010 (probe_raid_level): New function.
25011 (probe): Detect abstraction by walking the disk device, support two
25012 level of abstraction (LVM on RAID) when detecting partition map.
25013
24443b5a 250142009-07-31 Pavel Roskin <proski@gnu.org>
25015
25016 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
25017 to grub_zalloc(), it was erroneous.
25018 Reported by Bean <bean123ch@gmail.com>
25019
a275d9e7 250202009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
25021
25022 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 25023 embedding zone, not only the first one.
a275d9e7 25024
56c5a47f 250252009-07-29 Joe Auricchio <jauricchio@gmail.com>
25026
25027 * term/gfxterm.c (clear_char): New function.
25028 (grub_virtual_screen_setup): Use clear_char.
25029 (scroll_up): Likewise.
25030 (grub_virtual_screen_cls): Likewise.
25031
67bb323a 250322009-07-29 Felix Zielcke <fzielcke@z-51.de>
25033
25034 * util/deviceiter.c (get_acceleraid_disk_name): New static
25035 function.
25036 (grub_util_iterate_devices): Handle Accelraid devices.
25037 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
25038
388a7c75 250392009-07-28 Robert Millan <rmh.grub@aybabtu.com>
25040
25041 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
25042 separator for the suggested gfxpayload string (';' collides with the
25043 parser and needs escaping).
25044
3bb7abcf 250452009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
25046
25047 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
25048 Clear direction flag before jumping to OS.
25049 (grub_multiboot2_real_boot): Likewise.
25050
2ddd36d7 250512009-07-28 Felix Zielcke <fzielcke@z-51.de>
25052
25053 * util/i386/pc/grub-install: Fix parsing of --disk-module
25054 option.
25055
c521b62b 250562009-07-28 Felix Zielcke <fzielcke@z-51.de>
25057
25058 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
25059 when embedding.
25060
880e0a0c 250612009-07-26 Felix Zielcke <fzielcke@z-51.de>
25062
25063 * util/grub-mkconfig.in (package_version): New variable.
25064 Use it do display the version.
25065
2366e356 250662009-07-25 Felix Zielcke <fzielcke@z-51.de>
25067
25068 * kern/file.c (grub_file_open): Revert to previous check with
25069 grub_errno.
25070
7ad8c80e 250712009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25072
25073 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
25074 from help line. It's out of sync with code.
25075
72b9658b 250762009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25077
25078 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
25079 entries on failed boot.
25080
77435277 250812009-07-25 Felix Zielcke <fzielcke@z-51.de>
25082
25083 * kern/file.c (grub_file_open): Fix an error check.
25084
fcaa8b21 250852009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
25086
35d16c74 25087 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
25088 partition map couldn't be identified.
fcaa8b21 25089
48904cd1 250902009-07-23 Pavel Roskin <proski@gnu.org>
25091
ef3c317f 25092 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
25093 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
25094 case of little endian words becomes just an optimization.
25095 Respect const modifier.
ad8ea1f4 25096 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 25097
48904cd1 25098 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
25099 to avoid loss of upper bits if align is unsigned and shorter
25100 than addr.
25101
260c9a89 251022009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25103
25104 UUID support for UFS
25105
25106 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
25107 (grub_ufs_uuid): New function.
25108 (grub_ufs_fs): add .uuid
25109
f76ce889 251102009-07-21 Pavel Roskin <proski@gnu.org>
25111
25112 * kern/dl.c (grub_dl_check_header): Make static.
25113
6a6cbcaf 251142009-07-21 Felix Zielcke <fzielcke@z-51.de>
25115
25116 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
25117 add drivemap for Vista. It breaks Windows 7.
25118
cffcddb2 251192009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25120
25121 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
25122 128 bytes
25123
1ef44b80 251242009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25125
25126 Add BFS support
25127
25128 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
25129 (grub_fstest_SOURCES): Likewise.
25130 (pkglib_MODULES): Add befs.mod.
25131 (befs_mod_SOURCES): New variable.
25132 (befs_mod_CFLAGS): Likewise.
25133 (befs_mod_LDFLAGS): Likewise.
25134 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25135 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25136 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25137 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25138 (grub_setup_SOURCES): Likewise.
25139 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25140 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25141 (grub_setup_SOURCES): Likewise.
25142 * fs/befs.c: New file.
25143 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
25144 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
25145 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
25146 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
25147 (B_KEY_INDEX_ALIGN): New declaration.
25148 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
25149 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
25150 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
25151 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
25152 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
25153 (grub_afs_mount) [MODE_BFS]: Likewise.
25154 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
25155 (grub_afs_fs): Use GRUB_AFS_FSNAME
25156 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
25157 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
25158 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
25159 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
25160
4f253044 251612009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
25162
25163 * util/getroot.c (find_root_device): Add support for MacOSX.
25164 * util/hostdisk.c: Likewise.
25165
57a55913 251662009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25167
25168 * font/font.c (find_glyph): Check whether a font is present to avoid
25169 segmentation fault.
75421ca9 25170
251712009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 25172
25173 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
25174
e98cd0c2 251752009-07-20 Pavel Roskin <proski@gnu.org>
25176
25177 * configure.ac: Trim excessively wordy excuses.
25178
1d2d169a 251792009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25180
25181 Add symlink, mtime and label support to AtheFS.
25182
25183 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
25184 (grub_afs_iterate_dir): Handle symlinks.
25185 (grub_afs_open): Use grub_afs_read_symlink.
25186 (grub_afs_dir): Likewise.
25187 Pass mtime.
25188 (grub_afs_label): New function.
25189 (grub_afs_fs): Add grub_afs_label.
25190 (grub_afs_read_symlink): New function.
25191
186f3189 251922009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25193
25194 Fix AtheFS support.
25195
25196 * fs/afs.c: Fix comments style.
25197 (grub_afs_blockrun): Declare as packed.
25198 (grub_afs_datastream): Likewise.
25199 (grub_afs_bnode): Likewise.
25200 (grub_afs_btree): Likewise.
25201 (grub_afs_sblock): Likewise.
25202 Declare `name' as char.
25203 (grub_afs_inode): Declare as packed.
25204 Change void *vnode to grub_uint32_t unused.
25205 (grub_afs_iterate_dir): Check that key_size is positive.
25206 (grub_afs_mount): Don't read superblock twice.
75421ca9 25207 (grub_afs_dir): Don't free node in case of error,
186f3189 25208 grub_fshelp_find_file already handles this.
25209 (grub_afs_open): Likewise.
25210
5680109e 252112009-07-19 Pavel Roskin <proski@gnu.org>
25212
25213 * Makefile.in: Remove LIBLZO and enable_lzo.
25214 * conf/i386-pc.rmk: Remove lzo support.
25215 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
25216 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
25217 support.
25218 * kern/i386/pc/lzo1x.S: Remove.
25219 * kern/i386/pc/startup.S: Remove lzo support.
25220 * util/i386/pc/grub-mkimage.c: Likewise.
25221
ac70fa32 252222009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
25223
25224 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
25225 * fs/xfs.c (grub_xfs_dir): Likewise.
25226 * fs/afs.c (grub_afs_dir): Likewise.
25227 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
25228 (grub_iso9660_open): Likewise.
25229 * fs/jfs.c (grub_jfs_open): Likewise.
25230 * fs/ext2.c (grub_ext2_dir): Likewise.
25231 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
25232 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 25233
eab58da2 252342009-07-16 Pavel Roskin <proski@gnu.org>
25235
d2838156 25236 * configure.ac: Never add "-c" to CFLAGS.
25237
55c70904 25238 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
25239
43e6200c 25240 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
25241 grub_cv_cc_efiemu should be used.
25242
ce7a733d 25243 * configure.ac: Typo fixes.
25244
eab58da2 25245 * kern/mm.c (grub_zalloc): New function.
25246 (grub_debug_zalloc): Likewise.
25247 * include/grub/mm.h: Declare grub_zalloc() and
25248 grub_debug_zalloc().
25249 * util/misc.c (grub_zalloc): New function.
25250 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
25251 instead of grub_malloc(), remove unneeded initializations.
25252 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
25253 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
25254 * commands/parttool.c (grub_cmd_parttool): Likewise.
25255 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
25256 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
25257 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
25258 * disk/usbms.c (grub_usbms_finddevs): Likewise.
25259 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
25260 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
25261 (grub_cmd_efiemu_pnvram): Likewise.
25262 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
25263 * fs/iso9660.c (grub_iso9660_mount): Likewise.
25264 (grub_iso9660_iterate_dir): Likewise.
25265 * fs/jfs.c (grub_jfs_opendir): Likewise.
25266 * fs/ntfs.c (list_file): Likewise.
25267 (grub_ntfs_mount): Likewise.
25268 * kern/disk.c (grub_disk_open): Likewise.
25269 * kern/dl.c (grub_dl_load_core): Likewise.
25270 * kern/elf.c (grub_elf_file): Likewise.
25271 * kern/env.c (grub_env_context_open): Likewise.
25272 (grub_env_set): Likewise.
25273 (grub_env_set_data_slot): Likewise.
25274 * kern/file.c (grub_file_open): Likewise.
25275 * kern/fs.c (grub_fs_blocklist_open): Likewise.
25276 * loader/i386/multiboot.c (grub_module): Likewise.
25277 * loader/xnu.c (grub_xnu_create_key): Likewise.
25278 (grub_xnu_create_value): Likewise.
25279 * normal/main.c (grub_normal_add_menu_entry): Likewise.
25280 (read_config_file): Likewise.
25281 * normal/menu_entry.c (make_screen): Likewise.
25282 * partmap/sun.c (sun_partition_map_iterate): Likewise.
25283 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
25284 * script/sh/script.c (grub_script_parse): Likewise.
25285 * video/bitmap.c (grub_video_bitmap_create): Likewise.
25286 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
25287 * video/readers/png.c (grub_png_output_byte): Likewise.
25288 (grub_video_reader_png): Likewise.
25289
830afef7 252902009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 25291
25292 Enable all targets that can be built by default
25293
830afef7 25294 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 25295 grub-mkfont and grub-fstest if they can be built
25296
ee293aee 252972009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25298
25299 Fix hang and segmentation fault in grub-emu-usb
25300
25301 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
25302 * util/usb.c (grub_libusb_devices): likewise
25303 (grub_libusb_init): rename to ...
25304 (GRUB_MOD_INIT (libusb)):...this
25305 (grub_libusb_fini): rename to ..
25306 (GRUB_MOD_FINI (libusb)):...this
25307 * disk/usbms.c (grub_usbms_transfer): fix retry logic
25308 * include/grub/disk.h (grub_raid_init): removed, it's useless
25309 (grub_raid_fini): likewise
25310 (grub_lvm_init): likewise
25311 (grub_lvm_fini): likewise
25312 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
25313 by grub_init_all
25314
94414221 253152009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25316
25317 Fix libusb
25318
25319 * Makefile.in (LIBUSB): new macro
25320 * genmk.rb (Utility/print_tail): new method
25321 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
25322 (top level): call util.print_tail at the end.
25323
59ade63d 253242009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25325
25326 Make FreeBSD accept zpool.cache
25327
25328 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
25329 type is /boot/zfs/zpool.cache
25330
a58da8c7 253312009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25332
25333 Fix 64-bit efiemu
25334
25335 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
25336 correct wrong typedef
25337 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
25338
20591577 253392009-07-15 Pavel Roskin <proski@gnu.org>
25340
560ca572 25341 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
25342 * kern/disk.c (struct grub_disk_cache): Likewise.
25343
e8e8e4fd 25344 * commands/probe.c (options): Typo fix.
25345
fde24e10 25346 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
25347 Increase to 0x5a to accommodate FAT32. Adjust other offsets
25348 accordingly.
25349 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
25350
379c54c1 25351 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
25352 the end of "Error" to make the message more readable.
25353
7bd8f5bf 25354 * boot/i386/pc/boot.S (kernel_segment): Remove.
25355 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
25356 for destination.
25357
40b132c5 25358 * boot/i386/pc/boot.S (boot_version): Remove.
25359 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
25360 Remove.
25361
20591577 25362 * include/grub/i386/pc/boot.h: Sort all offsets.
25363 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
25364 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
25365 * boot/i386/pc/boot.S: Assert location of every offset listed in
25366 include/grub/i386/pc/boot.h.
25367
2df32b2c 253682009-07-13 Pavel Roskin <proski@gnu.org>
25369
44b5d879 25370 * include/grub/i386/coreboot/machine.h: Rename
25371 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
25372 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
25373 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
25374
17dc3751 25375 * kern/dl.c: Force native word size to suppress warnings when
25376 compiling grub-emu.
25377
2df32b2c 25378 * kern/device.c (grub_device_iterate): Change struct part_ent to
25379 hold the name, not a pointer to it. Use one grub_malloc() per
25380 partition, not two. Free partition_name if grub_malloc() fails.
25381 Set ents to NULL only before grub_partition_iterate() is called.
25382
75c59f59 253832009-07-11 Bean <bean123ch@gmail.com>
25384
25385 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
25386 childname.
25387
0ae1bf88 253882009-07-10 Bean <bean123ch@gmail.com>
253892009-07-10 Robert Millan <rmh.grub@aybabtu.com>
25390
25391 * kern/ieee1275/openfw.c (grub_children_iterate)
25392 (grub_devalias_iterate): Fix size evaluation for property or path
25393 strings, which was broken since r2132.
25394
8279cade 253952009-07-07 Pavel Roskin <proski@gnu.org>
25396
7d8a52d3 25397 * commands/search.c (search_file): Merge into ...
25398 (search_fs): ... this. Accept search type as argument.
25399 (grub_cmd_search): Pass search type to search_fs().
25400
25f9a05a 25401 * include/grub/util/console.h: New file.
25402 * util/console.c: Use it instead of grub/machine/console.h.
25403 * util/grub-emu.c: Likewise.
25404
8279cade 25405 * lib/arg.c (find_long_option): Remove.
25406 (find_long): Add `len' argument, make `s' const char *.
25407 (grub_arg_parse): Parse long options in place, not in a
25408 temporary buffer.
25409
4a11b60f 254102009-07-06 Pavel Roskin <proski@gnu.org>
25411
99f68041 25412 * commands/search.c (search_fs): Fix potential NULL pointer
25413 dereference.
25414
4a11b60f 25415 * commands/search.c (search_fs): Replace QUID macro with quid_fn
25416 function pointer.
25417
e110f4de 254182009-07-06 Daniel Mierswa <impulze@impulze.org>
25419
25420 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
25421 comparison.
25422
46eeb6a2 254232009-07-05 Pavel Roskin <proski@gnu.org>
25424
bab74958 25425 * include/grub/i386/linux.h (struct linux_kernel_params):
25426 Restore padding3, it's still needed.
25427
46eeb6a2 25428 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
25429 FreeBSD.
25430 * util/osdetect.lua: Likewise.
25431
b4a1dc79 254322009-07-05 Bean <bean123ch@gmail.com>
25433
25434 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
25435
25436 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
25437 (grub_lua_getenv): Likewise.
25438 (grub_lua_setenv): Likewise.
25439 (save_errno): New function.
25440 (push_result): Likewise.
25441 (grub_lua_enum_device): Likewise.
25442 (grub_lua_enum_file): Likewise.
25443 (grub_lua_file_open): Likewise.
25444 (grub_lua_file_close): Likewise.
25445 (grub_lua_file_seek): Likewise.
25446 (grub_lua_file_read): Likewise.
25447 (grub_lua_file_getline): Likewise.
25448 (grub_lua_file_getsize): Likewise.
25449 (grub_lua_file_getpos): Likewise.
25450 (grub_lua_file_eof): Likewise.
25451 (grub_lua_file_exist): Likewise.
25452 (grub_lua_add_menu): Likewise.
25453
25454 * script/lua/grub_lua.h (isupper): New inline function.
25455 (islower): Likewise.
25456 (ispunct): Likewise.
25457 (isxdigit): Likewise.
25458 (strcspn): Change to normal function.
25459 (strpbkr): New function declaration.
25460 (memchr): Likewise.
25461
25462 * script/lua/grub_main.c (scan_str): New function.
25463 (strcspn): Likewise.
25464 (strpbrk): Likewise.
25465 (memchr): Likewise.
25466
25467 * script/lua/linit.c (lualibs): Enable the string library.
25468
25469 * util/osdetect.lua: New file.
25470
2da92295 254712009-07-04 Robert Millan <rmh.grub@aybabtu.com>
25472
25473 * include/grub/i386/linux.h (struct linux_kernel_params): Add
25474 `capabilities' member.
25475
b2582ec9 254762009-07-02 Pavel Roskin <proski@gnu.org>
25477
25478 * genparttoollist.sh: Add missing newline at the end.
25479
32622956 254802009-07-01 Pavel Roskin <proski@gnu.org>
25481
87a7339e 25482 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
25483
d23af54e 25484 * util/hostdisk.c (open_device): Remove `const' from
25485 `sysctl_size', as sysctlbyname() can change it (in this case it
25486 doesn't actually happen).
25487
c94b18a9 25488 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
25489 using signed long int constants.
25490
c6cd3ef0 25491 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
25492 constant to avoid a warning on FreeBSD.
25493
0df63420 25494 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
25495 where it's needed.
25496
999577f1 25497 * Makefile.in: Install include/grub/machine symlink.
25498
6f41557f 25499 * Makefile.in: When installing symlinks, use "cp -fR", which
25500 works on FreeBSD and MacOSX.
25501 From Yves Blusseau <cl7m42e02@sneakemail.com>
25502
c8d22988 25503 * kern/dl.c (grub_dl_resolve_symbol): Make static.
25504 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
25505
1b96e952 25506 * util/misc.c: Move grub_reboot() and grub_halt() ...
25507 * util/grub-emu.c: ... here. Make main_env static.
25508 * include/grub/util/misc.h: Remove main_env.
25509
2ef0084d 25510 * kern/mm.c: Use correct format to print size_t.
25511
32622956 25512 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
25513 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
25514 * kern/powerpc/dl.c: Likewise.
25515 * kern/sparc64/dl.c: Likewise.
25516 * kern/x86_64/dl.c: Likewise.
25517
3f7f0cd0 255182009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25519
25520 Fix grub-emu build on sparc64-ieee1275.
25521
75421ca9 25522 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 25523 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
25524
211d06b5 255252009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25526
25527 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
25528 (grub_reboot, grub_halt): New functions.
25529
25530 * util/i386/pc/misc.c: Delete. Update all users.
25531 * util/sparc64/ieee1275/misc.c: Likewise.
25532 * util/powerpc/ieee1275/misc.c: Likewise.
25533
aaf53e3c 255342009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25535
25536 * conf/i386.rmk (setjmp_mod_SOURCES)
25537 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
25538 * conf/common.rmk (setjmp_mod_SOURCES)
25539 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
25540 to use $(target_cpu).
25541 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
25542 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
25543 * conf/powerpc-ieee1275.rmk: Likewise.
25544 * conf/sparc64-ieee1275.rmk: Likewise.
25545
25546 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
25547 $(target_cpu) for kern/$(target_cpu)/dl.c.
25548 * conf/i386-efi.rmk: Likewise.
25549 * conf/i386-ieee1275.rmk: Likewise.
25550 * conf/x86_64-efi.rmk: Likewise.
25551 * conf/i386-coreboot.rmk: Likewise.
25552 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
25553 $(target_cpu) for kern/$(target_cpu)/dl.c and for
25554 kern/$(target_cpu)/cache.S.
25555 * conf/sparc64-ieee1275.rmk: Likewise.
25556
a337130b 255572009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25558
25559 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
25560 type to `grub_uint8_t', and adjust `padding9' accordingly.
25561
c6fe4d53 255622009-06-29 Robert Millan <rmh.grub@aybabtu.com>
25563
b09db61d 25564 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
25565
c6fe4d53 25566 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
25567 assembly in final jump, using register constraints.
25568
b09db61d 25569 (grub_linux_boot): For text mode, initialize `have_vga' using
25570 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
25571
25572 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
25573 right before the final jump.
25574
25575 Set `video_mode' to 0x3.
25576
25577 Document initialization of `video_page', `video_mode' and
25578 `video_ega_bx'.
25579
28333ad0 255802009-06-29 Robert Millan <rmh.grub@aybabtu.com>
25581
25582 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
25583 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 25584 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 25585
02164e1b 255862009-06-29 Robert Millan <rmh.grub@aybabtu.com>
25587
25588 Fix build on Debian / sparc.
25589
25590 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
25591
18b6c557 255922009-06-28 Pavel Roskin <proski@gnu.org>
25593
85f2aab6 25594 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
25595 fix a warning.
25596
18b6c557 25597 * util/grub.d/10_linux.in: Match SUSE style initrd names.
25598
ad760f81 255992009-06-27 Robert Millan <rmh.grub@aybabtu.com>
25600
25601 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
25602 `err'.
25603
87a4623b 256042009-06-27 Robert Millan <rmh.grub@aybabtu.com>
25605
25606 Revert r2338.
25607
25608 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
25609 file can't be opened. grub_file_open() is already supposed to set
75421ca9 25610 grub_errno / grub_errmsg appropriately.
87a4623b 25611 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25612
8231fb77 256132009-06-27 Pavel Roskin <proski@gnu.org>
256142009-06-27 Robert Millan <rmh.grub@aybabtu.com>
25615
25616 * include/grub/dl.h: Include grub/elf.h.
25617 (struct grub_dl): Add symtab field.
25618 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
25619 GRUB_MODULES_MACHINE_READONLY.
25620 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
25621 of the header for read-only modules.
25622 (grub_dl_unload): Free mod->symtab for read-only modules.
25623 * kern/i386/dl.c: Use mod->symtab.
25624 * kern/powerpc/dl.c: Likewise.
25625 * kern/sparc64/dl.c: Likewise.
25626 * kern/x86_64/dl.c: Likewise.
25627
25628 * conf/i386-qemu.rmk: New file.
25629 * kern/i386/qemu/startup.S: Likewise.
25630 * kern/i386/qemu/mmap.c: Likewise.
25631 * boot/i386/qemu/boot.S: Likewise.
25632 * include/grub/i386/qemu/time.h: Likewise.
25633 * include/grub/i386/qemu/serial.h: Likewise.
25634 * include/grub/i386/qemu/kernel.h: Likewise.
25635 * include/grub/i386/qemu/console.h: Likewise.
25636 * include/grub/i386/qemu/boot.h: Likewise.
25637 * include/grub/i386/qemu/init.h: Likewise.
25638 * include/grub/i386/qemu/machine.h: Likewise.
25639 * include/grub/i386/qemu/loader.h: Likewise.
25640 * include/grub/i386/qemu/memory.h: Likewise.
25641
25642 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
25643 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
25644 [qemu] (pkglib_IMAGES): Add `boot.img'.
25645 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
25646 [qemu] (boot_img_FORMAT): New variables.
25647 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
25648 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
25649 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
25650 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25651 [qemu] (kernel_img_FORMAT): New variables.
25652
25653 * configure.ac: Recognise `i386-qemu'.
25654
25655 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
25656 (for no compression).
25657 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
25658 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
25659 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
25660 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
25661 ifdefs).
25662
97fe384e 256632009-06-27 Pavel Roskin <proski@gnu.org>
25664
25665 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
25666 read.
25667 * efiemu/prepare32.c: Likewise.
25668 * efiemu/prepare64.c: Likewise.
25669
c402ab17 256702009-06-26 Pavel Roskin <proski@gnu.org>
25671
25672 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
25673 * include/grub/elf.h: Define symbols without "32" or "64" based
25674 on GRUB_TARGET_WORDSIZE.
25675 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
25676 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
25677 ELF definitions.
25678 * efiemu/loadcore64.c: Likewise.
25679 * loader/i386/bsd32.c: Likewise.
25680 * loader/i386/bsd64.c: Likewise.
25681 * kern/dl.c: Remove own ELF definitions.
25682 * util/i386/efi/grub-mkimage.c: Likewise.
25683
9bbdfd4d 256842009-06-23 Robert Millan <rmh.grub@aybabtu.com>
25685
25686 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
25687 segment 0x0 unconditionally, because the reference generated by
25688 GAS is an absolute address.
25689
a42ce6e9 256902009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25691
25692 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
25693 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
25694
c952cf92 256952009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25696
25697 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
25698 indexes. Check for -f explicitly.
cc3752ad 25699 (search_file): Improve error message.
25700 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 25701
132a0a59 257022009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25703
25704 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
25705 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
25706
387a140c 257072009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25708
25709 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
25710 * conf/i386-ieee1275.rmk: Likewise.
25711 * conf/i386-coreboot.rmk: Likewise.
25712
25713 * kern/i386/pc/startup.S (grub_stop): Remove function.
25714 * kern/i386/ieee1275/startup.S: Likewise.
25715 * kern/i386/coreboot/startup.S: Likewise.
25716 * kern/i386/misc.S (grub_stop): New function.
25717
41da9665 257182009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25719
25720 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
25721 * kern/i386/realmode.S (real_to_prot): ... to here.
25722
bf337234 257232009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25724
25725 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
25726 with `kernel.img'.
25727 (kernel_elf_SOURCES): Rename to ...
25728 (kernel_img_SOURCES): ... this.
25729 (kernel_elf_HEADERS): Rename to ...
25730 (kernel_img_HEADERS): ... this. Update all users.
25731 (kernel_elf_ASFLAGS): Rename to ...
25732 (kernel_img_ASFLAGS): ... this.
25733 (kernel_elf_CFLAGS): Rename to ...
25734 (kernel_img_CFLAGS): ... this.
25735 (kernel_elf_LDFLAGS): Rename to ...
25736 (kernel_img_LDFLAGS): ... this.
25737 * conf/i386-coreboot.rmk: Likewise.
25738 * conf/powerpc-ieee1275.rmk: Likewise.
25739
25740 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
25741 with "kernel.img".
25742
f52196ff 257432009-06-21 Pavel Roskin <proski@gnu.org>
25744
c3cee413 25745 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
25746 to match nested functions.
25747 * loader/sparc64/ieee1275/linux.c: Likewise.
25748
f52196ff 25749 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
25750
58750afc 257512009-06-21 Robert Millan <rmh.grub@aybabtu.com>
25752
25753 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
25754 all i386 platforms.
25755
15355c7d 257562009-06-21 Robert Millan <rmh.grub@aybabtu.com>
25757
25758 Fix asm file handling on ELF, and remove workarounds.
25759
25760 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 25761 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 25762 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
25763 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
25764
3f3ec72b 257652009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
25766
25767 Load BSD ELF modules
25768
25769 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
25770 and loader/i386/bsd64.c
25771 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
25772 (FREEBSD_MODTYPE_ELF_MODULE): New definition
25773 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
25774 (grub_freebsd_load_elfmodule32): New declaration
25775 (grub_freebsd_load_elfmoduleobj64): Likewise
25776 (grub_freebsd_load_elf_meta32): Likewise
25777 (grub_freebsd_load_elf_meta64): Likewise
25778 (grub_freebsd_add_meta): Likewise
25779 (grub_freebsd_add_meta_module): Likewise
25780 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
25781 (grub_freebsd_add_meta_module): Likewise and move module-specific
25782 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
25783 (grub_cmd_freebsd): Add elf-kernel specific parts
25784 based on grub_freebsd_add_meta_module
25785 (grub_cmd_freebsd_module): Add type parsing moved from
25786 grub_freebsd_add_meta_module
25787 (grub_cmd_freebsd_module_elf): New function
25788 (cmd_freebsd_module_elf): New variable
25789 (GRUB_MOD_INIT): Register freebsd_module_elf
25790 * loader/i386/bsd32.c: New file
25791 * loader/i386/bsd64.c: Likewise
25792 * loader/i386/bsdXX.c: Likewise
25793 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
25794 (grub_elf64_load): Likewise
25795 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
25796 All users updated
25797 (grub_elf64_load_hook_t): Likewise
25798
0db15301 257992009-06-21 Colin Watson <cjwatson@ubuntu.com>
25800
25801 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
25802 variable.
25803 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
25804 don't write a menu entry for recovery mode.
25805
546796c1 258062009-06-20 Robert Millan <rmh.grub@aybabtu.com>
25807
25808 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
25809 after it's no longer needed.
25810
cd7310d5 258112009-06-20 Robert Millan <rmh.grub@aybabtu.com>
25812
25813 * include/grub/i386/loader.h (grub_linux_prot_size)
25814 (grub_linux_tmp_addr, grub_linux_real_addr)
25815 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
25816 GRUB_MACHINE_PCBIOS.
25817 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
25818 common grub_util_info() call to ...
25819 (generate_image): ... here.
25820 Fix use of uninitialized memory, comparison of signed with
25821 unsigned integers and memory leak.
25822 Remove bogus module address message.
25823
ab32d3b5 258242009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25825
25826 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
25827 grub_raid_register
25828 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
25829
024ef597 258302009-06-19 Pavel Roskin <proski@gnu.org>
25831
25832 * configure.ac: Remove stray AC_MSG_CHECKING.
25833
3ac72b51 258342009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
25835
25836 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 25837
e14cd814 258382009-06-18 Pavel Roskin <proski@gnu.org>
25839
25840 * conf/common.rmk: Add fs_file.mod.
25841 * disk/fs_file.c: New file.
25842 * include/grub/disk.h (enum grub_disk_dev_id): Add
25843 GRUB_DISK_DEVICE_FILE_ID.
25844
26586d98 258452009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
25846
25847 Fix build with Apple's toolchain. Part 2
25848
25849 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
25850 a fake start
25851
26de2bcd 258522009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
25853
25854 Fix build with Apple's toolchain. Part 1
25855
25856 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
25857 for long calls
25858 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 25859 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 25860 Apple's toolchain
25861
09b3490b 258622009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
25863
25864 Fix warnings
25865
25866 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
25867 (decomp_block): initialize ch
25868 use grub_memcpy instead of memcpy
25869
c22a006a 258702009-06-17 Pavel Roskin <proski@gnu.org>
25871
d3638678 25872 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
25873 version, use declarations needed to use vga_text as the startup
25874 console.
25875
c22a006a 25876 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
25877 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
25878 the kernel.
25879 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
25880 and grub_at_keyboard_fini(), it's done on module load and
25881 unload.
25882
05b129e0 258832009-06-17 Felix Zielcke <fzielcke@z-51.de>
25884
25885 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
25886 file can't be found.
25887 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25888
cf24ed9e 258892009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
25890
25891 Fix newline handling
25892
25893 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 25894 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 25895 (grub_script_yylex): don't segfault on unterminated script
25896 newline terminates command and variable
25897
74aa8e4b 258982009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
25899
25900 avoid double grub_adjust_range call. Bug reported by David Simner
25901
25902 * kern/disk.c (grub_disk_write): change to raw disk access before
25903 calling disk_read
25904
1bd265f3 259052009-06-17 Colin Watson <cjwatson@ubuntu.com>
25906
25907 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
25908 spaces, for the benefit of help2man.
25909 * util/i386/efi/grub-mkimage.c (usage): Likewise.
25910
a2d08c06 259112009-06-16 Pavel Roskin <proski@gnu.org>
25912
25913 * kern/i386/halt.c: Include grub/machine/init.h.
25914 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
25915
b97bcb19 259162009-06-16 Felix Zielcke <fzielcke@z-51.de>
25917
25918 * util/grub.d/30_os-prober.in: Use ${root} in the generated
25919 drivemap menuentry.
25920
0644f96c 259212009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
25922
25923 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
25924 `echo' command.
25925
3ef17a2e 259262009-06-16 Pavel Roskin <proski@gnu.org>
25927
25928 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
25929 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
25930 save %dx, we only need %dl and we never change it.
25931 * boot/i386/pc/cdboot.S: Don't set the root drive.
25932 * boot/i386/pc/pxeboot.S: Likewise.
25933 * include/grub/i386/pc/boot.h: Remove
25934 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
25935 GRUB_BOOT_MACHINE_DRIVE_CHECK.
25936 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
25937 * kern/i386/pc/init.c (make_install_device): Remove references
25938 to grub_root_drive.
25939 * kern/i386/pc/startup.S: Likewise.
25940 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
25941
693fe637 259422009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
25943
25944 xnu_uuid command
25945
25946 * commands/xnu_uuid.c: new file
25947 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
25948 (xnu_uuid_mod_SOURCES): new variable
25949 (xnu_uuid_mod_CFLAGS): likewise
25950 (xnu_uuid_mod_LDFLAGS): likewise
25951 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
25952 * conf/i386-ieee1275.rmk: likewise
25953 * conf/i386-pc.rmk: likewise
25954 * conf/powerpc-ieee1275.rmk: likewise
25955 * conf/sparc64-ieee1275.rmk: likewise
25956 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
25957
c9da87d0 259582009-06-16 Pavel Roskin <proski@gnu.org>
25959
25960 * configure.ac: Avoid '==' in test command, it's not portable.
25961
9c6f4596 259622009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
25963
25964 Probe command
25965
25966 * commands/probe.c: new file
25967 * conf/common.rmk (pkglib_MODULES): add probe.mod
25968 (probe_mod_SOURCES): new variable
25969 (probe_mod_CFLAGS): likewise
25970 (probe_mod_LDFLAGS): likewise
25971 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
25972 * conf/i386-ieee1275.rmk: likewise
25973 * conf/i386-pc.rmk: likewise
25974 * conf/powerpc-ieee1275.rmk: likewise
25975 * conf/sparc64-ieee1275.rmk: likewise
25976
70b7f9fd 259772009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
25978
25979 Fix handling of string like \"hello\" and "a
25980 b"
25981
25982 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
25983 (grub_script_yylex): fix parsing of quoting, escaping and newline
25984
71c79a6b 259852009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
25986
dd74360c 25987 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 25988 handling
dd74360c 25989
0644f96c 259902009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 25991
25992 * util/grub-mkconfig.in: Fix parsing of --output option.
25993
e40893c3 259942009-06-12 Pavel Roskin <proski@gnu.org>
25995
25996 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
25997 genmk.rb don't need to be generated or installed.
25998
3a1acfe2 259992009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26000
26001 * commands/i386/pc/drivemap_int13h.S: add more comments
26002
3a4575d4 260032009-06-11 Pavel Roskin <proski@gnu.org>
26004
0658e928 26005 * Makefile.in (uninstall): Uninstall manuals.
26006
ca0388f0 26007 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
26008 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
26009 and update-grub_lib in two places.
26010 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
26011
e3b27c39 26012 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
26013 a compiler warning.
26014
3a4575d4 26015 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
26016 `entry_lo' to fix variable shadowing.
26017
af1f4f55 260182009-06-11 Christian Franke <franke@computer.org>
26019
26020 * kern/misc.c (__enable_execute_stack): Add missing return type
26021 to prevent gcc warning.
26022
5225e649 260232009-06-11 Felix Zielcke <fzielcke@z-51.de>
26024
26025 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
26026
7d83bd47 260272009-06-11 Pavel Roskin <proski@gnu.org>
26028
c1cb63ba 26029 * Makefile.in: Don't rely on any scripts being executable.
26030 Always use $(SHELL) to run shell scripts.
26031
7d83bd47 26032 * configure.ac: Always define ___main if using -nostdlib. This
26033 fixes tests on Cygwin.
26034
948f48e7 260352009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
26036
26037 UDF fix
26038
7d83bd47 26039 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 26040 is in bytes and not in blocks
7d83bd47 26041
8ada9bc1 260422009-06-11 Pavel Roskin <proski@gnu.org>
26043
26044 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
26045 warning.
26046
25ad2323 260472009-06-11 Felix Zielcke <fzielcke@z-51.de>
26048
26049 * util/grub.d/30_os-prober.in: Fix a comment. Source
26050 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
26051 to set the root device. Place drivemap command in the generated
26052 chain entry.
26053
e65acb0c 260542009-06-11 Pavel Roskin <proski@gnu.org>
26055
26056 * configure.ac: Remove host_m32. Issues with 64-bit utilities
26057 have long been resolved.
26058
f285fe2d 260592009-06-11 Colin Watson <cjwatson@ubuntu.com>
26060
bd47b0b5 26061 * util/grub.d/10_linux.in: Capitalise "Linux".
26062
f285fe2d 26063 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
26064
a0c62e4e 260652009-06-11 Pavel Roskin <proski@gnu.org>
26066
b6783cb2 26067 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
26068 fix a gcc warning and ensure that the function won't ever exit.
26069
dde032e8 26070 * kern/i386/ieee1275/init.c: Add missing prototype for
26071 grub_stop_floppy().
26072
22cd079d 26073 * loader/ieee1275/multiboot2.c [__i386__]: Include
26074 grub/cpu/multiboot.h.
26075
a0c62e4e 26076 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
26077 casts to short - they are not portable and cause warnings. Fix
26078 use of uninitialized values in input_buf. Use ARRAY_SIZE.
26079
63963d17 260802009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
26081
26082 Drivemap fixes
26083
26084 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
26085 new function
26086 (grub_get_root_biosnumber_saved): new variable
26087 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
26088 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 26089 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 26090 %dx after the call if necessary
26091 * conf/common.rmk (pkglib_MODULES): remove boot.mod
26092 (boot_mod_SOURCES): remove
26093 (boot_mod_CFLAGS): remove
26094 (boot_mod_LDFLAGS): remove
26095 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
26096 (boot_mod_SOURCES): new variable
26097 (boot_mod_CFLAGS): likewise
26098 (boot_mod_LDFLAGS): likewise
26099 * conf/i386-efi.rmk: likewise
26100 * conf/i386-ieee1275.rmk: likewise
26101 * conf/i386-pc.rmk: likewise
26102 * conf/powerpc-ieee1275.rmk: likewise
26103 * conf/sparc64-ieee1275.rmk: likewise
26104 * conf/x86_64-efi.rmk: likewise
26105 * include/grub/i386/pc/biosnum.h: new file
26106 * lib/i386/pc/biosnum.c: likewise
26107 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
26108 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
26109 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 26110
33abf7ae 261112009-06-10 Pavel Roskin <proski@gnu.org>
26112
5ac35b35 26113 * io/gzio.c (test_header): Don't reuse one buffer for all data.
26114 Use separate variables. Read only the file size at the end, but
26115 not the checksum that we don't use.
26116
5c5215d5 26117 * kern/file.c (grub_file_read): Use void pointer for the buffer.
26118 Adjust all callers.
26119
27d5fef7 26120 * kern/ieee1275/openfw.c: Remove libc includes.
26121 * kern/ieee1275/cmain.c: Likewise.
26122 * include/grub/ieee1275/ieee1275.h: Likewise.
26123
33abf7ae 26124 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
26125 compiler warnings.
26126
19d50c2b 261272009-06-10 Felix Zielcke <fzielcke@z-51.de>
26128
26129 * Makefile.in: Remove all trailing whitespace.
26130 * conf/i386-pc.rmk: Likewise.
26131 * conf/powerpc-ieee1275.rmk: Likewise.
26132 * conf/sparc64-ieee1275.rmk: Likewise.
26133 * docs/grub.texi: Likewise.
26134 * docs/texinfo.tex: Likewise.
26135 * disk/fs_uuid.c: Likewise.
26136 * disk/lvm.c: Likewise.
26137 * disk/scsi.c: Likewise.
26138 * disk/ata.c: Likewise.
26139 * disk/ieee1275/ofdisk.c: Likewise.
26140 * disk/i386/pc/biosdisk.c: Likewise.
26141 * disk/host.c: Likewise.
26142 * disk/raid.c: Likewise.
26143 * disk/efi/efidisk.c: Likewise.
26144 * disk/usbms.c: Likewise.
26145 * disk/memdisk.c: Likewise.
26146 * disk/loopback.c: Likewise.
26147 * kern/powerpc/dl.c: Likewise.
26148 * kern/device.c: Likewise.
26149 * kern/dl.c: Likewise.
26150 * kern/sparc64/dl.c: Likewise.
26151 * kern/ieee1275/ieee1275.c: Likewise.
26152 * kern/term.c: Likewise.
26153 * kern/fs.c: Likewise.
26154 * kern/i386/dl.c: Likewise.
26155 * kern/i386/pc/startup.S: Likewise.
26156 * kern/i386/pc/init.c: Likewise.
26157 * kern/i386/pc/mmap.c: Likewise.
26158 * kern/i386/pc/lzo1x.S: Likewise.
26159 * kern/i386/ieee1275/init.c: Likewise.
26160 * kern/i386/realmode.S: Likewise.
26161 * kern/i386/tsc.c: Likewise.
26162 * kern/partition.c: Likewise.
26163 * kern/corecmd.c: Likewise.
26164 * kern/file.c: Likewise.
26165 * kern/efi/efi.c: Likewise.
26166 * kern/efi/init.c: Likewise.
26167 * kern/efi/mm.c: Likewise.
26168 * kern/main.c: Likewise.
26169 * kern/err.c: Likewise.
26170 * kern/env.c: Likewise.
26171 * kern/disk.c: Likewise.
26172 * kern/generic/millisleep.c: Likewise.
26173 * kern/generic/rtc_get_time_ms.c: Likewise.
26174 * kern/misc.c: Likewise.
26175 * kern/parser.c: Likewise.
26176 * genmk.rb: Likewise.
26177 * configure.ac: Likewise.
26178 * boot/i386/pc/diskboot.S: Likewise.
26179 * boot/i386/pc/pxeboot.S: Likewise.
26180 * boot/i386/pc/boot.S: Likewise.
26181 * boot/i386/pc/lnxboot.S: Likewise.
26182 * boot/i386/pc/cdboot.S: Likewise.
26183 * parttool/pcpart.c: Likewise.
26184 * video/readers/tga.c: Likewise.
26185 * video/video.c: Likewise.
26186 * video/bitmap.c: Likewise.
26187 * lib/envblk.c: Likewise.
26188 * lib/i386/setjmp.S: Likewise.
26189 * fs/xfs.c: Likewise.
26190 * fs/afs.c: Likewise.
26191 * fs/fat.c: Likewise.
26192 * fs/ntfs.c: Likewise.
26193 * fs/udf.c: Likewise.
26194 * fs/affs.c: Likewise.
26195 * fs/iso9660.c: Likewise.
26196 * fs/hfs.c: Likewise.
26197 * fs/fshelp.c: Likewise.
26198 * fs/ext2.c: Likewise.
26199 * fs/jfs.c: Likewise.
26200 * fs/reiserfs.c: Likewise.
26201 * fs/hfsplus.c: Likewise.
26202 * fs/minix.c: Likewise.
26203 * fs/cpio.c: Likewise.
26204 * fs/sfs.c: Likewise.
26205 * fs/ufs.c: Likewise.
26206 * efiemu/prepare.c: Likewise.
26207 * efiemu/loadcore_common.c: Likewise.
26208 * efiemu/runtime/efiemu.sh: Likewise.
26209 * efiemu/runtime/efiemu.S: Likewise.
26210 * efiemu/runtime/efiemu.c: Likewise.
26211 * efiemu/pnvram.c: Likewise.
26212 * efiemu/main.c: Likewise.
26213 * efiemu/i386/pc/cfgtables.c: Likewise.
26214 * efiemu/i386/loadcore64.c: Likewise.
26215 * efiemu/i386/loadcore32.c: Likewise.
26216 * efiemu/loadcore.c: Likewise.
26217 * efiemu/symbols.c: Likewise.
26218 * efiemu/mm.c: Likewise.
26219 * include/grub/autoefi.h: Likewise.
26220 * include/grub/datetime.h: Likewise.
26221 * include/grub/term.h: Likewise.
26222 * include/grub/hfs.h: Likewise.
26223 * include/grub/lvm.h: Likewise.
26224 * include/grub/i386/tsc.h: Likewise.
26225 * include/grub/i386/linux.h: Likewise.
26226 * include/grub/i386/xnu.h: Likewise.
26227 * include/grub/i386/efiemu.h: Likewise.
26228 * include/grub/i386/pc/biosdisk.h: Likewise.
26229 * include/grub/i386/pc/memory.h: Likewise.
26230 * include/grub/i386/pc/vbe.h: Likewise.
26231 * include/grub/parttool.h: Likewise.
26232 * include/grub/video.h: Likewise.
26233 * include/grub/memory.h: Likewise.
26234 * include/grub/fs.h: Likewise.
26235 * include/grub/partition.h: Likewise.
26236 * include/grub/xnu.h: Likewise.
26237 * include/grub/efi/api.h: Likewise.
26238 * include/grub/efi/pe32.h: Likewise.
26239 * include/grub/efi/memory.h: Likewise.
26240 * include/grub/multiboot.h: Likewise.
26241 * include/grub/usbdesc.h: Likewise.
26242 * include/grub/multiboot2.h: Likewise.
26243 * include/grub/acpi.h: Likewise.
26244 * include/grub/efiemu/efiemu.h: Likewise.
26245 * include/grub/disk.h: Likewise.
26246 * include/grub/ieee1275/ieee1275.h: Likewise.
26247 * include/grub/net.h: Likewise.
26248 * include/grub/machoload.h: Likewise.
26249 * include/grub/macho.h: Likewise.
26250 * include/multiboot.h: Likewise.
26251 * genmoddep.awk: Likewise.
26252 * normal/main.c: Likewise.
26253 * normal/menu_entry.c: Likewise.
26254 * normal/menu_viewer.c: Likewise.
26255 * normal/completion.c: Likewise.
26256 * normal/cmdline.c: Likewise.
26257 * normal/misc.c: Likewise.
26258 * normal/datetime.c: Likewise.
26259 * bus/usb/usbtrans.c: Likewise.
26260 * bus/usb/ohci.c: Likewise.
26261 * bus/usb/uhci.c: Likewise.
26262 * bus/usb/usb.c: Likewise.
26263 * mmap/efi/mmap.c: Likewise.
26264 * mmap/i386/pc/mmap_helper.S: Likewise.
26265 * mmap/i386/pc/mmap.c: Likewise.
26266 * mmap/i386/mmap.c: Likewise.
26267 * mmap/i386/uppermem.c: Likewise.
26268 * mmap/mmap.c: Likewise.
26269 * commands/acpi.c: Likewise.
26270 * commands/echo.c: Likewise.
26271 * commands/blocklist.c: Likewise.
26272 * commands/loadenv.c: Likewise.
26273 * commands/usbtest.c: Likewise.
26274 * commands/boot.c: Likewise.
26275 * commands/parttool.c: Likewise.
26276 * commands/search.c: Likewise.
26277 * commands/cat.c: Likewise.
26278 * commands/i386/pc/play.c: Likewise.
26279 * commands/i386/pc/drivemap.c: Likewise.
26280 * commands/i386/pc/vbeinfo.c: Likewise.
26281 * commands/i386/pc/acpi.c: Likewise.
26282 * commands/i386/pc/vbetest.c: Likewise.
26283 * commands/ls.c: Likewise.
26284 * commands/cmp.c: Likewise.
26285 * commands/test.c: Likewise.
26286 * commands/efi/acpi.c: Likewise.
26287 * commands/gptsync.c: Likewise.
26288 * commands/help.c: Likewise.
26289 * partmap/amiga.c: Likewise.
26290 * partmap/apple.c: Likewise.
26291 * partmap/acorn.c: Likewise.
26292 * partmap/pc.c: Likewise.
26293 * partmap/sun.c: Likewise.
26294 * partmap/gpt.c: Likewise.
26295 * script/sh/lexer.c: Likewise.
26296 * script/sh/function.c: Likewise.
26297 * font/font.c: Likewise.
26298 * font/font_cmd.c: Likewise.
26299 * loader/powerpc/ieee1275/linux.c: Likewise.
26300 * loader/efi/chainloader.c: Likewise.
26301 * loader/multiboot_loader.c: Likewise.
26302 * loader/macho.c: Likewise.
26303 * loader/i386/multiboot.c: Likewise.
26304 * loader/i386/linux.c: Likewise.
26305 * loader/i386/pc/linux.c: Likewise.
26306 * loader/i386/pc/multiboot2.c: Likewise.
26307 * loader/i386/pc/chainloader.c: Likewise.
26308 * loader/i386/pc/xnu.c: Likewise.
26309 * loader/i386/bsd_trampoline.S: Likewise.
26310 * loader/i386/efi/linux.c: Likewise.
26311 * loader/i386/multiboot_elfxx.c: Likewise.
26312 * loader/i386/bsd_helper.S: Likewise.
26313 * loader/i386/bsd.c: Likewise.
26314 * loader/i386/linux_trampoline.S: Likewise.
26315 * loader/i386/xnu_helper.S: Likewise.
26316 * loader/i386/xnu.c: Likewise.
26317 * loader/i386/bsd_pagetable.c: Likewise.
26318 * loader/i386/multiboot_helper.S: Likewise.
26319 * loader/xnu.c: Likewise.
26320 * loader/xnu_resume.c: Likewise.
26321 * io/gzio.c: Likewise.
26322 * term/efi/console.c: Likewise.
26323 * term/terminfo.c: Likewise.
26324 * term/ieee1275/ofconsole.c: Likewise.
26325 * term/i386/pc/serial.c: Likewise.
26326 * term/i386/pc/vesafb.c: Likewise.
26327 * term/i386/pc/vga.c: Likewise.
26328 * term/usb_keyboard.c: Likewise.
26329 * term/gfxterm.c: Likewise.
26330 * aclocal.m4: Likewise.
26331 * util/lvm.c: Likewise.
26332 * util/grub.d/30_os-prober.in: Likewise.
26333 * util/grub.d/10_hurd.in: Likewise.
26334 * util/console.c: Likewise.
26335 * util/grub-macho2img.c: Likewise.
26336 * util/grub-probe.c: Likewise.
26337 * util/hostfs.c: Likewise.
26338 * util/i386/pc/grub-mkimage.c: Likewise.
26339 * util/i386/pc/grub-setup.c: Likewise.
26340 * util/i386/efi/grub-mkimage.c: Likewise.
26341 * util/grub-mkconfig.in: Likewise.
26342 * util/raid.c: Likewise.
26343 * util/resolve.c: Likewise.
26344 * util/grub-mkdevicemap.c: Likewise.
26345 * util/grub-emu.c: Likewise.
26346 * util/getroot.c: Likewise.
26347 * util/hostdisk.c: Likewise.
26348 * util/usb.c: Likewise.
26349 * util/grub-editenv.c: Likewise.
26350 * util/misc.c: Likewise.
26351
d2d49665 263522009-06-10 Felix Zielcke <fzielcke@z-51.de>
26353
26354 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
26355 `genparttoollist.sh'.
26356 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
26357 Add `*.sh' to the list find searches for and change `mdate.sh'
26358 to `mdate-sh'.
26359
fe052e37 263602009-06-10 Pavel Roskin <proski@gnu.org>
26361
2763ac18 26362 * include/grub/multiboot2.h: Provide compatibility defines for
26363 multiboot2.h.
26364 * include/multiboot2.h: Include stdint.h only if needed, using
26365 angle brackets.
26366 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
26367 grub/multiboot2.h.
26368 * loader/ieee1275/multiboot2.c: Likewise.
26369 * loader/multiboot2.c: Likewise.
26370 * loader/multiboot_loader.c: Likewise.
26371
437e6adc 26372 * configure.ac: Use -nostdlib when probing for the target. It
26373 should not be required to have libc for the target.
26374
06a6836c 26375 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
26376 they fail without libc headers for the target.
26377 * include/grub/powerpc/libgcc.h: Use weak attribute for all
26378 exports.
26379 * include/grub/sparc64/libgcc.h: Likewise. Don't use
26380 preprocessor conditionals.
26381
fe052e37 26382 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
26383 build system doesn't need to be aware of the tar.c internals.
26384
afd22553 263852009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 26386
afd22553 26387 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 26388
6b787c4f 263892009-06-09 Robert Millan <rmh.grub@aybabtu.com>
26390
26391 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
26392 disk limit to 26 for IDE, Virtio, Xen and SCSI.
26393
263942009-06-09 Felix Zielcke <fzielcke@z-51.de>
26395
26396 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 26397 aren't available if ata.mod gets used.
6b787c4f 26398
473d1e45 263992009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 26400
473d1e45 26401 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 26402 initialising controller.
473d1e45 26403 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 26404
255a27d4 264052009-06-08 Felix Zielcke <fzielcke@z-51.de>
26406
26407 * util/i386/pc/grub-install.in: Add a parameter --disk-module
26408 to choose between ata and biosdisk module on i386-pc.
26409
473d1e45 264102009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 26411
d55842d8 26412 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
26413 Subclass and Programming Interface fields in terms of the 3 byte
26414 Class Code register.
26415 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
26416
fa5db0b1 26417 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
26418 interface is OHCI. Add grub_dprintf for symmetry with
26419 bus/usb/uhci.c.
26420 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
26421 interface is UHCI. Add interf variable for programming
26422 interface. Print interface with class/subclass.
26423
c0947beb 26424 * bus/usb/ohci.c: Set interf with correct field.
26425
69da8877 26426 * bus/usb/uhci.c: Remove unneeded doubled lines.
26427 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
26428 Remove whitespace inside comment.
26429
9e172e30 264302009-06-08 Robert Millan <rmh.grub@aybabtu.com>
26431
26432 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
26433 as fallback an equivalent option without depth.
26434
de65ee2b 264352009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
26436
26437 Not fail if unable to retrieve C/H/S on LBA disks
26438
473d1e45 26439 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 26440 if unable to retrieve C/H/S on LBA disks
26441
b57ea2c9 264422009-06-08 Pavel Roskin <proski@gnu.org>
26443
26444 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
26445 about aliasing.
26446
af361263 264472009-06-08 Felix Zielcke <fzielcke@z-51.de>
26448
26449 * Makefile.in (uninstall): Remove all $lib_DATA files.
26450
4c9ec6b3 264512009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
26452
26453 Bugfix: install on partitionless device
26454
26455 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
26456 is a whole disk
26457
e76fc924 264582009-06-08 Felix Zielcke <fzielcke@z-51.de>
26459
26460 * Makefile.in (uninstall): Remove all $include_DATA files.
26461
ba5a0d05 264622009-06-08 Felix Zielcke <fzielcke@z-51.de>
26463
26464 * commands/true.c: New file. Implement the true and false commands.
26465 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
26466 (true_mod_SOURCES): New variable.
26467 (true_mod_CFLAGS): Likewise.
26468 (true_mod_LDFLAGS): Likewise.
26469
c8048e32 264702009-06-05 Colin D Bennett <colin@gibibit.com>
26471
26472 Optimized font character lookup using binary search instead of linear
26473 search. Fonts now are required to have the character index ordered by
26474 code point.
26475
26476 * font/font.c (load_font_index): Verify that fonts have ordered
26477 character indices.
26478 (find_glyph): Use binary search instead of linear search to find a
26479 character in a font.
26480
408305be 264812009-06-05 Michael Scherer <misc@mandriva.org>
26482
26483 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
26484 uses case sensitive btree.
26485 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
26486 only for case insensitive filesystems.
26487
8ee1e0d9 264882009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
26489
26490 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
26491 * conf/common.rmk (search_mod_CFLAGS): likewise
26492
a9966eb1 264932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26494
473d1e45 26495 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 26496 compensate a compiler bug
26497
9e7100fb 264982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26499
473d1e45 26500 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 26501 instead of '\b'
473d1e45 26502
ede21d71 265032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26504
26505 Definitions for creating asm symbols with Apple's CC
26506
26507 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
26508 [APPLE_CC] (VARIABLE): likewise
26509
9dbf7653 265102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26511
26512 Disable lnxboot.img when compiled
26513 with Apple's CC
26514
26515 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
26516 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
26517 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
26518 [! APPLE_CC] (CODE_LENG): skip
26519 [! APPLE_CC] (setup_sects): likewise
26520 [! APPLE_CC]: skip filling
473d1e45 26521
e93cdc3d 265222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26523
26524 Address in trampolines based on 32-bit registers when compiled
26525 with Apple's CC
26526
473d1e45 26527 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 26528 for addresses
26529 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
26530
6c688477 265312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26532
26533 Avoid aliases when compiling with Apple's CC for PCBIOS machine
26534
26535 * kern/misc.c [APPLE_CC] (memcpy): new function
26536 [APPLE_CC] (memmove): likewise
26537 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 26538 (memcpy): define alias conditionally on !APPLE_CC
6c688477 26539 (memset): likewise
26540 (abort): likewise
26541 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
26542 APPLE_CC are defined
26543 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
26544 (grub_assert_fail): make prototype conditional
26545
e37ffc5c 265462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26547
26548 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
26549
473d1e45 26550 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
26551 grub-macho2img
e37ffc5c 26552 (CLEANFILES): add grub-macho2img
26553 (grub_macho2img_SOURCES): new variable
26554 * kern/i386/pc/startup.S (bss_start): new variable
26555 (bss_end): likewise
26556 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
26557 * util/grub-macho2img.c: new file
26558
cf00df31 265592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26560
26561 Use objconv when compiling with Apple's CC
26562
26563 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
26564 (efiemu64.o): likewise
26565 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
26566 when compiling with Apple's CC
26567 (efiemu64_s.o): likewise
26568 * configure.ac: check for objconv when compiling with Apple's CC
26569 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 26570
d119a20c 265712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26572
26573 Define segment as well as section when compiling with
26574 Apple's CC
26575
26576 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
26577 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
26578 (efiemu_convert_pointer): likewise
26579 (efiemu_set_virtual_address_map): likewise
26580 (efiemu_convert_pointer): likewise
26581 (efiemu_getcrc32): likewise
26582 (init_crc32_table): likewise
26583 (reflect): likewise
26584 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
26585 (GRUB_MOD_DEP): likewise
473d1e45 26586
c8600122 265872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26588
26589 Allow a compilation without -mcmodel=large
26590
26591 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
26592 when compiled without -mcmodel=large
473d1e45 26593 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 26594 without -mcmodel=large
473d1e45 26595 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 26596 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 26597
e8df1d4e 265982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26599
26600 Remove nested functions in efiemu core
26601
26602 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 26603
cc6c3ac1 266042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26605
26606 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
26607
26608 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
26609 temporary storage
473d1e45 26610 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
26611 using Apple's CC
cc6c3ac1 26612 (grub_cpu_is_tsc_supported): likewise
26613 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 26614
3e325901 266152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26616
26617 Absolute addressing through constant with Apple's cc
26618
26619 * kern/i386/pc/startup.S: Define necessary constants
26620 and address through it when using ABS with Apple's CC
26621 * boot/i386/pc/diskboot.S: likewise
26622 * boot/i386/pc/boot.S: likewise
26623 * boot/i386/pc/lnxboot.S: likewise
26624 * boot/i386/pc/cdboot.S: likewise
26625 * mmap/i386/pc/mmap_helper.S: likewise
26626 * commands/i386/pc/drivemap_int13h.S: likewise
26627
2b167a72 266282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26629
26630 Check if compiler is apple cc
26631
26632 * Makefile.in (ASFLAGS): new variable
26633 (TARGET_ASFLAGS): likewise
26634 (TARGET_MODULE_FORMAT): likewise
26635 (TARGET_APPLE_CC): likewise
26636 (OBJCONV): likewise
26637 (TARGET_IMG_CFLAGS): likewise
26638 (TARGET_CPPFLAGS): add includedir
26639 * configure.ac: call grub_apple_cc and grub_apple_target_cc
26640 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
26641 Check for linker script only if compiler isn't Apple's CC
26642 (TARGET_MODULE_FORMAT): set
26643 (TARGET_APPLE_CC): likewise
26644 (TARGET_ASFLAGS): likewise
26645 (ASFLAGS): likewise
26646 Check for objcopy only if compiler isn't Apple's CC
26647 Check for BSS symbol only if compiler isn't Apple's CC
26648 * genmk.rb: adapt nm options if we use Apple's utils
26649 * aclocal.m4 (grub_apple_cc): new test
26650 (grub_apple_target_cc): likewise
473d1e45 26651
fb14123e 266522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26653
26654 Simplify sed expressions and improve awk
26655
26656 * Makefile.in (install-local): simplify sed expression
26657 * gencmdlist.sh: likewise
26658 * genmoddep.awk: avoid adding module as a dependency of itself
26659
5b889789 266602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26661
26662 Add missing start symbols
26663
26664 * boot/i386/pc/boot.S: add start
fb14123e 26665 * boot/i386/pc/pxeboot.S: likewise
473d1e45 26666
fd2bf2e3 266672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26668
26669 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 26670
26671 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 26672 (relocate_addresses): consider both r_addend and value at offset
26673 (make_mods_section): zerofill modinfo and header
26674 (convert_elf): write prefix here
473d1e45 26675
5389763d 266762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26677
26678 Use .asciz instead of .string
26679
26680 * i386/pc/diskboot.S: use .asciz instead of .string
26681 * i386/pc/boot.S: likewise
26682 * include/grub/dl.h (GRUB_MOD_DEP): likewise
26683 (GRUB_MOD_NAME): likewise
473d1e45 26684
3eb5ed4e 266852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26686
26687 gfxpayload support
26688
26689 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
26690 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
26691 (grub_video_setup): remove
26692 (grub_video_set_mode): new prototype
26693 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
26694 (vid_mode): remove
26695 (linux_vesafb_res): compile only on PCBIOS
26696 (grub_linux_boot): support gfxpayload
26697 * loader/i386/pc/xnu.c (video_hook): new function
26698 (grub_xnu_set_video): support gfxpayload
26699 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
26700 (DEFAULT_VIDEO_HEIGHT): likewise
26701 (DEFAULT_VIDEO_FLAGS): likewise
26702 (DEFAULT_VIDEO_MODE): new definition
26703 (video_hook): new function
26704 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 26705 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 26706 loading xnu
26707 * video/video.c (grub_video_setup): removed
473d1e45 26708 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 26709 grub_video_setup
26710
4b0e1143 267112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26712
26713 Avoid calling biosdisk in drivemap
26714
26715 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
26716 (revparse_biosdisk): likewise
26717 (list_mappings): derive name from id directly
26718 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 26719
fda6cb98 267202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26721
26722 Script fixes
26723
26724 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
26725 (grub_lexer_param): add tokenonhold
26726 (grub_script_create_cmdline): remove cmdline. All callers updated
26727 (grub_script_function_create): make functionname
26728 grub_script_arg. All callers updated
26729 (grub_script_execute_argument_to_string): new prototype
26730 * kern/parser.c (state_transitions): reorder
26731 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 26732 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 26733 make global
26734 (grub_script_execute_cmdline): use new format
26735 * script/sh/function.c (grub_script_function_create): make functionname
26736 grub_script_arg. All callers updated
473d1e45 26737 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 26738 (grub_script_yylex): remove
26739 (grub_script_yylex2): renamed to ...
26740 (grub_script_yylex): ...renamed
26741 parse the expressions like a${b}c
26742 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
26743 (GRUB_PARSER_TOKEN_VAR): remove
26744 (GRUB_PARSER_TOKEN_NAME): likewise
26745 ("if"): declare as typeless
26746 ("while"): likewise
26747 ("function"): likewise
26748 ("else"): likewise
26749 ("then"): likewise
26750 ("fi"): likewise
26751 (text): remove
26752 (argument): likewise
26753 (script): accept empty scripts and make exit on error
26754 (arguments): use GRUB_PARSER_TOKEN_ARG
26755 (function): likewise
26756 (command): move error handling to script
26757 (menuentry): move grub_script_lexer_ref before
473d1e45 26758 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 26759 argument. All callers updated
26760
f4448a07 267612009-06-04 Robert Millan <rmh.grub@aybabtu.com>
26762
26763 Prevent GRUB from probing floppies during boot.
26764
26765 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
26766 * commands/search.c (options): Add --no-floppy.
26767 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
26768 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
26769 --no-floppy when searching for UUIDs.
26770
2bf5885a 267712009-06-04 Robert Millan <rmh.grub@aybabtu.com>
26772
26773 Simplify the code duplication in commands/search.c.
26774
26775 * commands/search.c (search_label, search_fs_uuid): Merge into ...
26776 (search_fs): ... this. Update all users.
26777
f6fd460a 267782009-06-03 Felix Zielcke <fzielcke@z-51.de>
26779
26780 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
26781
cbb3c83e 267822009-05-28 Pavel Roskin <proski@gnu.org>
26783
57788cfd 26784 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
26785 Remove the original symlink explicitly.
26786
cbb3c83e 26787 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
26788 just one slash. That's how grub_fshelp_find_file() does it.
26789
cd0d5e30 267902009-05-26 Pavel Roskin <proski@gnu.org>
26791
f0f8bbe2 26792 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
26793 to `str'.
26794
cd0d5e30 26795 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
26796 possibly unused.
26797
8c2cab51 267982009-05-25 Christian Franke <franke@computer.org>
26799
26800 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
26801 register.
26802 (grub_atapi_identify): Add wait after drive select.
26803 (grub_ata_identify): Do more strict status register check before
26804 calling grub_atapi_identify (). Suppress error message if status
26805 register is 0x00 after command failure. Add status register
26806 check after PIO read to avoid bogus identify due to stuck DRQ.
26807 Thanks to Pavel Roskin for testing.
26808 (grub_device_initialize): Remove unsafe status register check.
26809 Thanks to 'phcoder' for problem report and patch.
26810 Prevent sign extension in debug message.
26811
230c0ad6 268122009-05-23 Colin D Bennett <colin@gibibit.com>
26813
26814 Cleaned up `include/grub/normal.h'. Grouped prototypes by
26815 definition file, and functions defined in `normal/menu.c' have had
26816 their prototypes moved to `include/grub/menu.h' for consistency.
26817
26818 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
26819 from normal.h.
26820 (grub_menu_get_entry): Likewise.
26821 (grub_menu_get_timeout): Likewise.
26822 (grub_menu_set_timeout): Likewise.
26823 (grub_menu_execute_entry): Likewise.
26824 (grub_menu_execute_with_fallback): Likewise.
26825 (grub_menu_entry_run): Likewise.
26826
26827 * include/grub/normal.h: Re-ordered and grouped function
26828 prototypes by file that the function is defined in.
26829 (grub_menu_execute_callback): Removed; moved to menu.h.
26830 (grub_menu_get_entry): Likewise.
26831 (grub_menu_get_timeout): Likewise.
26832 (grub_menu_set_timeout): Likewise.
26833 (grub_menu_execute_entry): Likewise.
26834 (grub_menu_execute_with_fallback): Likewise.
26835 (grub_menu_entry_run): Likewise.
26836 (grub_menu_addentry): Renamed from this ...
26837 (grub_normal_add_menu_entry): ... to this.
26838
26839 * normal/main.c (grub_menu_addentry): Renamed from this ...
26840 (grub_normal_add_menu_entry): ... to this.
26841
26842 * script/sh/execute.c (grub_script_execute_menuentry): Update
26843 reference to renamed grub_menu_addentry function.
26844
861f03a5 268452009-05-23 Felix Zielcke <fzielcke@z-51.de>
26846
26847 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
26848
96b1619a 268492009-05-22 Pavel Roskin <proski@gnu.org>
26850
bf6a5fb2 26851 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
26852 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
26853 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
26854 compiling for the i386 targets, but not for the utilities.
26855
96b1619a 26856 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
26857 to grub_uint8_t.
26858 (grub_root_drive): Likewise.
26859 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
26860 remove alignment.
26861 (grub_root_drive): Change size to byte.
26862 (grub_start_addr): Remove.
26863 (grub_end_addr): Likewise.
26864 (grub_apm_bios_info): Likewise.
26865
b729776b 268662009-05-21 Felix Zielcke <fzielcke@z-51.de>
26867
26868 * normal/i386: Remove.
26869 * normal/powerpc: Likewise.
26870 * normal/sparc64: Likewise.
26871 * normal/x86_64: Likewise.
26872
0a15ce80 268732009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
26874
26875 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 26876 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 26877 * loader/i386/xnu_helper.S: Likewise
d6da58e6 26878
33db9015 268792009-05-18 Colin D Bennett <colin@gibibit.com>
26880
d6da58e6 26881 Display error messages when parsing a Lua statement fails.
26882 Previously, executing a syntactically invalid statement like
26883 ")foo" or "bar;" would silently fail.
33db9015 26884
26885 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 26886 (grub_lua_parse_line): Improved reporting of Lua parser and
26887 execution errors.
33db9015 26888
46422c89 268892009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26890
26891 Remove -Werror which causes build to fail on some systems
26892
26893 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
26894 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
26895 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 26896
22f53a96 268972009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26898
26899 trampoline for linux on 64-bit platform
26900
18f547ad 26901 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
26902 loader/i386/efi/linux_trampoline.S
26903 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 26904 declaration
d6da58e6 26905 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
26906 here
22f53a96 26907 * loader/i386/linux_trampoline.S: moved here
d6da58e6 26908 * loader/i386/efi/linux.c (allocate_pages): reserve space for
26909 trampoline
22f53a96 26910 (jumpvector): removed
26911 (grub_linux_trampoline_start): new declaration
26912 (grub_linux_trampoline_end): likewise
26913 (grub_linux_boot): use trampoline when on 64-bit platform
26914 * loader/i386/linux.c: likewise
26915
cb5a0f40 269162009-05-16 Pavel Roskin <proski@gnu.org>
26917
26918 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
26919 const to avoid a warning.
26920 (grub_lua_setenv): Likewise.
26921 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
26922 lmsg to fix a warning.
26923
334f2c28 269242009-05-16 Felix Zielcke <fzielcke@z-51.de>
26925
26926 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 26927 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
26928 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
26929 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
26930 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
26931 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
26932 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
26933 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 26934
59e5d3ec 269352009-05-16 Felix Zielcke <fzielcke@z-51.de>
26936
26937 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
26938
9d87a1ba 269392009-05-16 Bean <bean123ch@gmail.com>
26940
26941 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
26942 (lua_mod_SOURCES): New variable.
26943 (lua_mod_CFLAGS): Likewise.
26944 (lua_mod_LDFLAGS): Likewise.
26945
26946 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
26947 (setjmp_mod_SOURCES): New variable.
26948 (setjmp_mod_CFLAGS): Likewise.
26949 (setjmp_LDFLAGS): Likewise.
26950
26951 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
26952 (setjmp_mod_SOURCES): New variable.
26953 (setjmp_mod_CFLAGS): Likewise.
26954 (setjmp_LDFLAGS): Likewise.
26955
26956 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
26957 (setjmp_mod_SOURCES): New variable.
26958 (setjmp_mod_CFLAGS): Likewise.
26959 (setjmp_LDFLAGS): Likewise.
26960
26961 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
26962 (setjmp_mod_SOURCES): New variable.
26963 (setjmp_mod_CFLAGS): Likewise.
26964 (setjmp_LDFLAGS): Likewise.
26965
26966 * normal/i386/setjmp.S: Moved from here ...
26967 * lib/i386/setjmp.S: ... Moved here
26968 * normal/x86_64/setjmp.S: Moved from here ...
26969 * lib/x86_64/setjmp.S: ... Moved here
26970 * normal/powerpc/setjmp.S: Moved from here ...
26971 * lib/powerpc/setjmp.S: ... Moved here
26972 * normal/sparc64/setjmp.S: Moved from here ...
26973 * lib/sparc64/setjmp.S: ... Moved here
26974
26975 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
26976 returns_twice in mingw.
26977
26978 * script/lua/grub_lib.c: New file.
26979 * script/lua/grub_lib.h: Likewise.
26980 * script/lua/grub_lua.h: Likewise.
26981 * script/lua/grub_main.c: Likewise.
26982 * script/lua/lapi.c: Likewise.
26983 * script/lua/lapi.h: Likewise.
26984 * script/lua/lauxlib.c: Likewise.
26985 * script/lua/lauxlib.h: Likewise.
26986 * script/lua/lbaselib.c: Likewise.
26987 * script/lua/lcode.c: Likewise.
26988 * script/lua/lcode.h: Likewise.
26989 * script/lua/ldblib.c: Likewise.
26990 * script/lua/ldebug.c: Likewise.
26991 * script/lua/ldebug.h: Likewise.
26992 * script/lua/ldo.c: Likewise.
26993 * script/lua/ldo.h: Likewise.
26994 * script/lua/ldump.c: Likewise.
26995 * script/lua/lfunc.c: Likewise.
26996 * script/lua/lfunc.h: Likewise.
26997 * script/lua/lgc.c: Likewise.
26998 * script/lua/lgc.h: Likewise.
26999 * script/lua/linit.c: Likewise.
27000 * script/lua/liolib.c: Likewise.
27001 * script/lua/llex.c: Likewise.
27002 * script/lua/llex.h: Likewise.
27003 * script/lua/llimits.h: Likewise.
27004 * script/lua/lmathlib.c: Likewise.
27005 * script/lua/lmem.c: Likewise.
27006 * script/lua/lmem.h: Likewise.
27007 * script/lua/loadlib.c: Likewise.
27008 * script/lua/lobject.c: Likewise.
27009 * script/lua/lobject.h: Likewise.
27010 * script/lua/lopcodes.c: Likewise.
27011 * script/lua/lopcodes.h: Likewise.
27012 * script/lua/loslib.c: Likewise.
27013 * script/lua/lparser.c: Likewise.
27014 * script/lua/lparser.h: Likewise.
27015 * script/lua/lstate.c: Likewise.
27016 * script/lua/lstate.h: Likewise.
27017 * script/lua/lstring.c: Likewise.
27018 * script/lua/lstring.h: Likewise.
27019 * script/lua/lstrlib.c: Likewise.
27020 * script/lua/ltable.c: Likewise.
27021 * script/lua/ltable.h: Likewise.
27022 * script/lua/ltablib.c: Likewise.
27023 * script/lua/ltm.c: Likewise.
27024 * script/lua/ltm.h: Likewise.
27025 * script/lua/lua.h: Likewise.
27026 * script/lua/luaconf.h: Likewise.
27027 * script/lua/lualib.h: Likewise.
27028 * script/lua/lundump.c: Likewise.
27029 * script/lua/lundump.h: Likewise.
27030 * script/lua/lvm.c: Likewise.
27031 * script/lua/lvm.h: Likewise.
27032 * script/lua/lzio.c: Likewise.
27033 * script/lua/lzio.h: Likewise.
27034
5e898c9d 270352009-05-16 Bean <bean123ch@gmail.com>
27036
27037 * include/grub/kernel.h (grub_module_header_types): Add type
27038 OBJ_TYPE_CONFIG.
27039
27040 * kern/main.c (grub_load_config): New function.
27041 (grub_main): Call grub_load_config to read boot config.
27042
27043 * grub-mkimage (generate_image): New parameter config_path.
27044 (options): New option --config.
27045 (main): Parse --config option, and pass it to generate_image.
27046
cf353a47 270472009-05-14 Christian Franke <franke@computer.org>
27048
27049 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
27050 This fixes build on Cygwin.
27051
3834887f 270522009-05-14 Pavel Roskin <proski@gnu.org>
27053
27054 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
27055 jump. This saves two bytes, so the typical case of 2 swapped
27056 drives would fit 32 bytes.
27057
8090fc01 270582009-05-13 Pavel Roskin <proski@gnu.org>
27059
ac963883 27060 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
27061 grub_uint32_t to avoid a warning.
27062
8090fc01 27063 * loader/i386/linux.c (allocate_pages): When assigning
27064 real_mode_mem, cast through grub_size_t to fix a warning. The
27065 code already makes sure that the value would fit a pointer.
27066 (grub_linux_setup_video): Cast render_target->data to
27067 grub_size_t to fix a warning.
27068
18f547ad 270692009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 27070
27071 * commands/i386/pc/drivemap.c: New file - implement drivemap
27072 command.
27073 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
27074 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
27075
6f6a8b28 270762009-05-13 Pavel Roskin <proski@gnu.org>
27077
27078 * util/i386/pc/grub-setup.c (setup): Remove unused variable
27079 embedding_area_exists.
27080
15fbf4c4 270812009-05-13 Robert Millan <rmh.grub@aybabtu.com>
27082
27083 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
27084 it easier to understand / work with.
59978c8a 27085 Improve warning messages for cases where there's no embedding area,
27086 or when it is too small (or core.img too large).
15fbf4c4 27087
238e871f 270882009-05-13 Pavel Roskin <proski@gnu.org>
27089
0ab3a9a4 27090 * loader/i386/pc/multiboot2.c: Add necessary includes for
27091 grub_multiboot2_real_boot().
27092
a2c8c5f8 27093 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
27094 PX record is always little-endian. We only need the lower 2
27095 bytes of the mode.
27096
faec96af 27097 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
27098 facilitate code reuse.
27099 (grub_cpio_mount): Use "struct head", not a char buffer. This
27100 fixes a warning reported by gcc 4.4.
27101
238e871f 27102 * kernel/disk.c (grub_disk_read): Use void pointer for the
27103 buffer.
27104 (grub_disk_write): Use const void pointer for the buffer.
27105 Adjust all callers. Remove unnecessary casts.
27106
901d2f0c 271072009-05-10 Robert Millan <rmh.grub@aybabtu.com>
27108
27109 * util/i386/pc/grub-install.in: Update copyright year.
27110
18f547ad 271112009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 27112
27113 gptsync
27114
27115 * commands/gptsync.c: new file
27116 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
27117 (gptsync_mod_SOURCES): new variable
27118 (gptsync_mod_CFLAGS): likewise
27119 (gptsync_mod_LDFLAGS): likewise
18f547ad 27120 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 27121 new definition
27122 (GRUB_PC_PARTITION_TYPE_HFS): likewise
27123 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
27124 * conf/i386-ieee1275.rmk: likewise
27125 * conf/i386-pc.rmk: likewise
27126 * conf/powerpc-ieee1275.rmk: likewise
27127
b4ba690a 271282009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
27129
27130 Fixed grub-emu
27131
27132 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
27133 (grub_dl_ref): likewise
27134
317e1a44 271352009-05-08 Robert Millan <rmh.grub@aybabtu.com>
27136
27137 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
27138 split in two functions (one for msdos and one for gpt).
27139
041b8094 271402009-05-08 Pavel Roskin <proski@gnu.org>
27141
752473c2 27142 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
27143 not modified.
27144
041b8094 27145 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
27146 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
27147 Initialize them with -1. Add sanity check for bad1. Eliminate
27148 nerr variable.
27149
172800ce 271502009-05-08 David S. Miller <davem@davemloft.net>
27151
27152 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
27153
29aa5e81 271542009-05-06 Robert Millan <rmh.grub@aybabtu.com>
27155
27156 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 27157 existence.
29aa5e81 27158
96613b62 271592009-05-05 Felix Zielcke <fzielcke@z-51.de>
27160
27161 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 27162 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 27163
eef73c8a 271642009-05-05 David S. Miller <davem@davemloft.net>
27165
27166 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
27167
119494b5 271682009-05-05 Pavel Roskin <proski@gnu.org>
27169
27170 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
27171 of grub_dl_ref() and grub_dl_unref().
27172 * commands/parttool.c: Remove preprocessor conditionals around
27173 grub_dl_ref() and grub_dl_unref().
27174 * fs/affs.c: Likewise.
27175 * fs/afs.c: Likewise.
27176 * fs/cpio.c: Likewise.
27177 * fs/ext2.c: Likewise.
27178 * fs/fat.c: Likewise.
27179 * fs/hfs.c: Likewise.
27180 * fs/hfsplus.c: Likewise.
27181 * fs/iso9660.c: Likewise.
27182 * fs/jfs.c: Likewise.
27183 * fs/minix.c: Likewise.
27184 * fs/ntfs.c: Likewise.
27185 * fs/reiserfs.c: Likewise.
27186 * fs/sfs.c: Likewise.
27187 * fs/udf.c: Likewise.
27188 * fs/ufs.c: Likewise.
27189 * fs/xfs.c: Likewise.
27190 * include/grub/dl.h: Likewise.
27191 * loader/xnu.c: Likewise.
27192
de5fd76e 271932009-05-04 Pavel Roskin <proski@gnu.org>
27194
27195 * commands/acpi.c: Remove unused variable my_mod.
27196 * partmap/amiga.c: Likewise.
27197 * partmap/apple.c: Likewise.
27198 * partmap/gpt.c: Likewise.
27199 * partmap/pc.c: Likewise.
27200 * partmap/sun.c: Likewise.
27201 * term/gfxterm.c: Likewise.
27202 * term/i386/pc/vesafb.c: Likewise.
27203 * term/i386/pc/vga.c: Likewise.
27204
983598ad 272052009-05-04 David S. Miller <davem@davemloft.net>
27206
27207 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
27208 pointer args to grub_ieee1275_get_property().
27209
8aadec43 27210 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
27211
9554b15e 27212 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
27213 devices, and do not traverse down under controller nodes.
27214
67e23c90 27215 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
27216 (grub_ofdisk_open): Use it to un-escape "," characters.
27217 * kern/disk.c (find_part_sep): New.
27218 (grub_disk_open): Use it to find the first non-escaped ','
27219 character in the disk name.
27220 * util/ieee1275/devicemap.c (escape_of_path): New.
27221 (grub_util_emit_devicemap_entry): Use it.
27222 * util/sparc64/ieee1275/grub-install.in: Update script to
27223 strip partition specifiers properly by not triggering on
27224 '\' escaped ',' characters.
27225
74bfdd2f 272262009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27227
27228 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
27229 to 0x300.
27230 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
27231 resolutions.
27232 (linux_vesafb_modes): Add a lot of additional modes to the list (based
27233 on documentation from Wikipedia).
27234
4241d2b1 272352009-05-04 Pavel Roskin <proski@gnu.org>
27236
27237 * disk/ata.c: Spelling fixes.
27238 * disk/raid.c: Likewise.
27239 * disk/usbms.c: Likewise.
27240 * disk/dmraid_nvidia.c: Likewise.
27241 * kern/ieee1275/openfw.c: Likewise.
27242 * kern/ieee1275/init.c: Likewise.
27243 * kern/ieee1275/cmain.c: Likewise.
27244 * boot/i386/pc/cdboot.S: Likewise.
27245 * video/readers/png.c: Likewise.
27246 * video/i386/pc/vbe.c: Likewise.
27247 * fs/udf.c: Likewise.
27248 * fs/hfs.c: Likewise.
27249 * fs/reiserfs.c: Likewise.
27250 * efiemu/runtime/efiemu.c: Likewise.
27251 * efiemu/main.c: Likewise.
27252 * efiemu/mm.c: Likewise.
27253 * include/grub/elf.h: Likewise.
27254 * include/grub/xnu.h: Likewise.
27255 * include/grub/usbdesc.h: Likewise.
27256 * include/grub/usb.h: Likewise.
27257 * include/grub/script_sh.h: Likewise.
27258 * include/grub/lib/LzmaEnc.h: Likewise.
27259 * include/grub/efiemu/efiemu.h: Likewise.
27260 * include/grub/command.h: Likewise.
27261 * normal/menu.c: Likewise.
27262 * normal/main.c: Likewise.
27263 * normal/datetime.c: Likewise.
27264 * bus/usb/uhci.c: Likewise.
27265 * mmap/i386/uppermem.c: Likewise.
27266 * mmap/mmap.c: Likewise.
27267 * commands/acpi.c: Likewise.
27268 * commands/test.c: Likewise.
27269 * partmap/apple.c: Likewise.
27270 * font/font.c: Likewise.
27271 * loader/sparc64/ieee1275/linux.c: Likewise.
27272 * loader/macho.c: Likewise.
27273 * loader/i386/bsd_trampoline.S: Likewise.
27274 * loader/i386/bsd.c: Likewise.
27275 * loader/xnu.c: Likewise.
27276 * term/i386/pc/vesafb.c: Likewise.
27277 * term/usb_keyboard.c: Likewise.
27278 * util/resolve.c: Likewise.
27279 * util/getroot.c: Likewise.
27280
0cfc0083 272812009-05-04 Felix Zielcke <fzielcke@z-51.de>
27282
27283 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
27284
7c1d00cd 272852009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27286
27287 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
27288 build error.
27289
b01f0548 272902009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27291
27292 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
27293 parameter only available on BIOS.
27294
ecc3eb22 272952009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27296
27297 Removed wrong semicolon in declaration
27298
27299 * grub/misc.h (grub_dprintf): remove semicolon
27300
112972a9 273012009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27302
27303 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
27304 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
27305 is done by grub_cmd_linux() now).
27306 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
27307 restore video to text mode.
27308 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
27309 indicates lack of "vga=" parameter. "vga=0" is mapped to
27310 `GRUB_LINUX_VID_MODE_NORMAL'.
27311
afd5c115 273122009-05-04 Felix Zielcke <fzielcke@z-51.de>
27313
27314 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
27315 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
27316 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 27317 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 27318 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
27319 `grub_script.tab.c'.
27320
27321 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27322 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27323 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27324 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27325 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27326
faa517ce 27327 * Makefile.in: Remove duplicated 2008 in Copyright line.
27328
ae0c0bdc 273292009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27330
473d1e45 27331 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 27332 unconditionally.
27333 * include/grub/util/misc.h (grub_util_warn): New declaration.
27334
27335 * util/i386/pc/grub-install.in: Understand --force and pass it down
27336 to grub-setup.
27337
27338 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
27339 down to setup().
27340 (setup): Improve error messages and add warnings when requested to
27341 install in odd layouts. Refuse to install using blocklists unless
27342 --force was set.
27343
18f547ad 273442009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 27345
27346 * disk/raid.c (grub_raid_scan_device): Improve debug message.
27347
6d260daa 273482009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27349
27350 Updated copyright year
27351
27352 * fs/hfsplus.c: updated copyright year
18f547ad 27353
69f853f8 273542009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27355
27356 HFS+ UUID
27357
18f547ad 27358 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 27359 in the space previously used by unused3
27360 (grub_hfsplus_uuid): new function
27361 (grub_hfsplus_fs): added uuid field
27362
4c402e73 273632009-05-03 Pavel Roskin <proski@gnu.org>
27364
27365 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
27366 suppress warnings. It's no longer needed.
27367 * disk/host.c: Likewise.
27368 * disk/ata_pthru.c: Likewise.
27369 * disk/loopback.c: Likewise.
27370 * hook/datehook.c: Likewise.
27371 * parttool/pcpart.c: Likewise.
27372 * fs/i386/pc/pxe.c: Likewise.
27373 * fs/ntfscomp.c: Likewise.
27374 * efiemu/main.c: Likewise.
27375 * mmap/mmap.c: Likewise.
27376 * commands/crc.c: Likewise.
27377 * commands/hexdump.c: Likewise.
27378 * commands/hdparm.c: Likewise.
27379 * commands/acpi.c: Likewise.
27380 * commands/echo.c: Likewise.
27381 * commands/minicmd.c: Likewise.
27382 * commands/blocklist.c: Likewise.
27383 * commands/memrw.c: Likewise.
27384 * commands/loadenv.c: Likewise.
27385 * commands/usbtest.c: Likewise.
27386 * commands/lsmmap.c: Likewise.
27387 * commands/boot.c: Likewise.
27388 * commands/parttool.c: Likewise.
27389 * commands/configfile.c: Likewise.
27390 * commands/search.c: Likewise.
27391 * commands/ieee1275/suspend.c: Likewise.
27392 * commands/cat.c: Likewise.
27393 * commands/i386/pc/pxecmd.c: Likewise.
27394 * commands/i386/pc/play.c: Likewise.
27395 * commands/i386/pc/halt.c: Likewise.
27396 * commands/i386/pc/vbeinfo.c: Likewise.
27397 * commands/i386/pc/vbetest.c: Likewise.
27398 * commands/lspci.c: Likewise.
27399 * commands/date.c: Likewise.
27400 * commands/handler.c: Likewise.
27401 * commands/ls.c: Likewise.
27402 * commands/test.c: Likewise.
27403 * commands/cmp.c: Likewise.
27404 * commands/efi/loadbios.c: Likewise.
27405 * commands/efi/fixvideo.c: Likewise.
27406 * commands/halt.c: Likewise.
27407 * commands/help.c: Likewise.
27408 * commands/reboot.c: Likewise.
27409 * hello/hello.c: Likewise.
27410 * script/sh/main.c: Likewise.
27411 * loader/xnu.c: Likewise.
27412 * term/terminfo.c: Likewise.
27413 * term/i386/pc/serial.c: Likewise.
27414 * term/usb_keyboard.c: Likewise.
27415
515b5079 274162009-05-03 David S. Miller <davem@davemloft.net>
27417
27418 * normal/menu.c: Include grub/parser.h
27419
dfc31a22 274202009-05-03 Pavel Roskin <proski@gnu.org>
27421
2fee74f1 27422 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
27423 not char*.
27424 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
27425 Suggested by Javier Martín <lordhabbit@gmail.com>
27426
dfc31a22 27427 * util/i386/pc/grub-mkrescue.in: Allow for the case when
27428 efiemu??.o doesn't exist.
27429 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
27430 copying.
27431
18f547ad 274322009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 27433
27434 FreeBSD 64-bit support
27435
18f547ad 27436 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 27437 and loader/i386/bsd_trampoline.S
27438 (bsd_mod_ASFLAGS): new variable
27439 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
27440 (FREEBSD_MODTYPE_KERNEL64): likewise
27441 (grub_bsd64_trampoline_start): likewise
27442 (grub_bsd64_trampoline_end): likewise
27443 (grub_bsd64_trampoline_selfjump): likewise
27444 (grub_bsd64_trampoline_gdt): likewise
27445 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
27446 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
27447 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
27448 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 27449 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 27450 of "attrib" member
27451 * loader/i386/bsd_pagetable.c: new file
27452 * loader/i386/bsd_trampoline.S: likewise
27453 * loader/i386/bsd.c (ALIGN_QWORD): new macro
27454 (ALIGN_VAR): likewise
27455 (entry_hi): new variable
27456 (kern_end_mdofs): likewise
27457 (is_64bit): likewise
27458 (grub_freebsd_add_meta): use ALIGN_VAR
27459 (grub_e820_mmap): new declaration
27460 (grub_freebsd_add_mmap): new function
27461 (grub_freebsd_add_meta_module): support 64 bit kernels
27462 (grub_freebsd_list_modules): use ALIGN_VAR
27463 (gdt_descriptor): new declaration
27464 (grub_freebsd_boot): support 64 bit kernels
27465 (grub_bsd_elf64_hook): new function
27466 (grub_bsd_load_elf): support elf64
27467
038c5720 274682009-05-03 Bean <bean123ch@gmail.com>
27469
27470 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
27471 after we get the result of if statement.
27472
fc45fb58 274732009-05-03 Bean <bean123ch@gmail.com>
27474
27475 * Makefile.in (enable_efiemu): New variable.
27476
27477 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
27478 set.
27479 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
27480 path.
27481 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
27482 path, add -mno-red-zone option.
27483 (efiemu64_s.o): Likewise.
27484 (efiemu64.o): Use macro $^ for source file.
27485
27486 * configure.ac (--enable-efiemu): New option.
27487
bbee0f2b 274882009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
27489
27490 xnu support
27491
27492 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
27493 (pkglib_MODULES): add xnu.mod
27494 (xnu_mod_SOURCES): new variable
27495 (xnu_mod_CFLAGS): likewise
27496 (xnu_mod_LDFLAGS): likewise
27497 (xnu_mod_ASFLAGS): likewise
27498 * conf/i386-pc.rmk: likewise
27499 * conf/x86_64-efi.rmk: likewise
7dd4a573 27500 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 27501 new declaration
27502 * include/grub/i386/macho.h: new file
27503 * include/grub/i386/xnu.h: likewise
27504 * include/grub/macho.h: likewise
27505 * include/grub/machoload.h: likewise
27506 * include/grub/x86_64/macho.h: likewise
27507 * include/grub/x86_64/xnu.h: likewise
27508 * include/grub/xnu.h: likewise
27509 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
27510 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
27511 * loader/i386/efi/xnu.c: new file
27512 * loader/i386/pc/xnu.c: likewise
27513 * loader/i386/xnu.c: likewise
27514 * loader/i386/xnu_helper.S: likewise
27515 * loader/macho.c: likewise
27516 * loader/xnu.c: likewise
27517 * loader/xnu_resume.c: likewise
27518 * util/grub-dumpdevtree: likewise
27519 * include/grub/i386/pit.h: include grub/err.h
27520 (grub_pit_wait): export
27521 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 27522
5caf964d 275232009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
27524
27525 Efiemu
7dd4a573 27526
5caf964d 27527 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 27528 _linux_efi, linux_efi.
27529 new files in grub-emu
5caf964d 27530 new targets efiemu32.o and efiemu64.o
27531 * loader/linux_normal_efiemu.c: likewise
27532 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 27533 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 27534 files to copy
27535 * include/grub/autoefi.h: new file
7dd4a573 27536 * include/grub/i386/efiemu.h: likewise
5caf964d 27537 * include/grub/i386/pc/efiemu.h: likewise
27538 * include/grub/efi/api.h: add LL suffix when necessary
27539 new definitions relating to tables
27540 * include/grub/efiemu/efiemu.h: new file
27541 * include/grub/efiemu/runtime.h: likewise
27542 * efiemu/prepare.c: likewise
27543 * efiemu/loadcore_common.c: likewise
27544 * efiemu/loadcore64.c: likewise
27545 * efiemu/runtime/efiemu.sh: likewise
27546 * efiemu/runtime/efiemu.S: likewise
27547 * efiemu/runtime/efiemu.c: likewise
27548 * efiemu/runtime/config.h: likewise
27549 * efiemu/prepare32.c: likewise
27550 * efiemu/main.c: likewise
27551 * efiemu/modules/pnvram.c: likewise
27552 * efiemu/modules/i386: likewise
27553 * efiemu/modules/i386/pc: likewise
27554 * efiemu/modules/acpi.c: likewise
27555 * efiemu/i386/pc/cfgtables.c: likewise
27556 * efiemu/i386/loadcore64.c: likewise
27557 * efiemu/i386/loadcore32.c: likewise
27558 * efiemu/prepare64.c: likewise
27559 * efiemu/loadcore.c: likewise
27560 * efiemu/symbols.c: likewise
27561 * efiemu/mm.c: likewise
27562 * efiemu/loadcore32.c: likewise
7dd4a573 27563
275642009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 27565
27566 ACPI spoofing
27567
27568 * commands/acpi.c: new file
27569 * commands/i386/pc/acpi.c: likewise
27570 * commands/efi/acpi.c: likewise
27571 * include/grub/acpi.h: likewise
27572 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
27573 (acpi_mod_SOURCES): new variable
27574 (acpi_mod_CFLAGS): likewise
27575 (acpi_mod_LDFLAGS): likewise
27576 * conf/i386-efi.rmk: likewise
27577 * conf/x86_64-efi.rmk: likewise
27578
7dd4a573 275792009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 27580
27581 Missing part from mmap patch
27582
27583 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
27584 (grub_mmap_unregister)
27585 (grub_mmap_free_and_unregister): use grub_mmap_register
27586
7dd4a573 275872009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 27588
27589 Mmap services
27590
27591 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
27592 * loader/i386/linux.c (find_mmap_size): likewise
27593 (allocate_pages): likewise
27594 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
27595 (grub_fill_multiboot_mmap): likewise
27596 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
27597 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
27598 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
27599 (OPENBSD_MMAP_RESERVED): likewise
27600 * include/grub/i386/pc/memory.h: include grub/memory.h
27601 (grub_lower_mem): removed
27602 (grub_upper_mem): likewise
27603 (GRUB_MACHINE_MEMORY_ACPI): new definition
27604 (GRUB_MACHINE_MEMORY_NVS): likewise
27605 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
27606 (GRUB_MACHINE_MEMORY_HOLE): likewise
27607 (grub_machine_mmap_register): likewise
27608 (grub_machine_mmap_unregister): likewise
27609 (grub_machine_get_upper): likewise
27610 (grub_machine_get_lower): likewise
27611 (grub_machine_get_post64): likewise
27612 * include/grub/i386/efi/memory.h: new file
27613 * include/grub/x86_64/efi/memory.h: likewise
27614 * include/grub/efi/memory.h: likewise
27615 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
27616 (mmap_mod_SOURCES): new variable
27617 (mmap_mod_LDFLAGS): likewise
27618 (mmap_mod_ASFLAGS): likewise
27619 * conf/i386-coreboot.rmk: likewise
27620 * conf/i386-ieee1275.rmk: likewise
27621 * conf/i386-efi.rmk: likewise
27622 * conf/x86_64-efi.rmk: likewise
27623 * include/grub/types.h (UINT_TO_PTR): new macro
27624 (PTR_TO_UINT32): likewise
27625 (PTR_TO_UINT64): likewise
27626 * include/grub/memory.h: new file
27627 * mmap/i386/pc/mmap.c: likewise
27628 * mmap/i386/pc/mmap_helper.S: likewise
27629 * mmap/i386/uppermem.c: likewise
27630 * mmap/mmap.c: likewise
27631 * mmap/efi/mmap.c: likewise
7dd4a573 27632 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 27633 grub_upper_mem
27634 * kern/i386/pc/init.c (grub_lower_mem): removed variable
27635 (grub_upper_mem): likewise
27636 (grub_machine_init): don't use grub_upper_mem,
27637 make grub_lower_mem local
27638 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
27639 grub_mmap_iterate and grub_mmap_get_upper
27640 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
27641
d558e6b5 276422009-05-02 Bean <bean123ch@gmail.com>
27643
27644 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
27645 script/sh/parser.y.
27646 (pkglib_MODULES): Add normal.mod and sh.mod.
27647 (normal_SOURCES): New variable.
27648 (normal_mod_CFLAGS): Likewise.
27649 (normal_mod_LDFLAGS): Likewise.
27650 (sh_mod_SOURCES): Likewise.
27651 (sh_mod_CFLAGS): Likewise.
27652 (sh_mod_LDFLAGS): Likewise.
27653
27654 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
27655 script/sh/lexer.c_DEPENDENCIES.
27656 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
27657 kern/rescue_reader.c and kern/rescue_parser.c.
27658 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
27659 (grub_emu_SOURCES): Change source files.
27660 (pkglib_MODULES): Remove normal.mod.
27661 (normal_SOURCES): Removed.
27662 (normal_mod_CFLAGS): Likewise.
27663 (normal_mod_LDFLAGS): Likewise.
27664 * conf/i386-coreboot.rmk: Likewise.
27665 * conf/i386-efi.rmk: Likewise.
27666 * conf/i386-ieee1276.rmk: Likewise.
27667 * conf/powerpc-ieee1275.rmk: Likewise.
27668 * conf/sparc64-ieee1275.rmk: Likewise.
27669 * conf/x86_64-efi.rmk: Likewise.
27670
27671 * include/grub/command.h (grub_command_execute): New inline function.
27672
27673 * include/grub/menu.h (grub_menu_entry): Removed commands field.
27674
27675 * include/grub/normal.h: Remove <grub/setjmp.h>.
27676 (grub_fs_module_list): Moved to normal/autofs.c.
27677 (grub_exit_env): Removed.
27678 (grub_command_execute): Likewise.
27679 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
27680 parameter script.
27681 (read_command_list): New function declaration.
27682 (read_fs_list): Likewise.
27683
27684 * include/parser.h: Include <grub/reader.h>.
27685 (grub_parser_split_cmdline): Change type of getline parameter.
27686 (grub_parser): New structure.
27687 (grub_parser_class): New variable.
27688 (grub_parser_execute): New function declaration.
27689 (grub_register_rescue_parser): Likewise.
27690 (grub_parser_register): New inline function.
27691 (grub_parser_unregister): Likewise.
27692 (grub_parser_get_current): Likewise.
27693 (grub_parser_set_current): Likewise.
27694
27695 * include/grub/reader.h: New file.
27696 * kern/reader.c: Likewise.
27697 * kern/rescue_parser.c: Likewise.
27698 * kern/rescue_reader.c: Likewise.
27699 * normal/autofs.c: Likewise.
27700 * normal/dyncmd.c: Likewise.
27701
27702 * include/grub/rescue.h: Removed.
27703 * normal/command.h: Likewise.
27704
27705 * include/grub/script.h: Moved to ...
27706 * include/grub/script_sh.h: ... Moved here.
27707 * normal/execute.c: Moved to ...
27708 * script/sh/execute.c: ... Moved here.
27709 * normal/function.c: Moved to ...
27710 * script/sh/function.c: ... Moved here.
27711 * normal/lexer.c: Moved to ...
27712 * script/sh/lexer.c: ... Moved here.
27713 * normal/parser.y: Moved to ...
27714 * script/sh/parser.y: ... Moved here.
27715 * normal/script.c: Moved to ...
27716 * script/sh/script.c: ... Moved here.
27717
27718 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
27719 <grub/reader.h>.
27720 (grub_exit_env): Removed.
27721 (fs_module_list): Moved to normal/autofs.c.
27722 (grub_file_getline): Don't handle comment here.
27723 (free_menu): Skip removed field entry->commands.
27724 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
27725 script parameter.
27726 (read_config_file): Removed nested parameter, change getline function.
27727 (grub_enter_normal_mode): Removed.
27728 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
27729 (read_command_list): Likewise.
27730 (autoload_fs_module): Moved to normal/autofs.c.
27731 (read_fs_list): Likewise.
27732 (reader_nested): New variable.
27733 (grub_normal_execute): Run parser.sh to switch to sh parser.
27734 (grub_cmd_rescue): Removed.
27735 (cmd_normal): Removed.
27736 (grub_cmd_normal): Unregister itself at the beginning. Don't register
27737 rescue command.
27738 (grub_cmdline_run): New function.
27739 (grub_normal_reader_init): Likewise.
27740 (grub_normal_read_line): Likewise.
27741 (grub_env_write_pager): Likewise.
27742 (cmdline): New variable.
27743 (grub_normal_reader): Likewise.
27744 (GRUB_MOD_INIT): Register normal reader and set as current, register
27745 pager hook, register normal command with grub_register_command_prio,
27746 so that it won't show up in command.lst.
27747 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
27748 grub_fs_autoload_hook.
27749
27750 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
27751 (grub_menu_execute_entry): Replace grub_script_execute with
27752 grub_parser_execute, change parameter to grub_command_execute.
27753
27754 * normal/menu_text.c: Remove <grub/script.h>.
27755
27756 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
27757 and <grub/parser.h>.
27758 (run): Change editor_getline to use new parser interface. Change
27759 parameter to grub_command_execute.
27760
27761 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
27762 <grub/reader.h> and <grub/parser.h>.
27763 (grub_load_normal_mode): Execute normal command.
27764 (grub_main): Call grub_register_core_commands,
27765 grub_register_rescue_parser and grub_register_rescue_reader, use
27766 grub_reader_loop to enter input loop.
27767
7dd4a573 27768 * kern/parser.c (grub_parser_split_cmdline): Change type of
27769 getline parameter.
d558e6b5 27770 (grub_parser_class): New variable.
27771 (grub_parser_execute): New function.
27772
27773 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
27774 * loader/multiboot2.c: Likewise.
27775 * loader/sparc64/ieee1275/linux.c: Likewise.
27776
27777 * util/grub-emu.c (read_command_list): New dummy function.
27778
18db813d 277792009-05-02 Robert Millan <rmh.grub@aybabtu.com>
27780
27781 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
27782 count to 16 for CCISS and IDA.
27783
6c67de15 277842009-05-02 Robert Millan <rmh.grub@aybabtu.com>
27785
27786 * normal/menu_text.c (grub_wait_after_message): Print a newline
27787 after waiting for user input.
27788
27789 * loader/i386/linux.c: Include `<grub/normal.h>'.
27790 (grub_cmd_linux): Improve the error message about `ask' mode, by
27791 waiting for user input so it's not missed (we can do this, since
27792 user requested interaction).
27793
d9dc87b0 277942009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
27795
27796 Added missing lst to grub-mkrescue
27797
27798 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
27799 and ${input_dir}/parttool.lst
27800
ac8a2baa 278012009-04-30 David S. Miller <davem@davemloft.net>
27802
ad22a610 27803 * util/hostdisk.c (device_is_wholedisk): New function.
27804 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
27805 zero only if device_is_wholedisk() returns true.
27806
6966215d 27807 * util/hostdisk.c (convert_system_partition_to_system_disk):
27808 Handle virtual disk devices named /dev/vdiskX as found on sparc
27809 and powerpc.
27810
ac8a2baa 27811 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
27812 lettered partition specifier is found, convert to numbered.
27813
979b4fb4 278142009-04-29 David S. Miller <davem@davemloft.net>
27815
e2bf39b2 27816 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
27817 * include/grub/sparc64/ieee1275/memory.h: Likewise.
27818
3c64e104 27819 * normal/command.c: Add missing newline at end of file.
27820
979b4fb4 27821 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
27822 warnings.
27823 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
27824 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
27825 grub_ofdisk_read): Likewise, and deal similarly with the fact that
27826 ihandles have a 32-bit type but need to be stored in a "void *".
27827
136d9f82 278282009-04-28 Pavel Roskin <proski@gnu.org>
27829
9459c306 27830 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
27831 not disk. Adjust all dependencies.
2e08a26a 27832 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 27833 grub_disk_close().
27834
136d9f82 27835 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
27836 parent's partition, don't copy it by reference, as it gets freed
27837 on close.
27838
7dd4a573 278392009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 27840
27841 Preboot hooks support
27842
27843 * commands/boot.c (struct grub_preboot_t): new declaration
27844 (preboots_head): new variable
27845 (preboots_tail): likewise
27846 (grub_loader_register_preboot_hook): new function
27847 (grub_loader_unregister_preboot_hook): likewise
27848 (grub_loader_set): launch preboot hooks
27849 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
27850 (grub_loader_register_preboot_hook): new declaration
27851 (grub_loader_unregister_preboot_hook): likewise
27852
5af922b5 278532009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
27854
27855 Warning fix
27856
7dd4a573 27857 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 27858 calling grub_dprintf
27859
a5562c30 278602009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
27861
27862 Bug and warning fixes
27863
7dd4a573 27864 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 27865 declaration
27866 * commands/test.c (test_parse): fixed bug with file tests and corrected
27867 declaration of find_file
27868
4006f85c 278692009-04-26 Pavel Roskin <proski@gnu.org>
27870
27871 * Makefile.in: Don't install empty manual pages if help2man is
27872 missing. Use help2man option for output, not shell redirection.
27873
5c77c3de 278742009-04-26 David S. Miller <davem@davemloft.net>
27875
27876 * util/grub-mkdevicemap.c (make_device_map): Add missing
27877 NESTED_FUNC_ATTR to process_device().
27878
033b10a8 278792009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
27880
27881 Test command
27882
27883 * commands/test.c: rewritten to use bash-like test
27884
e4343593 278852009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
27886
27887 Parttool autoloading and improvements
27888
7dd4a573 27889 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 27890 (parttool.lst): new target
27891 * genmk.rb: generate parttool-*
27892 (CLEANFILES): add #{parttool}
27893 (PARTTOOLFILES): new variable
27894 * genparttoollist.sh: new file
7dd4a573 27895 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 27896 (grub_pcpart_type): likewise
27897 * commands/parttool.c (helpmsg): new variable
27898 (grub_cmd_parttool): output help if not enough arguments are supplied
27899 autoload modules
27900 (GRUB_MOD_INIT(parttool)): use helpmsg
27901
0d312500 279022009-04-24 David S. Miller <davem@davemloft.net>
27903
7dd4a573 27904 Avoiding opening same device multiple times in device iterator.
0d312500 27905
27906 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 27907 and use it to build a list of partitions in iterate_disk() and
0d312500 27908 iterate_partition().
27909
ac20caff 27910 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
27911 on disk->data.
27912
0dcf7495 27913 * disk/ieee1275/nand.c (grub_nand_iterate): Return
27914 grub_devalias_iterate() result instead of unconditional 0.
27915 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
27916 Also, capture hook return value, either directly or via
27917 grub_children_iterate(), and propagate to caller.
27918 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
27919 grub_children_iterate): Return value is now 'int' instead of
27920 'grub_err_t'.
27921 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
27922 like a proper iterator, stopping when hooks return non-zero.
27923 (grub_devalias_iterate): Likewise.
27924
c8c08833 279252009-04-23 David S. Miller <davem@davemloft.net>
27926
27927 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
27928
f01005a8 279292009-04-22 David S. Miller <davem@davemloft.net>
27930
27931 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
27932 is larger than address_cells, use that value for address_cells too.
27933
4e8269da 27934 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
27935 IEEE1275_MAX_PATH_LEN): Define.
27936 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
27937 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
27938 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
27939 'devtype'. Explicitly NULL terminate devalias expansion.
27940
a1447506 27941 * util/sparc64/ieee1275/misc.c: New file.
27942 * util/sparc64/ieee1275/grub-setup.c: New file.
27943 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
27944 * util/sparc64/ieee1275/grub-mkimage.c: New file.
27945 * util/sparc64/ieee1275/grub-install.in: New file.
27946 * util/ieee1275/ofpath.c: New file.
27947 * util/ieee1275/devicemap.c: New file.
27948 * util/devicemap.c: New file.
27949 * util/deviceiter.c: New file.
27950 * kern/sparc64/ieee1275/init.c: New file.
27951 * include/grub/util/ofpath.h: New file.
27952 * include/grub/util/deviceiter.h: New file.
27953 * util/grub-mkdevicemap.c: Include deviceiter.h.
27954 Implement using grub_util_emit_devicemap_entry and
27955 grub_util_iterate_devices.
27956 * conf/i386-corebook.rmk: Build util/deviceiter.c and
27957 util/devicemap.c into grub-mkdevicemap
27958 * conf/i386-efi.rmk: Likewise.
27959 * conf/i386-ieee1275.rmk: Likewise.
27960 * conf/i386-pc.rmk: Likewise.
27961 * conf/powerpc-ieee1275.rmk: Likewise.
27962 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
27963 images and installation utilities. Build kernel as image
27964 instead of as elf binary. Use common rules as much as possible.
27965
7dd4a573 279662009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 27967
27968 Correct GPT definition
27969
7dd4a573 27970 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 27971 of "attrib" member
27972
c6c5219f 279732009-04-19 Felix Zielcke <fzielcke@z-51.de>
27974
27975 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
27976
0552ff9f 279772009-04-19 David S. Miller <davem@davemloft.net>
27978
27979 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
27980 (grub_rescue_cmd_linux): Rename to...
27981 (grub_cmd_linux): and fix prototype.
27982 (grub_rescue_cmd_initrd): Rename to...
27983 (grub_cmd_initrd): and fix prototype.
27984 (cmd_linux, cmd_initrd): New.
27985 (GRUB_MOD_INIT(linux)): Use grub_register_command().
27986 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
27987
d1a282fc 279882009-04-17 Pavel Roskin <proski@gnu.org>
27989
07c5039f 27990 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
27991 format.
27992 (grub_ohci_transfer): Likewise.
27993
b012002d 27994 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
27995
1bc09c35 27996 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
27997 return without a value. Fix inconsistent indentation.
27998
e0ff9126 27999 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
28000 match struct grub_fs.
28001
d1a282fc 28002 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
28003 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
28004 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
28005 * commands/lspci.c (grub_lspci_iter): Likewise.
28006
a96df3f2 280072009-04-16 Bean <bean123ch@gmail.com>
28008
28009 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
28010 value.
28011
41bb0fe9 280122009-04-15 Pavel Roskin <proski@gnu.org>
28013
28014 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
28015 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
28016 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
28017 definitions.
28018
596c6970 280192009-04-15 Felix Zielcke <fzielcke@z-51.de>
28020
28021 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 28022 that no multiple data or metadata areas are supported and `Unknown
596c6970 28023 metadata header'.
28024
7dd4a573 280252009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 28026
28027 Move loader out of the kernel
28028
28029 * kern/loader.c: moved to ...
28030 * commands/boot.c: ... moved here
28031 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
28032 * commands/boot.c (grub_cmd_boot): moved here. All users updated
28033 * include/grub/kernel.h (grub_machine_fini): export
28034 * include/grub/loader.h (grub_loader_is_loaded): update declaration
28035 (grub_loader_set): likewise
28036 (grub_loader_unset): likewise
28037 (grub_loader_boot): likewise
28038 * conf/common.rmk: new module boot.mod
28039 (pkglib_MODULES): add boot.mod
28040 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
28041 (grub_emu_SOURCES): likewise
28042 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
28043 (grub_emu_SOURCES): likewise
28044 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
28045 (grub_emu_SOURCES): likewise
28046 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
28047 (grub_emu_SOURCES): likewise
28048 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
28049 (grub_emu_SOURCES): likewise
7dd4a573 28050 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
28051 (grub_emu_SOURCES): likewise
0d5d5653 28052 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 28053 (grub_emu_SOURCES): likewise
0d5d5653 28054
7dd4a573 280552009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 28056
28057 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 28058
5999d619 28059 * kern/misc.c (grub_itoa): Removed function
28060 (grub_ltoa): likewise
28061 (grub_vsprintf): use grub_lltoa
28062
7dd4a573 280632009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 28064
28065 Restore grub-emu
28066
28067 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
28068 * conf/i386-coreboot.rmk: likewise
28069 * conf/i386-ieee1275.rmk: likewise
28070 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 28071
20318222 280722009-04-15 Felix Zielcke <fzielcke@z-51.de>
28073
28074 * INSTALL: Add that `./autogen.sh' needs to be run before
28075 `./configure.'.
28076
d05f0df3 280772009-04-14 Bean <bean123ch@gmail.com>
28078
28079 * Makefile.in (pkglib_DATA): Add handler.lst.
28080 (handler.lst): New rule.
28081
28082 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
28083 * conf/i386-coreboot.rmk: Likewise.
28084 * conf/i386-ieee1275.rmk: Likewise.
28085 * conf/i386-efi.rmk: Likewise.
28086 * conf/x86_64-efi.rmk: Likewise.
28087 * conf/powerpc-ieee1275.rmk: Likewise.
28088 * conf/sparc64-ieee1275.rmk: Likewise.
28089
28090 * genhandlerlist.sh: New file.
28091
28092 * genmk.rb: Add rules to generate handler.lst.
28093
28094 * include/grub/normal.h (grub_file_getline): New function definition.
28095 (read_handler_list): Likewise.
28096 (free_handler_list): Likewise.
28097
28098 * include/grub/term.h (grub_term_register_input): Add name parameter
28099 for auto generation of handler.lst.
28100 (grub_term_register_output): Likewise.
28101
28102 * normal/handler.c: New file.
28103
28104 * normal/main.c (get_line): Renamed to grub_file_getline.
28105 (read_config_file): Use the newly renamed grub_file_getline.
28106 (read_command_list): Likewise.
28107 (read_fs_list): Likewise.
28108 (grub_normal_execute): Call read_handler_list to parse handler.lst.
28109 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
28110
28111 * term/efi/console.c (grub_console_init): Add name parameter for auto
28112 generation of handler.lst.
28113 * term/gfxterm.c: Likewise.
28114 * term/i386/pc/at_keyboard.c: Likewise.
28115 * term/i386/pc/console.c: Likewise.
28116 * term/i386/pc/serial.c: Likewise.
28117 * term/i386/pc/vesafb.c: Likewise.
28118 * term/i386/pc/vga.c: Likewise.
28119 * term/i386/pc/vga_text.c: Likewise.
28120 * term/ieee1275/ofconsole.c: Likewise.
28121 * term/usb_keyboard.c: Likewise.
28122
33c846be 281232009-04-14 Bean <bean123ch@gmail.com>
28124
28125 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
28126 properly with null character.
28127
4484e01e 281282009-04-14 Felix Zielcke <fzielcke@z-51.de>
28129
28130 * configure: Remove.
28131 * config.h.in: Likewise.
f93d668e 28132 * stamp-h.in: Likewise.
4484e01e 28133 * DISTLIST: Likewise.
28134 * conf/common.mk: Likewise.
28135 * conf/i386-coreboot.mk: Likewise.
28136 * conf/i386-efi.mk: Likewise.
28137 * conf/i386-ieee1275.mk: Likewise.
28138 * conf/i386.mk: Likewise.
28139 * conf/i386-pc.mk: Likewise.
28140 * conf/powerpc-ieee1275.mk: Likewise.
28141 * conf/sparc64-ieee1275.mk: Likewise.
28142 * conf/x86_64-efi.mk: Likewise.
28143
28144 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
28145 develop on GRUB.
28146
7dd4a573 281472009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 28148 David S. Miller <davem@davemloft.net>
28149
28150 * util/hostdisk.c (make_device_name): Fix buffer length
28151 calculations.
28152
e25b5a8c 281532009-04-14 Felix Zielcke <fzielcke@z-51.de>
28154
28155 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
28156 <sys/param.h> and <sys/sysctl.h>.
28157 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
28158 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
28159 opening the device and reset them afterwards.
28160
1f1f580c 281612009-04-13 Pavel Roskin <proski@gnu.org>
28162
28163 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
28164 Reported by John Stanley <jpsinthemix@verizon.net>
28165
7ebc2d6b 281662009-04-13 Robert Millan <rmh@aybabtu.com>
28167
28168 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 28169 that name for menuentries when appropriate.
7ebc2d6b 28170
d8ba3667 281712009-04-13 Felix Zielcke <fzielcke@z-51.de>
28172
28173 * util/grub.d/10_freebsd.in: Add a missing `fi'.
28174
cba416eb 281752009-04-13 Robert Millan <rmh@aybabtu.com>
28176
28177 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
28178 to Linux, simply abort telling the user it's no longer supported.
28179
a547a745 281802009-04-13 Felix Zielcke <fzielcke@z-51.de>
28181
28182 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 28183 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 28184 `freebsd_loadenv' only when devices.hints exist.
28185
232a769c 281862009-04-13 Pavel Roskin <proski@gnu.org>
28187
28188 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
28189
c3012039 281902009-04-13 Felix Zielcke <fzielcke@z-51.de>
28191
28192 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
28193 partition number.
28194 (grub_drive): Likewise.
28195
234022fe 281962009-04-13 David S. Miller <davem@davemloft.net>
28197
28198 * kern/sparc64/ieee1275/ieee1275.c: New file.
28199 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
28200 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
28201 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
28202 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
28203 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
28204 grub_ieee1275_alloc_physmem): Declare new exported functions.
28205
d8e1836c 28206 * include/grub/sparc64/ieee1275/loader.h: New file.
28207 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28208 * include/grub/sparc64/kernel.h: Likewise.
28209 * loader/sparc64/ieee1275/linux.c: Likewise.
28210
96bd81ec 28211 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
28212 (grub_fstest_SOURCES): Likewise.
28213
6a4737e5 28214 * util/hostdisk.c (make_device_name): Do not make any assumptions
28215 about the length of drive names.
28216
1d7a72fd 28217 * kern/dl.c (grub_dl_load_file): Close file immediately when
28218 we are done using it.
28219
56bc2471 282202009-04-12 David S. Miller <davem@davemloft.net>
28221
28222 * kern/misc.c (grub_ltoa): Fix cast when handling negative
28223 values. Noticed by Pavel Roskin.
28224
df38d0bb 28225 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
28226 target compiler.
7dd4a573 28227
e382e93a 28228 * genmk.rb: Add more flexible image type specification, also
28229 pass --strip-unneeded to objcopy.
28230 * conf/i386-pc.rmk: Use *_FORMAT.
28231 * conf/i386-pc.mk: Rebuilt.
28232
f5dbbca9 28233 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
28234 (OFDISK_HASH_SZ): Define.
28235 (ofdisk_hash): New hash table.
28236 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
28237 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
28238 instead of device phandle which is not unique.
28239
91c88b12 28240 * kern/sparc64/ieee1275/init.c: Delete, replace with...
28241 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
28242 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
28243 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
28244 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
28245 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
28246 GRUB_KERNEL_MACHINE_DATA_END): Define.
28247 (grub_kernel_image_size, grub_total_module_size): Declare.
28248
5b5d4aa5 282492009-04-12 Pavel Roskin <proski@gnu.org>
28250
7dd4a573 28251 * configure.ac: Change the logic when we check for target tools.
28252 Do it when the target is specified and it's different from the
28253 specified value of the host.
5b5d4aa5 28254
c91e1793 282552009-04-11 Felix Zielcke <fzielcke@z-51.de>
28256
28257 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
28258 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
28259 GNU/kFreeBSD. Check if a device is a character device. Use
28260 DIOCGMEDIASIZE to get the size.
28261 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
28262 support for GNU/kFreeBSD.
28263 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
28264 is a character device instead of a block device. Add support for
28265 FreeBSD device names.
28266
28267 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
28268 is a character device instead of a block device.
28269
28270 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
28271 is a character device instead of a block device.
28272
b1ac8644 282732009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
28274
28275 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
28276 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
28277 FreeBSD. Check if a device is a character device. Use
28278 DIOCGMEDIASIZE to get the size.
28279 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
28280 support for FreeBSD.
28281 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
28282 is a character device instead of a block device. Add support for
28283 FreeBSD device names.
28284
28285 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
28286 a character device instead of a block device.
28287 (grub_util_check_char_device): New function.
28288
28289 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
28290 a character device instead of a block device.
28291
28292 * include/grub/util/getroot.h (grub_util_check_char_device): New
28293 prototype.
28294
a3f7515a 282952009-04-11 David S. Miller <davem@davemloft.net>
28296
28297 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
28298 static libgcc.
28299 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
28300 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
28301 function, if present.
28302 (__bswapdi2): Likewise.
28303
0d44993d 28304 * include/grub/sparc64/ieee1275/boot.h: New file.
28305 * boot/sparc64/ieee1275/boot.S: Likewise.
28306 * boot/sparc64/ieee1275/diskboot.S: Likewise.
28307
ed3d2bc2 28308 * kern/misc.c (grub_ltoa): New function.
28309 (grub_vsprintf): Use it to format 'long' integers.
28310
d3bfb59c 283112009-04-10 David S. Miller <davem@davemloft.net>
28312
28313 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
28314 slots are of type grub_ieee1275_cell_t.
28315 (grub_nand_read): Likewise.
28316 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
28317 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
28318 macros are used to compare values in arg/ret block of the call.
28319 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
28320 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
28321 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
28322 grub_ieee1275_instance_to_path, grub_ieee1275_write,
28323 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
28324 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
28325 grub_ieee1275_close, grub_ieee1275_set_property,
28326 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
28327 grub_ieee1275_cell_t.
28328 * kern/ieee1275/openfw.c (grub_map): Likewise.
28329 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
28330 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
28331
450e2238 28332 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
28333 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
28334 (grub_devalias_iterate): Likewise.
28335
7dd4a573 283362009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 28337
28338 UFS improvements
28339
28340 * fs/ufs.c (INODE_NBLOCKS): new definition
28341 (struct grub_ufs_dirent): added fields for non-BSD dirents
28342 (grub_ufs_get_file_block): fixed double indirect handling
28343 (grub_ufs_lookup_symlink): use more robust way to determine whether
28344 symlink is inline
28345 (grub_ufs_find_file): support for non-BSD dirents
28346 (grub_ufs_dir): support for non-BSD dirents
28347
e7e6862a 283482009-04-10 Bean <bean123ch@gnail.com>
28349
28350 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
28351 attribute, otherwise the size would be wrong for i386 platform.
28352
28353 * include/grub/pci.h (grub_pci_read_word): New inline function.
28354 (grub_pci_read_byte): Likewise.
28355 (grub_pci_write): Likewise.
28356 (grub_pci_write_word): Likewise.
28357 (grub_pci_write_byte): Likewise.
28358
28359 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
28360
28361 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
28362 (find_framebuf): Scan pci to locate the frame buffer address.
28363
28364 * commands/efi/fixvideo.c: New file.
28365
28366 * commands/efi/loadbios.c: Likewise.
28367
28368 * commands/memrw.c: Likewise.
28369
28370 * util/grub-dumpbios.in: Likewise.
28371
28372 * conf/common.rmk (grub-dumpbios): New utility.
28373 (pkglib_MODULES): New module memrw.mod.
28374 (memrw_mod_SOURCE): New macro.
28375 (memrw_mod_CFLAGS): Likewise.
28376 (memrw_mod_LDFLAGS): Likewise.
28377
7dd4a573 28378 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 28379 fixvideo.mod.
28380 (loadbios_mod_SOURCE): New macro.
28381 (loadbios_mod_CFLAGS): Likewise.
28382 (loadbios_mod_LDFLAGS): Likewise.
28383 (fixvideo_mod_SOURCE): Likewise.
28384 (fixvideo_mod_CFLAGS): Likewise.
28385 (fixvideo_mod_LDFLAGS): Likewise.
28386
7dd4a573 28387 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 28388 fixvideo.mod.
28389 (loadbios_mod_SOURCE): New macro.
28390 (loadbios_mod_CFLAGS): Likewise.
28391 (loadbios_mod_LDFLAGS): Likewise.
28392 (fixvideo_mod_SOURCE): Likewise.
28393 (fixvideo_mod_CFLAGS): Likewise.
28394 (fixvideo_mod_LDFLAGS): Likewise.
28395
af63ada2 283962009-04-08 Felix Zielcke <fzielcke@z-51.de>
28397
28398 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
28399
c2cdde70 284002009-04-07 David S. Miller <davem@davemloft.net>
28401
28402 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
28403 support for R_SPARC_OLO10 relocations. Fix compile warning for
28404 R_SPARC_WDISP30 case.
ea3f72cf 28405 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 28406
761319cf 284072009-04-06 Pavel Roskin <proski@gnu.org>
28408
1007d1f5 28409 * include/grub/misc.h (ARRAY_SIZE): New macro.
28410 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
28411 New macro.
28412 * loader/i386/linux.c (allocate_pages): Use free_pages().
28413 (grub_linux_unload): Don't use free_pages().
28414 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
28415 wrong index. Treat all other modes as text modes.
28416 (grub_cmd_linux): Initialize vid_mode unconditionally to
28417 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
28418
761319cf 28419 * commands/help.c (print_command_help): Use cmd->prio, not
28420 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
28421
ea761d40 284222009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 28423
ea761d40 28424 Parttool
28425
28426 * parttool/pcpart.c: new file
28427 * commands/parttool.c: likewise
28428 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
28429 (parttool_mod_SOURCES): new variable
28430 (parttool_mod_CFLAGS): likewise
28431 (parttool_mod_LDFLAGS): likewise
28432 (pcpart_mod_SOURCES): likewise
28433 (pcpart_mod_CFLAGS): likewise
28434 (pcpart_mod_LDFLAGS): likewise
7dd4a573 28435 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 28436 and parttool/pcpart.c
28437 * conf/i386-efi.rmk: likewise
28438 * conf/i386-ieee1275.rmk: likewise
28439 * conf/i386-pc.rmk: likewise
28440 * conf/powerpc-ieee1275.rmk: likewise
28441 * conf/sparc64-ieee1275.rmk: likewise
28442 * conf/x86_64-ieee1275.rmk: likewise
28443
05aaebfb 284442009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28445
28446 Support for mtime and further expandability of dir command
28447
28448 * include/grub/lib/datetime.h: moved to ...
7dd4a573 28449 * include/grub/datetime.h: ... moved here and added
05aaebfb 28450 declaration of grub_unixtime2datetime. All users updated
7dd4a573 28451 * include/grub/fs.h: new syntax for dir and mtime functions in
28452 struct grub_fs
05aaebfb 28453 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
28454 and GRUB_FSHELP_FLAGS_MASK
28455 * commands/ls.c (grub_ls_list_files): Write mtime in long format
28456 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
28457 (grub_ext2_mtime): new function
28458 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
28459 (grub_hfsplus_mtime): new function
28460 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
28461 (GRUB_UFS_ATTR_FILE): likewise
28462 (GRUB_UFS_ATTR_LNK): likewise
28463 (struct grub_ufs_sblock): new fields mtime
28464 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
28465 all users updated
28466 (grub_ufs_dir): mtime support
28467 (grub_ufs_mtime): new function
28468 * fs/affs.c (grub_affs_dir): use new dir syntax
28469 * fs/afs.c (grub_afs_dir): likewise
28470 * fs/cpio.c (grub_cpio_dir): likewise
28471 * fs/fat.c (grub_fat_find_dir): likewise
28472 * fs/hfs.c (grub_hfs_dir): likewise
28473 * fs/iso9660.c (grub_iso9660_dir): likewise
28474 * fs/jfs.c (grub_jfs_dir): likewise
28475 * fs/minix.c (grub_minix_dir): likewise
28476 * fs/ntfs.c (grub_ntfs_dir): likewise
28477 * fs/reiserfs.c (grub_reiserfs_dir): likewise
28478 * fs/sfs.c (grub_sfs_dir): likewise
28479 * fs/xfs.c (grub_xfs_dir): likewise
28480 * util/hostfs.c (grub_hostfs_dir): likewise
28481 * lib/datetime.c: moved to ...
28482 * normal/datetime.c: ... moved here
28483 (grub_unixtime2datetime): new function
28484 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 28485 * normal/completion.c (iterate_dir): use new dir syntax
28486 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 28487 last modification time of a volume
7dd4a573 28488 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 28489 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 28490 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 28491 (normal_mod_SOURCES): likewise
28492 (datetime_mod_SOURCES): Removed lib/datetime.c
28493 * conf/i386-efi.rmk: likewise
7dd4a573 28494 * conf/i386-ieee1275.rmk: likewise
05aaebfb 28495 * conf/i386-pc.rmk: likewise
28496 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 28497 * conf/sparc64-ieee1275.rmk: likewise
28498 * conf/x86_64-efi.rmk: likewise
05aaebfb 28499
8a7e1a14 285002009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28501
28502 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 28503
28504 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 28505 on grub_fat_find_dir
28506 (grub_fat_find_dir): use grub_fat_iterate_dir
28507 (grub_fat_label): likewise
28508
04186a9c 285092009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
28510
7dd4a573 28511 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 28512 and command.h
28513 remove extraneous kernel_elf_HEADERS
28514
da4c0bb6 285152009-04-04 Bean <bean123ch@gnail.com>
28516
28517 * include/grub/util/misc.h: Add dummy function fsync for mingw.
28518
28519 * util/misc.c: Likewise.
28520
54ad9555 285212009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
28522
28523 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
28524 instead of grub_printf.
28525
7a6bf9f2 285262009-04-03 Robert Millan <rmh@aybabtu.com>
28527
28528 * loader/i386/linux.c (grub_linux_setup_video): Fill
28529 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
28530 values from `mode info' structure instead of hardcoded
28531 values.
28532
3fcc2083 285332009-04-01 Pavel Roskin <proski@gnu.org>
28534
28535 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
28536 unused now.
28537 * genmk.rb: Likewise.
28538 * configure.ac: Likewise.
28539
5ec9740b 285402009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
28541
28542 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
28543 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
28544
5270cec8 285452009-04-01 David S. Miller <davem@davemloft.net>
28546
28547 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 28548 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 28549 (grub_setjmp): Mark with 'returns_twice' attribute.
28550 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
28551 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
28552 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
28553
9c3dd854 285542009-04-01 Robert Millan <rmh@aybabtu.com>
28555
28556 Reapply fix from 2008-07-28 which was accidentally reverted; also
28557 perform the same fix to a similar check in same function.
28558
28559 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
28560 with the same number are found, just use issue a warning with
28561 grub_dprintf(), as this error has been reported to be non-fatal.
28562
0d818b7e 285632009-03-31 Pavel Roskin <proski@gnu.org>
28564
28565 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
28566 for cross-compilation.
28567
95646d92 285682009-03-30 Robert Millan <rmh@aybabtu.com>
28569
28570 Fix i386-ieee1275 build.
28571
28572 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
28573 Remove declaration.
28574
6a003ed1 285752009-03-30 Pavel Roskin <proski@gnu.org>
28576
28577 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
28578 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
28579 zero-terminated, rely only on the strlen value. Fix comparison
28580 of strings differing in length.
28581
92f33540 285822009-03-30 Robert Millan <rmh@aybabtu.com>
28583
28584 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
28585 checking for abi version. Improve error messages on BIOS to notify
28586 user about `linux16' command.
28587
a8c48fd5 285882009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
28589
f968172e 28590 Leak fixes
a8c48fd5 28591
f968172e 28592 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
28593 in case of collision
28594 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 28595
9c323f09 285962009-03-29 Robert Millan <rmh@aybabtu.com>
28597
28598 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
28599 set `vid_mode' accordingly.
28600 (grub_linux_boot): Process `vid_mode' and set video mode.
28601
ae68f423 286022009-03-29 Robert Millan <rmh@aybabtu.com>
28603
28604 * util/grub.d/10_linux.in (linux_entry): New function.
28605 Factorize generation of Linux boot entries.
28606
5709cfc4 286072009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
28608
28609 Make the format of Environment Block plain text. The boot loader
28610 part is not tested well yet.
7dd4a573 28611
5709cfc4 28612 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
28613 (buffer): Removed.
28614 (envblk): Likewise.
28615 (usage): Remove "info" and "clear". Add "unset". Update the
28616 description of "set", as this does not delete variables any
28617 longer.
28618 (create_envblk_file): Complete rewrite.
28619 (open_envblk_file): Likewise.
28620 (cmd_info): Removed.
28621 (cmd_list): Likewise.
28622 (cmd_set): Likewise.
28623 (cmd_clear): Likewise.
28624 (list_variables): New function.
28625 (write_envblk): Likewise.
28626 (set_variables): Likewise.
28627 (unset_variables): Likewise.
28628 (main): Complete rewrite.
28629
28630 * commands/loadenv.c (buffer): Removed.
28631 (envblk): Likewise.
28632 (open_envblk_file): New function.
28633 (read_envblk_file): Complete rewrite.
28634 (grub_cmd_load_env): Likewise.
28635 (grub_cmd_list_env): Likewise.
28636 (struct blocklist): New struct.
28637 (free_blocklists): New function.
28638 (check_blocklists): Likewise.
28639 (write_blocklists): Likewise.
28640 (grub_cmd_save_env): Complete rewrite.
28641
28642 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
28643 a plain text signature.
28644 (GRUB_ENVBLK_MAXLEN): Removed.
28645 (struct grub_envblk): Complete rewrite.
28646 (grub_envblk_find): Removed.
28647 (grub_envblk_insert): Likewise.
28648 (grub_envblk_open): New prototype.
28649 (grub_envblk_set): Likewise.
28650 (grub_envblk_delete): Put const to VALUE.
28651 (grub_envblk_iterate): Put const to NAME and VALUE.
28652 (grub_envblk_close): New prototype.
28653 (grub_envblk_buffer): New inline function.
28654 (grub_envblk_size): Likewise.
28655
28656 * lib/envblk.c: Include grub/mm.h.
28657 (grub_env_find): Removed.
28658 (grub_envblk_open): New function.
28659 (grub_envblk_close): Likewise.
28660 (escaped_value_len): Likewise.
28661 (find_next_line): Likewise.
28662 (grub_envblk_insert): Removed.
28663 (grub_envblk_set): New function.
28664 (grub_envblk_delete): Complete rewrite.
28665 (grub_envblk_iterate): Likewise.
28666
a9368fd3 286672009-03-28 Robert Millan <rmh@aybabtu.com>
28668
28669 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
28670 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
28671 variables. Use 16-bit loader.
28672 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
28673 loader.
28674 * kern/i386/loader.S (grub_linux_boot): Rename to ...
28675 (grub_linux16_boot): ... this. Update all users.
28676 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
28677 (grub_linux_boot): ... this. Update all users.
28678
28679 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
28680 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
28681 commands to `linux16' and `initrd16'.
28682 (GRUB_MOD_FINI(linux)): Rename to ...
28683 (GRUB_MOD_FINI(linux16)): ... this.
28684
e4dd5a7e 286852009-03-24 Pavel Roskin <proski@gnu.org>
28686
28687 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
28688 not just for compilation.
28689
c04d6e05 286902009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
28691
28692 Move multiboot helper out of kernel
28693
28694 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
28695 `loader/i386/multiboot_helper.S'.
28696 * conf/i386-coreboot.rmk: Likewise
28697 * conf/i386-ieee1275.rmk: Likewise
28698
28699 * kern/i386/loader.S: Move multiboot helpers from here...
28700 * loader/i386/multiboot_helper.S: ...moved here
28701 * include/grub/i386/loader.h: Move declarations of multiboot
28702 helpers from here...
28703 * include/grub/i386/multiboot.h: ...moved here
28704 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
28705
42a5b3fc 287062009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
28707
28708 * kern/env.c (grub_env_context_open): Added an argument to specify
28709 whether a new context inherits exported variables from current
28710 one. This is useful when making a sandbox to interpret a config
28711 file.
28712 All callers updated.
28713
28714 * include/grub/env.h (grub_env_context_open): Updated the prototype.
28715
b28bbc4e 287162009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
28717
28718 * kern/env.c (grub_env_context_close): Fix memory leaks.
28719
f04f02e4 287202009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
28721
28722 * normal/main.c (grub_normal_execute): Added an argument
28723 BATCH to specify if an interactive interface should be provided
28724 after reading a config file.
28725 All callers updated.
28726 (read_command_list): Prevent being executed twice.
28727 (read_fs_list): Likewise.
28728
42a5b3fc 28729 * include/grub/normal.h (grub_normal_execute): Updated the
28730 prototype.
f04f02e4 28731
41473ac2 287322009-03-22 Pavel Roskin <proski@gno.org>
28733
fbc00b0c 28734 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
28735 _start.
28736 * kern/i386/pc/startup.S: Likewise.
28737 * kern/i386/efi/startup.S: Likewise.
28738 * kern/i386/ieee1275/startup.S: Likewise.
28739 * kern/i386/coreboot/startup.S: Likewise.
28740 * kern/x86_64/efi/startup.S: Likewise.
28741
41473ac2 28742 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
28743 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
28744 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
28745
2274cc8f 287462009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
28747
28748 Bugfixes in multiboot for bugs uncovered by solaris kernel.
28749
28750 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
28751 limit detection.
28752 Use vaddr of correct segment for entry_point.
28753
b1b797cb 287542009-03-21 Bean <bean123ch@gmail.com>
28755
28756 * commands/blocklist.c: Add include file <grub/command.h>, remove
28757 <grub/normal.h> and <grub/arg.h>.
28758 (grub_cmd_blocklist): Use the new command interface.
28759 (GRUB_MOD_INIT): Likewise.
28760 (GRUB_MOD_FINI): Likewise.
28761 * commands/boot.c: Likewise.
28762 * commands/cat.c: Likewise.
28763 * commands/cmp.c: Likewise.
28764 * commands/configfile.c: Likewise.
28765 * commands/crc.c: Likewise.
28766 * commands/echo.c: Likewise.
28767 * commands/halt.c: Likewise.
28768 * commands/handler.c: Likewise.
28769 * commands/hdparm.c: Likewise.
28770 * commands/help.c: Likewise.
28771 * commands/hexdump.c: Likewise.
28772 * commands/loadenv.c: Likewise.
28773 * commands/ls.c: Likewise.
28774 * commands/lsmmap.c: Likewise.
28775 * commands/lspci.c: Likewise.
28776 * commands/loadenv.c: Likewise.
28777 * commands/read.c: Likewise.
28778 * commands/reboot.c: Likewise.
28779 * commands/search.c: Likewise.
28780 * commands/sleep.c: Likewise.
28781 * commands/test.c: Likewise.
28782 * commands/usbtest.c: Likewise.
28783 * commands/videotest.c: Likewise.
28784 * commands/i386/cpuid.c: Likewise.
28785 * commands/i386/pc/halt.c: Likewise.
28786 * commands/i386/pc/play.c: Likewise.
28787 * commands/i386/pc/pxecmd.c: Likewise.
28788 * commands/i386/pc/vbeinfo.c: Likewise.
28789 * commands/i386/pc/vbetest.c: Likewise.
28790 * commands/ieee1275/suspend.c: Likewise.
28791 * disk/loopback.c: Likewise.
28792 * font/font_cmd.c: Likewise.
28793 * hello/hello.c: Likewise.
28794 * loader/efi/appleloader.c: Likewise.
28795 * loader/efi/chainloader.c: Likewise.
28796 * loader/i386/bsd.c: Likewise.
28797 * loader/i386/efi/linux.c: Likewise.
28798 * loader/i386/ieee1275/linux.c: Likewise.
28799 * loader/i386/linux.c: Likewise.
28800 * loader/i386/pc/chainloader.c: Likewise.
28801 * loader/i386/pc/linux.c: Likewise.
28802 * loader/powerpc/ieee1275/linux.c: Likewise.
28803 * loader/multiboot_loader.c: Likewise.
28804 * term/gfxterm.c: Likewise.
28805 * term/i386/pc/serial.c: Likewise.
28806 * term/terminfo.c: Likewise.
28807
28808 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
28809 * term/i386/pc/vga.c: Likewise.
28810 * video/readers/jpeg.c: Likewise.
28811 * video/readers/png.c: Likewise.
28812 * video/readers/tga.c: Likewise.
28813
28814 * util/grub-fstest (cmd_loopback): Removed.
28815 (cmd_blocklist): Likewise.
28816 (cmd_ls): Likewise.
28817 (grub_register_command): Likewise.
28818 (grub_unregister_command): Likewise.
28819 (execute_command): Use grub_command_find to locate command and execute
28820 it.
28821
28822 * include/grub/efi/chainloader.h: Removed.
28823 * loader/efi/chainloader_normal.c: Likewise.
28824 * loader/i386/bsd_normal.c: Likewise.
28825 * loader/i386/pc/chainloader_normal.c: Likewise.
28826 * loader/i386/pc/multiboot_normal.c: Likewise.
28827 * loader/linux_normal.c: Likewise.
28828 * loader/multiboot_loader_normal.c: Likewise.
28829 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
28830
28831 * gencmdlist.sh: Scan new registration command grub_register_extcmd
28832 and grub_register_command_p1.
28833
28834 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
28835 kern/command.c, lib/arg.c and commands/extcmd.c.
28836 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
28837 (minicmd_mod_SOURCES): New variable.
28838 (minicmd_mod_CFLAGS): Likewise.
28839 (minicmd_mod_LDFLAGS): Likewise.
28840 (extcmd_mod_SOURCES): Likewise.
28841 (extcmd_mod_CFLAGS): Likewise.
28842 (extcmd_mod_LDFLAGS): Likewise.
28843 (boot_mod_SOURCES): Removed.
28844 (boot_mod_CFLAGS): Likewise.
28845 (boot_mod_LDFLAGS): Likewise.
28846
28847 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
28848 kern/corecmd.c.
28849 (kernel_img_HEADERS): Add command.h.
28850 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
28851 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
28852 and lib/arg.c.
28853 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
28854 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
28855 remove the corresponding normal mode command.
28856 (normal_mod_SOURCES): Remove normal/arg.c.
28857 * conf/i386-coreboot.rmk: Likewise.
28858 * conf/i386-efi.rmk: Likewise.
28859 * conf/i386-ieee1275.rmk: Likewise.
28860 * conf/powerpc-ieee1275.rmk: Likewise.
28861 * conf/x86_64-efi.rmk: Likewise.
28862
28863 * include/grub/arg.h: Move from here ...
28864 * include/grub/lib/arg.h: ... to here.
28865
28866 * normal/arg.c: Move from here ...
28867 * lib/arg.c: ... to here.
28868
28869 * commands/extcmd.c: New file.
28870 * commands/minicmd.c: Likewise.
28871 * include/grub/command.h: Likewise.
28872 * include/grub/extcmd.h: Likewise.
28873 * kern/command.c: Likewise.
28874 * kern/corecmd.c: Likewise.
28875
28876 * kern/list.c (grub_list_iterate): Return int instead of void.
28877 (grub_list_insert): New function.
28878 (grub_prio_list_insert): Likewise.
28879
28880 * kern/rescue.c (grub_rescue_command): Removed.
28881 (grub_rescue_command_list): Likewise.
28882 (grub_rescue_register_command): Likewise.
28883 (grub_rescue_unregister_command): Likewise.
28884 (grub_rescue_cmd_boot): Move to minicmd.c
28885 (grub_rescue_cmd_help): Likewise.
28886 (grub_rescue_cmd_info): Likewise.
28887 (grub_rescue_cmd_boot): Likewise.
28888 (grub_rescue_cmd_testload): Likewise.
28889 (grub_rescue_cmd_dump): Likewise.
28890 (grub_rescue_cmd_rmmod): Likewise.
28891 (grub_rescue_cmd_lsmod): Likewise.
28892 (grub_rescue_cmd_exit): Likewise.
28893 (grub_rescue_print_devices): Moved to corecmd.c.
28894 (grub_rescue_print_files): Likewise.
28895 (grub_rescue_cmd_ls): Likewise.
28896 (grub_rescue_cmd_insmod): Likewise.
28897 (grub_rescue_cmd_set): Likewise.
28898 (grub_rescue_cmd_unset): Likewise.
7d074e3c 28899 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 28900 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 28901 commands, remove grub_rescue_register_command calls.
b1b797cb 28902
7d074e3c 28903 * normal/command.c (grub_register_command): Removed.
b1b797cb 28904 (grub_unregister_command): Likewise.
28905 (grub_command_find): Likewise.
28906 (grub_iterate_commands): Likewise.
28907 (rescue_command): Likewise.
28908 (export_command): Moved to corecmd.c.
28909 (set_command): Removed.
28910 (unset_command): Likewise.
28911 (insmod_command): Likewise.
28912 (rmmod_command): Likewise.
28913 (lsmod_command): Likewise.
28914 (grub_command_init): Likewise.
28915
28916 * normal/completion.c (iterate_command): Use cmd->prio to check for
28917 active command.
28918 (complete_arguments): Use grub_extcmd_t structure to find options.
28919 (grub_normal_do_completion): Change function grub_iterate_commands to
28920 grub_command_iterate.
28921
28922 * normal/execute.c (grub_script_execute_cmd): No need to parse
28923 argument here.
28924
28925 * normal/main.c (grub_dyncmd_dispatcher): New function.
28926 (read_command_list): Register unload commands as dyncmd.
28927 (grub_cmd_normal): Use new command interface, register rescue,
28928 unregister normal at entry, register normal, unregister rescue at exit.
28929
28930 * include/grub/list.h (grub_list_test_t): New type.
28931 (grub_list_iterate): Return int instead of void.
28932 (grub_list_insert): New function.
28933 (GRUB_AS_NAMED_LIST_P): New macro.
28934 (GRUB_AS_PRIO_LIST): Likewise.
28935 (GRUB_AS_PRIO_LIST_P): Likewise.
28936 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
28937 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
28938 (grub_prio_list): New structure.
28939 (grub_prio_list_insert): New function.
28940 (grub_prio_list_remove): New inline function.
28941
28942 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
28943 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
28944 (GRUB_COMMAND_FLAG_MENU): Likewise.
28945 (GRUB_COMMAND_FLAG_BOTH): Likewise.
28946 (GRUB_COMMAND_FLAG_TITLE): Likewise.
28947 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
28948 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
28949 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
28950 (grub_command): Likewise.
28951 (grub_register_command): Likewise.
28952 (grub_command_find): Likewise.
28953 (grub_iterate_commands): Likewise.
28954 (grub_command_init): Likewise.
28955 (grub_arg_parse): Likewise.
28956 (grub_arg_show_help): Likewise.
28957
28958 * include/grub/rescue.h (grub_rescue_register_command): Removed.
28959 (grub_rescue_unregister_command): Likewise.
28960
28961 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
28962 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
28963 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
28964
28965 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
28966 grub_rescue_cmd_initrd.
28967 * include/grub/i386/loader.h: Likewise.
28968 * include/grub/x86_64/loader.h: Likewise.
28969
28970 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
28971
1f4147aa 289722009-03-21 Bean <bean123ch@gmail.com>
28973
28974 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
28975 instead of stat in mingw environment.
28976
28977 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
28978
28979 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
28980
28981 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
28982 AC_CONFIG_LINKS.
28983
2156d5ba 289842009-03-21 Bean <bean123ch@gmail.com>
28985
28986 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
28987 out of range error.
28988
177b82ca 289892009-03-18 Michel Dänzer <michel@daenzer.net>
28990
28991 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
28992 checking inode flags for EXT4_EXTENTS_FLAG.
28993
14aad807 289942009-03-18 Robert Millan <rmh@aybabtu.com>
28995
28996 * loader/i386/linux.c: Include `<grub/video.h>' and
28997 `<grub/i386/pc/vbe.h>'..
28998 (grub_linux_setup_video): New function. Loosely based on the EFI one.
28999 (grub_linux32_boot): Attempt to configure video settings with
29000 grub_linux_setup_video().
29001 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
29002 to avoid grub_console_fini() which would step out of graphical mode
29003 unconditionally.
29004
8cf83a27 290052009-03-14 Robert Millan <rmh@aybabtu.com>
29006
29007 Fix build on powerpc.
29008 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
29009
40164e75 290102009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
29011
29012 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
29013 background image command.
29014
c58bc32a 290152009-03-12 Colin D Bennett <colin@gibibit.com>
29016
29017 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
29018 (grub_gfxterm_putchar): Extract pairs of identical calls to
29019 draw_cursor out of conditional blocks.
29020
5415144a 290212009-03-11 Pavel Roskin <proski@gnu.org>
29022
29023 * fs/hfs.c (grub_hfs_strncasecmp): New function.
29024 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
29025
6394042e 290262009-03-11 Robert Millan <rmh@aybabtu.com>
29027
29028 * loader/i386/multiboot_elfxx.c
29029 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
29030
b7b50e5f 290312009-03-11 Felix Zielcke <fzielcke@z-51.de>
29032
29033 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
29034 `kern/handler.c'.
29035
1ca7fc96 290362009-03-11 Robert Millan <rmh@aybabtu.com>
29037
29038 * loader/i386/multiboot.c (code_size): New variable.
29039 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 29040 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 29041 4-byte alignment to MBI and others by increasing
7d074e3c 29042 `boot_loader_name_length' appropriately.
1ca7fc96 29043
29044 * loader/i386/multiboot_elfxx.c
29045 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
29046
a83ea1d2 290472009-03-09 Felix Zielcke <fzielcke@z-51.de>
29048
29049 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
29050 `fs/ext2.c'.
29051
aa9f3bff 290522009-03-08 Robert Millan <rmh@aybabtu.com>
29053
29054 Make loader/i386/linux.c usable on i386-pc again.
29055
29056 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
29057 memory to heap.
29058 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
29059 `#error' stanza.
29060
d8b3b60e 290612009-03-07 Bean <bean123ch@gmail.com>
29062
29063 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
29064 allocation.
29065
b362c9e9 290662009-03-06 Robert Millan <rmh@aybabtu.com>
29067
29068 Fix display issue on terminals with screen size other than 80x25
29069 (e.g. gfxterm with resolution higher than 640x480).
29070
29071 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 29072 position relative to the center of the terminal instead of relying
b362c9e9 29073 on a hardcoded offset.
29074
9304eef1 290752009-03-04 Robert Millan <rmh@aybabtu.com>
29076
29077 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
29078 installed.
29079
29080 * Makefile.in (host_kernel): New variable.
29081 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
29082 scripts instead of just the windows one.
29083 * configure.ac: Initialize and AC_SUBST `host_kernel'.
29084
eabc95fb 290852009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 29086
29087 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
29088 `kern/handler.c'.
29089 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29090 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29091 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29092 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29093 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29094 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29095
ceb1223c 290962009-03-04 Felix Zielcke <fzielcke@z-51.de>
29097
29098 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
29099 or if there's no space for the disk label and print the partition number on a
29100 invalid magic.
29101
4910684a 291022009-03-04 Felix Zielcke <fzielcke@z-51.de>
29103
29104 * util/misc.c: Include <time.h>.
29105 (grub_millisleep): New function.
29106
7e9ca17a 291072009-03-04 Bean <bean123ch@gmail.com>
29108
29109 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
29110 another option -mno-red-zone.
29111
29112 * commands/handler.c: Change module description.
29113
29114 * kern/handler.c: Add missing space at the end of description line.
29115
29116 * kern/list.c: Likewise.
29117
f501677c 291182009-03-03 Robert Millan <rmh@aybabtu.com>
29119
29120 Move more components to the relocation area, and fix mbi pointer
29121 handling to use the destination rather than the origin (thanks to
29122 Vladimir Serbinenko for spotting).
29123
29124 * loader/i386/multiboot.c (mbi_dest): New variable.
29125 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
29126 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
29127 relocation area.
29128
9902d047 291292009-03-01 Bean <bean123ch@gmail.com>
29130
50fb7002 29131 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 29132 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
29133 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
29134 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
29135
29136 * loader/i386/efi/linux.c (acpi_guid): New variable.
29137 (acpi_guid): Likewise.
29138 (EBDA_SEG_ADDR): New constant.
29139 (LOW_MEM_ADDR): Likewise.
29140 (FAKE_EBDA_SEG): Likewise.
29141 (fake_bios_data): New function.
29142 (grub_linux_boot): Call fake_bios_data.
29143
71b9f361 291442009-03-01 Bean <bean123ch@gmail.com>
29145
29146 * commands/terminal.c: Removed.
29147
29148 * commands/handler.c: New file.
29149
29150 * include/grub/list.h: Likewise.
29151
29152 * include/grub/handler.h: Likewise.
29153
29154 * kern/list.c: Likewise.
29155
29156 * kern/handler.c: Likewise.
29157
29158 * kern/term.h: Include header file <grub/handler.h>.
29159 (grub_term_input): Move next field to the beginning.
29160 (grub_term_output): Likewise.
29161 (grub_term_input_class): New variable.
29162 (grub_term_output_class): Likewise.
29163 (grub_term_register_input): Changed to inline function.
29164 (grub_term_register_output): Likewise.
29165 (grub_term_unregister_input): Likewise.
29166 (grub_term_unregister_output): Likewise.
29167 (grub_term_set_current_input): Likewise.
29168 (grub_term_set_current_output): Likewise.
29169 (grub_term_get_current_input): Likewise.
29170 (grub_term_get_current_output): Likewise.
29171 (grub_term_iterate_input): Removed.
29172 (grub_term_iterate_output): Likewise.
29173
29174 * kern/term.c (grub_term_list_input): Removed.
29175 (grub_term_list_output): Likewise.
29176 (grub_term_input_class): New variable.
29177 (grub_term_output_class): Likewise.
50fb7002 29178 (grub_cur_term_input): Change variable as macro.
71b9f361 29179 (grub_cur_term_output): Likewise.
29180 (grub_term_register_input): Removed.
29181 (grub_term_register_output): Likewise.
29182 (grub_term_unregister_input): Likewise.
29183 (grub_term_unregister_output): Likewise.
29184 (grub_term_set_current_input): Likewise.
29185 (grub_term_set_current_output): Likewise.
29186 (grub_term_iterate_input): Likewise.
29187 (grub_term_iterate_output): Likewise.
29188 (grub_term_get_current_input): Likewise.
29189 (grub_term_get_current_output): Likewise.
29190
29191 * util/grub-editenv.c: Include header file <grub/handler.h>.
29192 (grub_term_get_current_input): Removed.
29193 (grub_term_get_current_output): Likewise.
29194 (grub_term_input_class): New variable.
50fb7002 29195 (grub_term_output_class): Likewise.
71b9f361 29196
29197 * util/grub-fstest.c (grub_term_get_current_input): Removed.
29198 (grub_term_get_current_output): Likewise.
29199 (grub_term_input_class): New variable.
50fb7002 29200 (grub_term_output_class): Likewise.
71b9f361 29201
29202 * util/grub-probe.c (grub_term_get_current_input): Removed.
29203 (grub_term_get_current_output): Likewise.
29204 (grub_term_input_class): New variable.
50fb7002 29205 (grub_term_output_class): Likewise.
71b9f361 29206
29207 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
29208 (grub_term_get_current_output): Likewise.
29209 (grub_term_input_class): New variable.
50fb7002 29210 (grub_term_output_class): Likewise.
71b9f361 29211
29212 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
29213 (terminal_mod_SOURCES): Likewise.
29214 (terminal_mod_CFLAGS): Likewise.
29215 (terminal_mod_LDFLAGS): Likewise.
29216
29217 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
29218 handler.c.
29219 (kernel_img_SOURCES): Add list.c and handler.c.
29220 (kernel_img_HEADERS): Add list.h and handler.h.
29221
29222 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29223 handler.c.
29224 (kernel_mod_SOURCES): Add list.c and handler.c.
29225 (kernel_mod_HEADERS): Add list.h and handler.h.
29226
29227 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
29228 handler.c.
29229 (kernel_elf_SOURCES): Add list.c and handler.c.
29230 (kernel_elf_HEADERS): Add list.h and handler.h.
29231
29232 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
29233 handler.c.
29234 (kernel_elf_SOURCES): Add list.c and handler.c.
29235 (kernel_elf_HEADERS): Add list.h and handler.h.
29236
29237 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29238 handler.c.
29239 (kernel_mod_SOURCES): Add list.c and handler.c.
29240 (kernel_mod_HEADERS): Add list.h and handler.h.
29241
29242 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
29243 handler.c.
29244 (kernel_elf_SOURCES): Add list.c and handler.c.
29245 (kernel_elf_HEADERS): Add list.h and handler.h.
29246
8a31787f 292472009-02-27 Robert Millan <rmh@aybabtu.com>
29248
29249 Factorize elf32 / elf64 code in Multiboot loader. This will
29250 prevent it from getting out of sync again.
29251
29252 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
29253 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
29254 grub_multiboot_load_elf64): Move from here ...
29255 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
29256 grub_multiboot_load_elf): ... to here (new file).
29257
51cd3dfc 292582009-02-27 Robert Millan <rmh@aybabtu.com>
29259
29260 * util/grub.d/10_linux.in: Rename "single-user mode" to
29261 "recovery mode".
29262
6e8c9c3a 292632009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
29264
29265 Don't leak in SCSI code.
29266 * disk/scsi.c (grub_scsi_close): free `scsi'.
29267
4b6bf4f9 292682009-02-27 Robert Millan <rmh@aybabtu.com>
29269
29270 * loader/i386/pc/multiboot.c: Move from here ...
29271 * loader/i386/multiboot.c: ... to here. Update all users.
29272
b9413424 292732009-02-27 Robert Millan <rmh@aybabtu.com>
29274
29275 Patch from Alexandre Bique <bique.alexandre@gmail.com>
29276 * util/i386/pc/grub-setup.c (setup): Fix directory path.
29277
50fb7002 292782009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 29279
29280 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
29281 b-tree.
29282
8cc50345 292832009-02-27 Robert Millan <rmh@aybabtu.com>
29284
29285 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
29286 `0x' qualifier as 0 when base is specified as parameter).
29287
6e09b8b7 292882009-02-24 Bean <bean123ch@gmail.com>
29289
29290 * configure.ac: Check for -mcmodel=large in x86_64 target.
29291
29292 * include/grub/efi/api.h (efi_call_10): New macro.
29293 (efi_wrap_10): New function.
29294
29295 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
29296 (GRUB_PE32_REL_BASED_HIGH): Likewise.
29297 (GRUB_PE32_REL_BASED_LOW): Likewise.
29298 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
29299 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
29300 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
29301 (GRUB_PE32_REL_BASED_SECTION): Likewise.
29302 (GRUB_PE32_REL_BASED_REL): Likewise.
29303 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
29304 (GRUB_PE32_REL_BASED_DIR64): Likewise.
29305 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
29306
29307 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
29308 issue.
29309
29310 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
29311 (efi_wrap_10): New function.
29312
29313 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
29314
29315 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
29316 MB/MBP model (NV chipset).
29317 (devdata_devs): Add devpath_5 to the list.
29318
29319 * load/i386/efi/linux.c (video_base): Remove variable.
29320 (RGB_MASK): New macro.
29321 (RGB_MAGIC): Likewise.
29322 (LINE_MIN): Likewise.
29323 (LINE_MAX): Likewise.
29324 (FBTEST_STEP): Likewise.
29325 (FBTEST_COUNT): Likewise.
29326 (fb_list): New variable.
29327 (grub_find_video_card): Remove function.
29328 (find_framebuf): New function.
29329 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
29330 line length.
29331
29332 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
29333 problem for x86_64.
29334
74b21bee 293352009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
29336
29337 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
29338
29339 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
29340 coding tool name.
29341
a455f472 293422009-02-22 Robert Millan <rmh@aybabtu.com>
29343
29344 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
29345 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
29346 in our relocation, instead of using it directly from heap. Also
29347 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
29348
6374daf3 293492009-02-21 Robert Millan <rmh@aybabtu.com>
29350
29351 Implement USB keyboard support (based on patch by Marco Gerards)
29352
29353 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
29354 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
29355 (usb_keyboard_mod_LDFLAGS): New variables.
29356
29357 * term/usb_keyboard.c: New file.
29358
8fa4ea70 293592009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29360
29361 Corrected wrong declaration
29362
29363 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
29364
353976ac 293652009-02-14 Christian Franke <franke@computer.org>
29366
29367 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
29368 (grub_lspci_iter): Print class code and programming interface byte.
29369
6aa1169b 293702009-02-14 Christian Franke <franke@computer.org>
29371
29372 * gendistlist.sh: Ignore `.svn' directories.
29373
265372ca 293742009-02-14 Felix Zielcke <fzielcke@z-51.de>
29375
29376 * fs/fat.c: Add 2009 to Copyright line.
29377
9ff516f3 293782009-02-14 Christian Franke <franke@computer.org>
29379
29380 * commands/hdparm.c: New file. Provides `hdparm' command
29381 which sends ATA commands via grub_disk_ata_pass_through ().
29382
29383 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
29384
29385 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
29386 and <grub/cpu/io.h> to include/grub/ata.h.
29387 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
29388 (GRUB_CDROM_SECTOR_SIZE): Remove.
29389 (GRUB_ATA_*): Move to include/grub/ata.h.
29390 (GRUB_ATAPI_*): Likewise.
29391 (enum grub_ata_commands): Likewise.
29392 (enum grub_ata_timeout_milliseconds): Likewise.
29393 (struct grub_ata_device): Likewise.
29394 (grub_ata_regset): Likewise.
29395 (grub_ata_regget): Likewise.
29396 (grub_ata_regset2): Likewise.
29397 (grub_ata_regget2): Likewise.
29398 (grub_ata_check_ready): Likewise.
29399 (grub_ata_wait_not_busy): Remove static, exported in
29400 include/grub/ata.h.
29401 (grub_ata_wait_drq): Likewise.
29402 (grub_ata_pio_read): Likewise.
29403
29404 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
29405 function for hdparm.mod.
29406
29407 * include/grub/ata.h: New file, contains declarations from
29408 disk/ata.c.
29409 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
29410
29411 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
29412 (grub_disk_ata_pass_through): New exported variable.
29413
29414 * kern/disk.c (grub_disk_ata_pass_through): New variable.
29415
772e23da 294162009-02-13 Colin D Bennett <colin@gibibit.com>
29417
29418 Support multiple fallback entries, and provide an API to support
29419 executing default+fallback menu entries. Renamed the `terminal' menu
29420 viewer to `text'.
29421
29422 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
29423 variable declaration.
29424 (grub_menu_execute_callback): New structure declaration.
29425 (grub_menu_execute_callback_t): New typedef.
29426 (grub_menu_execute_with_fallback): New function declaration.
29427 (grub_menu_get_entry): Likewise.
29428 (grub_menu_get_timeout): Likewise.
29429 (grub_menu_set_timeout): Likewise.
29430
29431 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
29432
29433 * normal/menu.c (grub_wait_after_message): Moved to
29434 `normal/menu_text.c'.
29435 (draw_border): Likewise.
29436 (print_message): Likewise.
29437 (print_entry): Likewise.
29438 (print_entries): Likewise.
29439 (grub_menu_init_page): Likewise.
29440 (get_entry_number): Likewise.
29441 (print_timeout): Likewise.
29442 (run_menu): Likewise.
29443 (grub_menu_execute_entry): Likewise.
29444 (show_text_menu): Likewise.
29445 (get_and_remove_first_entry_number): New function.
29446 (grub_menu_execute_with_fallback): Likewise.
29447 (get_entry): Renamed to ...
29448 (grub_menu_get_entry): .. this and made it global.
29449 (get_timeout): Renamed to ...
29450 (grub_menu_get_timeout): ... this and made it global.
29451 (set_timeout): Renamed to ...
29452 (grub_menu_set_timeout): ... this and made it global.
29453 (grub_normal_terminal_menu_viewer): Renamed to ...
29454 (grub_normal_text_menu_viewer): ... this.
29455
29456 * normal/menu_text.c: New file. Extracted text-menu-specific code
29457 from normal/menu.c.
29458
29459 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
29460 (normal_mod_SOURCES): Likewise.
29461
29462 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29463 (normal_mod_SOURCES): Likewise.
29464
29465 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29466 (normal_mod_SOURCES): Likewise.
29467
29468 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
29469 (normal_mod_SOURCES): Likewise.
29470
29471 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29472 (normal_mod_SOURCES): Likewise.
29473
29474 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29475 (normal_mod_SOURCES): Likewise.
29476
29477 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29478 (normal_mod_SOURCES): Likewise.
29479
16ac430e 294802009-02-11 Robert Millan <rmh@aybabtu.com>
29481
29482 * util/grub.d/00_header.in: Update old reference to `font' command.
29483
06ff20fc 294842009-02-10 Felix Zielcke <fzielcke@z-51.de>
29485
29486 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
29487
29488 Based on patch from Javier Martín.
29489
96da9407 294902009-02-09 Felix Zielcke <fzielcke@z-51.de>
29491
29492 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 29493 to avoid false positives with FAT.
96da9407 29494 (grub_fstest_SOURCES): Likewise.
29495 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29496 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29497 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29498 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29499 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29500 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29501
6dca6fe4 295022009-02-09 Felix Zielcke <fzielcke@z-51.de>
29503
06ff20fc 29504 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 29505 bpb.version_specific.fat12_or_fat16.fstype and
29506 bpb.version_specific.fat32.fstype.
29507
2550c62f 295082009-02-08 Robert Millan <rmh@aybabtu.com>
29509
be110b30 29510 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 29511
56978920 295122009-02-08 Robert Millan <rmh@aybabtu.com>
29513
29514 * Makefile.in (host_os, host_cpu): New variables.
29515 (target_os): Remove. Update all users.
29516
d64399b5 295172009-02-08 Marco Gerards <marco@gnu.org>
29518
29519 * Makefile.in (enable_grub_emu_usb): New variable.
29520 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
29521 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
29522 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
29523 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
29524 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
29525 `usbtest.mod' and `usbms.mod'.
29526 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
29527 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
29528 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
29529 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
29530 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
29531 variables.
29532
29533 * disk/usbms.c: New file.
29534
29535 * include/grub/usb.h: Likewise.
29536
29537 * include/grub/usbtrans.h: Likewise.
29538
29539 * include/grub/usbdesc.h: Likewise.
29540
29541 * bus/usb/usbtrans.c: Likewise.
29542
29543 * bus/usb/ohci.c: Likewise.
29544
29545 * bus/usb/uhci.c: Likewise.
29546
29547 * bus/usb/usbhub.c: Likewise.
29548
29549 * bus/usb/usb.c: Likewise.
29550
29551 * commands/usbtest.c: Likewise.
29552
29553 * util/usb.c: Likewise.
50fb7002 29554
d64399b5 29555 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
29556
29557 * configure.ac: Test for libusb presence.
50fb7002 29558
d64399b5 29559 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
29560
2b40d6bb 295612009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
29562
29563 * kern/mm.c: Add more comments.
29564
73a4ce81 295652009-02-08 Robert Millan <rmh@aybabtu.com>
29566
29567 Patch from Javier Martín.
29568 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
29569 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
29570
f821ce59 295712009-02-08 Robert Millan <rmh@aybabtu.com>
29572
29573 * fs/cpio.c: Split tar functionality to ...
29574 * fs/tar.c: ... here (new file). Update all users.
29575
aebfc4b0 295762009-02-07 Robert Millan <rmh@aybabtu.com>
29577
29578 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
29579 backward-incompatible features.
29580
29581 Based on patch from Javier Martín, with some adjustments.
29582
50fb7002 295832009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 29584
29585 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
29586
0bb5115e 295872009-02-07 Robert Millan <rmh@aybabtu.com>
29588
29589 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
29590 position of `disk/lvm.c' to ensure grub_init_all() always picks it
29591 after the RAID stuff.
29592
38a0f8e7 295932009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
29594
50fb7002 29595 Fixes problem when running vbetest command as reported by
38a0f8e7 29596 Vladimir Serbinenko <phcoder@gmail.com>.
29597
29598 * (grub_vbe_set_video_mode): Fixed problem with text modes.
29599
3143cc1c 296002009-02-04 Felix Zielcke <fzielcke@z-51.de>
29601
29602 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
29603 /dev/md/NpN style mdraid devices.
29604
9cba6fce 296052009-02-03 Felix Zielcke <fzielcke@z-51.de>
29606
29607 * util/unifont2pff.rb: Remove.
29608
e507a2c1 296092009-02-03 Felix Zielcke <fzielcke@z-51.de>
29610
29611 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
29612 `#'.
29613
d2c2b4cd 296142009-02-03 Felix Zielcke <fzielcke@z-51.de>
29615
29616 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
29617 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29618 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29619 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29620 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29621 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29622 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29623
b4315fb0 296242009-02-02 Christian Franke <franke@computer.org>
29625
29626 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
29627
de3aa260 296282009-02-01 Felix Zielcke <fzielcke@z-51.de>
29629
7c3ff286 29630 * INSTALL: Note that we now require at least autoconf 2.59 and
29631 that LZO is optional.
de3aa260 29632
825a182b 296332009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
29634
29635 Base on patch on bug #24154 created by Tomas Tintera
29636 <trosos@seznam.cz>.
29637
29638 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
29639
a69ef770 296402009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
29641
7c3ff286 29642 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 29643 <bero@arklinux.org>.
29644
29645 * normal/parser.y (script_init): Add missing semicolon.
29646
6fa42fa6 296472009-01-31 Colin D Bennett <colin@gibibit.com>
29648
7c3ff286 29649 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 29650 (free_menu_entry_classes): Added.
29651 (grub_normal_menu_addentry): Added class property handling.
29652 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
29653 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
29654
29655 * normal/menu_viewer.c: New file.
29656
29657 * normal/menu.c (run_menu_entry): Renamed to ...
29658 (grub_menu_execute_entry): ... this and made it as global.
29659 (grub_menu_run): Renamed to ...
29660 (show_text_menu): ... this and made it local.
29661 (show_text_menu): Adapt to new function names.
29662 (grub_normal_terminal_menu_viewer): New global variable.
29663
29664 * include/grub/menu.h: New file.
29665
29666 * include/grub/menu_viewer.h: New file.
29667
29668 * include/grub/normal.h: Added include to grub/menu.h.
29669 (grub_menu_entry): Moved to include/grub/menu.h.
29670 (grub_menu_entry_t): Likewise.
29671 (grub_menu): Likewise.
29672 (grub_menu_t): Likewise.
29673 (grub_normal_terminal_menu_viewer): Added.
29674 (grub_menu_execute_entry): Likewise.
29675 (grub_menu_run): Removed.
29676
29677 * DISTLIST: Added include/grub/menu.h.
29678 Added include/grub/menu_viewer.h.
29679 Added normal/menu_viewer.c.
29680
296812009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
29682
29683 * normal/execute.c (grub_script_execute_menuentry): Changed to use
29684 arglist for menutitle arguments.
29685
29686 * normal/main.c (grub_normal_menu_addentry): Likewise.
29687
29688 * normal/parser.y (menuentry): Likewise.
29689
29690 * normal/script.c (grub_script_create_cmdmenu): Likewise.
29691
29692 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
29693 (grub_script_create_cmdmenu): Likewise.
29694
29695 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
29696
29697 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
29698 changes.
29699
29700 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
29701
29702 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
29703
29704 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
29705
29706 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
29707
29708 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
29709
29710 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
29711
56192c23 297122009-01-30 Christian Franke <franke@computer.org>
29713
29714 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
29715 in option help text.
29716
d72521b3 297172009-01-27 Pavel Roskin <proski@gnu.org>
29718
29719 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
29720
994b5e84 297212009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
29722
29723 * commands/lsmmap.c: Add include to grub/machine/memory.h.
29724
29725 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
29726
29727 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
29728 unregister function.
29729
6a7eab2c 297302009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
29731
29732 * disk/scsi.c (grub_scsi_read): Fix sign problem.
29733
29734 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
29735
29736 * util/grub-mkfont.c (usage): Fix typo.
29737
29738 * util/elf/grub-mkimage.c (load_modules): Fix warning.
29739
1806b56e 297402009-01-26 Daniel Mierswa <impulze@impulze.org>
29741
3fb18f09 29742 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
29743
336e1fb9 29744 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
29745
1806b56e 29746 * kern/misc.c (grub_strcasecmp): New function.
29747 (grub_strcasecmp): Use grub_size_t instead of int for length.
29748 Fix return value.
29749 * include/grub/misc.h: Update function prototypes.
29750
580b2a0f 297512009-01-26 Robert Millan <rmh@aybabtu.com>
29752
29753 * configure.ac: Fix cross-compilation check.
ef257b36 29754
d31c24f1 297552009-01-22 Christian Franke <franke@computer.org>
29756
29757 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
29758 (precision) digit string. Allow `.format2' without `format1' (width).
29759 Limit input chars for `%s' output to `format2' if specified. This is
29760 compatible with standard printf ().
29761
3138b44c 297622009-01-22 Christian Franke <franke@computer.org>
29763
29764 * disk/ata.c (grub_ata_wait_status): Replace by ...
29765 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
29766 other status bits may be invalid while BSY is asserted.
29767 (grub_ata_check_ready): New function.
29768 (grub_ata_cmd): Removed.
29769 (grub_ata_wait_drq): New function.
29770 (grub_ata_strncpy): Remove inline.
29771 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
29772 and error check now done by grub_ata_wait_drq ().
29773 (grub_ata_pio_write): Likewise.
29774 (grub_atapi_identify): Set DEV before check for !BSY. Use
29775 grub_ata_wait_drq () to wait for data.
29776 (grub_ata_device_initialize): Add status register check to
29777 detect missing SATA slave devices. Add debug messages.
29778 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
29779 (grub_atapi_packet): Set DEV before check for !BSY. Replace
29780 transfer loop by grub_ata_pio_write ().
29781 (grub_ata_identify): Set DEV before check for !BSY. Use
29782 grub_ata_wait_drq () to wait for data.
ef257b36 29783 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 29784 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
29785 read/write in one loop. Fix invalid command on write. Fix incomplete
29786 command on (size % batch) == 0. Add missing error check after write of
29787 last block. Add debug messages.
29788 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
29789
59a64ef6 297902009-01-19 Christian Franke <franke@computer.org>
29791
29792 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
29793 (GRUB_ATAPI_IREASON_*): Likewise.
29794 (grub_ata_pio_write): Fix timeout error return.
29795 (grub_atapi_identify): Add grub_ata_wait () after cmd.
29796 (grub_atapi_wait_drq): New function.
29797 (grub_atapi_packet): New parameter `size'.
29798 Use grub_atapi_wait_drq () and direct write instead of
29799 grub_ata_pio_write ().
29800 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
29801 reads the number of bytes requested by the device for each DRQ
29802 assertion.
29803 (grub_atapi_write): Remove old implementation, return not
29804 implemented instead.
29805
1cfe20b3 298062009-01-19 Christian Franke <franke@computer.org>
29807
29808 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
29809 of 512 to calculate data size.
29810 (grub_scsi_read12): Likewise.
29811 (grub_scsi_write10): Likewise.
29812 (grub_scsi_write12): Likewise.
29813 (grub_scsi_read): Adjust size according to blocksize.
29814 Add checks for invalid blocksize and unaligned transfer.
29815
bee5fe5d 298162009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
29817
29818 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
29819
ef257b36 29820 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 29821 width glyphs.
29822
3e643f8c 298232009-01-19 Robert Millan <rmh@aybabtu.com>
29824
29825 * config.guess: Update to latest version from config git.
29826 * config.sub: Likewise.
29827
4fa80998 298282009-01-17 Felix Zielcke <fzielcke@z-51.de>
29829
29830 * Makefile.in: Change font compilation to use new grub-mkfont instead
29831 of java version.
29832
29833 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
29834 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
29835 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
29836 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
29837 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
29838 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
29839 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
29840 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
29841 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
29842
7086085b 298432009-01-16 Christian Franke <franke@computer.org>
29844
29845 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
29846 (enum grub_ata_timeout_milliseconds): New enum.
29847 (grub_ata_wait_status): Add parameter milliseconds.
29848 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
29849 recovery from timed-out commands.
29850 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
29851 return grub_errno instead of REG_ERROR.
29852 (grub_ata_pio_write): Add parameter milliseconds.
29853 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
29854 Pass milliseconds to grub_ata_wait_status () and
29855 grub_ata_pio_read ().
29856 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
29857 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
29858 grub_ata_wait_status (). Fix IDENTIFY timeout check.
29859 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
29860 It is not suitable for device detection, because DEV bit is ignored,
29861 the command may run too long, and not all devices set the signature
29862 properly.
29863 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
29864 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
29865 Fix device selection, DEV bit must be set first to address the registers
29866 of the correct device.
29867 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
29868 grub_ata_pio_read/write ().
29869 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
29870 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
29871
4a412913 298722009-01-13 Carles Pina i Estany <carles@pina.cat>
29873
29874 * util/grub-editenv.c (main): Use fseeko(), not fseek().
29875
7795c55e 298762009-01-13 Bean <bean123ch@gmail.com>
d913988c 29877
29878 * util/grub-mkfont.c (write_font): forget to remove some debug code.
29879
7795c55e 298802009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 29881
29882 * Makefile.in: (enable_grub_mkfont): New variable.
29883 (freetype_cflags): Likewise.
29884 (freetype_libs): Likewise.
29885
29886 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
29887 (grub_mkfont_SOURCES): New variable.
29888 (grub_mkfont_CFLAGS): Likewise.
29889 (grub_mkfont_LDFLAGS): Likewise.
29890
29891 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
29892 library if `--enable-grub-mkfont' is requested.
29893 (enable_grub_mkfont): New variable.
29894 (freetype_cflags): Likewise.
29895 (freetype_libs): Likewise.
29896
29897 * util/grub-mkfont.c: New file.
29898
093af1fe 298992009-01-12 Christian Franke <franke@computer.org>
29900
29901 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
29902 mode check. Fix setting of compat_use[].
29903
f36cc108 299042009-01-10 Robert Millan <rmh@aybabtu.com>
29905
29906 Update a few copyright years which we forgot to do in 2008 (only for
29907 files whose changes made in 2008 were copyright-significant)
29908
29909 * Makefile.in: Add 2008 to Copyright line.
29910 * disk/ieee1275/ofdisk.c: Likewise.
29911 * disk/efi/efidisk.c: Likewise.
29912 * kern/dl.c: Likewise.
29913 * kern/sparc64/ieee1275/init.c: Likewise.
29914 * kern/mm.c: Likewise.
29915 * kern/efi/mm.c: Likewise.
29916 * boot/i386/pc/boot.S: Likewise.
29917 * genfslist.sh: Likewise.
29918 * fs/iso9660.c: Likewise.
29919 * fs/hfs.c: Likewise.
29920 * fs/jfs.c: Likewise.
29921 * fs/minix.c: Likewise.
29922 * fs/ufs.c: Likewise.
29923 * gensymlist.sh.in: Likewise.
29924 * genkernsyms.sh.in: Likewise.
29925 * include/grub/misc.h: Likewise.
29926 * include/grub/types.h: Likewise.
29927 * include/grub/symbol.h: Likewise.
29928 * include/grub/elf.h: Likewise.
29929 * include/grub/kernel.h: Likewise.
29930 * include/grub/disk.h: Likewise.
29931 * include/grub/dl.h: Likewise.
29932 * include/grub/i386/linux.h: Likewise.
29933 * include/grub/i386/pc/biosdisk.h: Likewise.
29934 * include/grub/efi/api.h: Likewise.
29935 * include/grub/efi/pe32.h: Likewise.
29936 * include/grub/util/misc.h: Likewise.
29937 * normal/execute.c: Likewise.
29938 * normal/arg.c: Likewise.
29939 * normal/completion.c: Likewise.
29940 * normal/lexer.c: Likewise.
29941 * normal/parser.y: Likewise.
29942 * normal/misc.c: Likewise.
29943 * commands/i386/pc/vbeinfo.c: Likewise.
29944 * commands/hexdump.c: Likewise.
29945 * commands/terminal.c: Likewise.
29946 * commands/ls.c: Likewise.
29947 * commands/help.c: Likewise.
29948 * partmap/pc.c: Likewise.
29949 * loader/efi/chainloader.c: Likewise.
29950 * loader/multiboot_loader.c: Likewise.
29951 * loader/i386/pc/multiboot2.c: Likewise.
29952 * term/efi/console.c: Likewise.
29953 * term/i386/pc/serial.c: Likewise.
29954 * util/lvm.c: Likewise.
29955 * util/console.c: Likewise.
29956 * util/i386/efi/grub-mkimage.c: Likewise.
29957 * util/raid.c: Likewise.
29958
7f02114b 299592009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
29960
29961 * commands/videotest.c: Removed include to grub/machine/memory.h.
29962
29963 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
29964 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
29965 (video_mod_SOURCES): Removed.
29966 (video_mod_CFLAGS): Likewise.
29967 (video_mod_LDFLAGS): Likewise.
29968 (gfxterm_mod_SOURCES): Likewise.
29969 (gfxterm_mod_CFLAGS): Likewise.
29970 (gfxterm_mod_LDFLAGS): Likewise.
29971 (videotest_mod_SOURCES): Likewise.
29972 (videotest_mod_CFLAGS): Likewise.
29973 (videotest_mod_LDFLAGS): Likewise.
29974 (bitmap_mod_SOURCES): Likewise.
29975 (bitmap_mod_CFLAGS): Likewise.
29976 (bitmap_mod_LDFLAGS): Likewise.
29977 (tga_mod_SOURCES): Likewise.
29978 (tga_mod_CFLAGS): Likewise.
29979 (tga_mod_LDFLAGS): Likewise.
29980 (jpeg_mod_SOURCES): Likewise.
29981 (jpeg_mod_CFLAGS): Likewise.
29982 (jpeg_mod_LDFLAGS): Likewise.
29983 (png_mod_SOURCES): Likewise.
29984 (png_mod_CFLAGS): Likewise.
29985 (png_mod_LDFLAGS): Likewise.
29986
29987 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
29988 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
29989 (video_mod_SOURCES): Added.
29990 (video_mod_CFLAGS): Likewise.
29991 (video_mod_LDFLAGS): Likewise.
29992 (videotest_mod_SOURCES): Likewise.
29993 (videotest_mod_CFLAGS): Likewise.
29994 (videotest_mod_LDFLAGS): Likewise.
29995 (bitmap_mod_SOURCES): Likewise.
29996 (bitmap_mod_CFLAGS): Likewise.
29997 (bitmap_mod_LDFLAGS): Likewise.
29998 (tga_mod_SOURCES): Likewise.
29999 (tga_mod_CFLAGS): Likewise.
30000 (tga_mod_LDFLAGS): Likewise.
30001 (jpeg_mod_SOURCES): Likewise.
30002 (jpeg_mod_CFLAGS): Likewise.
30003 (jpeg_mod_LDFLAGS): Likewise.
30004 (png_mod_SOURCES): Likewise.
30005 (png_mod_CFLAGS): Likewise.
30006 (png_mod_LDFLAGS): Likewise.
30007 (gfxterm_mod_SOURCES): Likewise.
30008 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 30009 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 30010
30011 * term/gfxterm.c: Removed include to grub/machine/memory.h,
30012 grub/machine/console.h.
30013
644fff97 300142009-01-04 Jerone Young <jerone@gmail.com>
30015
30016 Make on screen instructions clearer
30017
30018 Based on patch created by Jidanni <jidanni@jidanni.org>
30019
30020 * normal/menu.c: print clearer instructions on the screen
30021
1e901a75 300222009-01-02 Colin D Bennett <colin@gibibit.com>
30023
30024 New font engine.
34c44600 30025
1e901a75 30026 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
30027 build system and fixed gfxterm.c to work with different sized fonts.
30028
30029 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 30030
1e901a75 30031 * configure: Re-generated.
34c44600 30032
1e901a75 30033 * DISTLIST: Removed font/manager.c.
30034 Added font/font.c.
30035 Added font/font_cmd.c.
34c44600 30036
1e901a75 30037 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
30038 compilation.
34c44600 30039
1e901a75 30040 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 30041
30042 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 30043
30044 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 30045
1e901a75 30046 * normal/menu.c: Likewise.
34c44600 30047
1e901a75 30048 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
30049 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 30050
1e901a75 30051 * include/grub/font.h: Replaced with new file.
34c44600 30052
1e901a75 30053 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
30054 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
30055 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
30056 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
30057 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 30058 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 30059 fg_red, fg_green, fg_blue, fg_alpha.
30060 (grub_video_adapter): Removed blit_glyph.
34c44600 30061 (grub_video_blit_glyph): Removed.
30062
1e901a75 30063 * font/manager.c: Removed file.
34c44600 30064
30065 * font/font.c: New file.
30066
1e901a75 30067 * font/font_cmd.c: Likewise.
34c44600 30068
1e901a75 30069 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 30070
1e901a75 30071 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
30072 (grub_video_vbe_map_rgba): Likewise.
30073 (grub_video_vbe_unmap_color_int): Likewise.
30074 (grub_video_vbe_blit_glyph): Removed.
30075 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 30076
1e901a75 30077 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
30078 (get_pixel): Likewise.
34c44600 30079 (set_pixel): Likewise.
30080
1e901a75 30081 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 30082
1e901a75 30083 * term/gfxterm.c: Adapted to new font engine.
34c44600 30084
1e901a75 30085 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 30086
1e901a75 30087 * term/i386/pc/vga.c: Likewise.
34c44600 30088
1e901a75 30089 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 30090
1e901a75 30091 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 30092
1e901a75 30093 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 30094
1e901a75 30095 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 30096
1e901a75 30097 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 30098
1e901a75 30099 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 30100
1e901a75 30101 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 30102
1e901a75 30103 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 30104
1e901a75 30105 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30106
30107 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 30108
1e901a75 30109 * util/grub-mkconfig_lib.in: Changed font extension.
30110
278922e8 301112008-12-28 Felix Zielcke <fzielcke@z-51.de>
30112
30113 * util/getroot.c (grub_util_get_grub_dev): Add support for
30114 /dev/md/dNNpNN style partitionable mdraid devices.
30115
3ced05cf 301162008-12-12 Alex Smith <alex@alex-smith.me.uk>
30117
30118 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
30119 at a time limit of the PXE TFTP API correctly.
30120 (grub_pxefs_close): Likewise.
30121
7fd0ee30 301222008-11-29 Robert Millan <rmh@aybabtu.com>
30123
34c44600 30124 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 30125 grub_ata_device_initialize() calls.
30126
34c44600 301272008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 30128
30129 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
30130 iteration failed.
30131 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
30132
89313780 301332008-11-28 Robert Millan <rmh@aybabtu.com>
30134
30135 Fix build on powerpc-ieee1275. Based on patch created by
30136 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
30137 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30138 `kern/ieee1275/mmap.c'.
30139 * include/grub/powerpc/ieee1275/memory.h: New file.
30140
15257703 30141 Provide grub-install on coreboot.
30142 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
30143 (grub_install_SOURCES): New variable.
30144 * util/i386/pc/grub-install.in: Add a few condition checks to make it
30145 usable on coreboot.
30146
9fc5388a 301472008-11-25 Felix Zielcke <fzielcke@z-51.de>
30148
30149 * util/grub-fstest.c (grub_term_get_current_input): Change return type
30150 to `grub_term_input_t'.
30151 (grub_term_get_current_output): Change return type to
30152 `grub_term_output_t'.
30153
bc3a2f31 301542008-11-22 Robert Millan <rmh@aybabtu.com>
30155
34c44600 30156 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 30157 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
30158 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
30159 grub_vga_text_cls().
30160
80fc88f2 30161 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 30162 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 30163
cbf36fd3 30164 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
30165 to 0x200000 (avoids trouble with some OFW implementations, and matches
30166 with the one in Yaboot).
30167 Reported by Manoel Abranches
30168
73e8e268 301692008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 30170
30171 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
30172 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
30173
73e8e268 30174 * util/grub-mkconfig_lib.in (grub_warn): New function.
30175 (convert_system_path_to_grub_path): Use grub_warn() when issuing
30176 warnings, to obtain consistent formatting.
30177 * util/grub.d/00_header.in: Likewise.
30178 * util/update-grub_lib.in: Likewise.
30179
e94045a1 30180 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 30181 Move comment text to `#error' stanza.
e94045a1 30182
79d29fd7 30183 Harmonize ieee1275's grub_available_iterate() with the generic
30184 grub_machine_mmap_iterate() interface (fixes a recently-introduced
30185 build problem on i386-ieee1275):
30186 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
30187 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
30188 parameter `type'. Update all users of this function.
30189 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
30190 `kern/ieee1275/mmap.c'.
30191 * kern/ieee1275/init.c
30192 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
30193 with ...
30194 (grub_machine_mmap_iterate): ... this.
30195 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
30196 return type to `grub_err_t'. Update all implementations of this
30197 function prototype.
30198 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
30199 Likewise.
30200
60d6b16e 30201 Add `lsmmap' command (lists firmware-provided memory map):
30202 * commands/lsmmap.c: New file.
30203 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
30204 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
30205 variables.
30206 * conf/powerpc-ieee1275.rmk: Likewise.
30207 * conf/i386-coreboot.rmk: Likewise.
30208 * conf/i386-ieee1275.rmk: Likewise.
30209
ebaaf49b 302102008-11-19 Robert Millan <rmh@aybabtu.com>
30211
30212 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 30213 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
30214 constraints to initrd allocation (based on code from
30215 loader/i386/pc/linux.c). Without them, initrd was allocated too high
30216 for Linux to find it.
ebaaf49b 30217
dfab719f 302182008-11-14 Robert Millan <rmh@aybabtu.com>
30219
30220 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
30221 order to cope with duplicate slashes.
30222
10fc3eb9 302232008-11-14 Robert Millan <rmh@aybabtu.com>
30224
30225 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
30226 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
30227 don't want to mess with lower memory, because it is used in the Linux
30228 loader.
30229
30230 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 30231 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 30232 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
30233 is in our heap (probably as a result of it being corrupted during
2f2a3442 30234 decompression). Add #error instance with comment to explain why this
30235 loader isn't currently usable on PC/BIOS.
10fc3eb9 30236
e2e07847 302372008-11-14 Robert Millan <rmh@aybabtu.com>
30238
30239 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 30240 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 30241
fe8e8d69 302422008-11-12 Robert Millan <rmh@aybabtu.com>
30243
30244 Make loader/i386/linux.c buildable on i386-pc (although disabled).
30245
30246 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
30247 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
30248 from here ...
30249 * include/grub/i386/pc/memory.h: ... to here.
30250
976b07d0 302512008-11-12 Robert Millan <rmh@aybabtu.com>
30252
30253 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
30254 split).
30255
30256 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
30257 (grub_console_cur_color, grub_console_real_putchar)
30258 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
30259 (grub_console_setcolorstate, grub_console_setcolor)
30260 (grub_console_getcolor): Move from here ...
30261 * include/grub/i386/vga_common.h: ... to here (new file).
30262
30263 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
30264 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
30265 `<grub/i386/io.h>'.
30266 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
30267 `<grub/i386/vga_common.h>'.
30268
76679cd3 302692008-11-12 Robert Millan <rmh@aybabtu.com>
30270
30271 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
30272 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
30273 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
30274 variables.
30275 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
30276 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
30277
30278 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
30279 grub_console_init() with call to grub_vga_text_init().
30280 (grub_machine_fini): Replace call to
30281 grub_console_fini() with call to grub_vga_text_fini() and
30282 grub_at_keyboard_fini().
30283
30284 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
30285 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
30286 (grub_console_setcolorstate, grub_console_setcolor)
30287 (grub_console_getcolor): New function prototypes.
30288
30289 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
30290 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
30291 (grub_vga_text_setcursor): Static-ize.
30292 (grub_vga_text_term): New structure.
30293 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
30294
30295 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
30296 (grub_console_cur_color, grub_console_standard_color)
30297 (grub_console_normal_color, grub_console_highlight_color)
30298 (map_char, grub_console_putchar, grub_console_getcharwidth)
30299 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
30300 (grub_console_getcolor): Move from here ...
30301 * term/i386/vga_common.c: ... to here (same function names).
30302
95b841d3 303032008-11-12 Robert Millan <rmh@aybabtu.com>
30304
30305 Use newly-added Multiboot support in coreboot.
30306
30307 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
30308 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
30309
30310 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
30311 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
30312 (codestart): Store the MBI in `startup_multiboot_info' when we're
30313 being loaded using Multiboot.
30314
30315 * kern/i386/coreboot/init.c (grub_machine_init): Move
30316 grub_at_keyboard_init() call to beginning of function (useful for
30317 debugging). Call grub_machine_mmap_init() before attempting to use
30318 grub_machine_mmap_iterate().
30319 (grub_lower_mem, grub_upper_mem): Move from here ...
30320 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
30321 here (new file).
30322
30323 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
30324 function prototype.
30325
761ca975 303262008-11-12 Robert Millan <rmh@aybabtu.com>
30327
30328 Fix a regression introduced by the at_keyboard.mod split. Because
30329 some terminals are default on some platforms and non-default on
30330 others, the first terminal being registered determines which is
30331 going to be default.
30332
30333 * kern/term.c (grub_term_register_input): If this is the first
30334 terminal being registered, set it as the current one.
30335 (grub_term_register_output): Likewise.
30336
30337 * term/efi/console.c (grub_console_init): Do not call
30338 grub_term_set_current_output() or grub_term_set_current_input().
30339 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
30340 * term/i386/pc/console.c (grub_console_init): Likewise.
30341 (grub_console_fini): Do not call grub_term_set_current_input()
30342 (but leave grub_term_set_current_output() to restore text mode).
30343
6c529df7 303442008-11-10 Robert Millan <rmh@aybabtu.com>
30345
30346 * util/grub.d/00_header.in: Add backward compatibility check for
30347 versions of terminal.mod that don't understand `terminal_input' or
30348 `terminal_output'.
30349
132e4113 303502008-11-09 Robert Millan <rmh@aybabtu.com>
30351
30352 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
30353 `terminal_input' / `terminal_output', not `terminal'.
30354
ac293d50 303552008-11-08 Robert Millan <rmh@aybabtu.com>
30356
30357 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 30358 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 30359
0025933a 303602008-11-08 Robert Millan <rmh@aybabtu.com>
30361
30362 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 30363 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 30364 members. Update all users.
30365 * util/console.c (grub_ncurses_term): Split in ...
30366 (grub_ncurses_term_input): ... this, and ...
30367 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 30368 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 30369
37c86336 303702008-11-08 Robert Millan <rmh@aybabtu.com>
30371
30372 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
30373 (PKGDATA): Add $(pkgdata_SRCDIR).
30374 (pkglib_BUILDDIR): New variable.
30375 (pkgdata_SRCDIR): New variable.
30376 (build_env.mk): New target.
30377 (include_DATA): New variable.
30378 (install-local): Install $(include_DATA) files in $(includedir).
30379
b6c15a2d 303802008-11-07 Pavel Roskin <proski@gnu.org>
30381
d99d46f1 30382 * gendistlist.sh: Use C locale for sorting to ensure consistent
30383 output on all systems.
30384
b6c15a2d 30385 * util/grub.d/00_header.in: Remove incorrect space before
30386 "serial".
30387
c32ee8c9 303882008-11-07 Robert Millan <rmh@aybabtu.com>
30389
30390 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
30391 per specification.
30392 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
30393 * loader/multiboot_loader.c (find_multi_boot2_header): New function
30394 (based on find_multi_boot1_header).
30395 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
30396 using find_multi_boot2_header(), and abort if neither Multiboot or
30397 Multiboot headers were found.
30398
651c29b7 303992008-11-07 Robert Millan <rmh@aybabtu.com>
30400
30401 Modularize at_keyboard.mod:
30402
30403 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
30404 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
30405 (at_keyboard_mod_LDFLAGS): New variables.
30406
30407 Actual terminal split:
30408
30409 * include/grub/term.h (struct grub_term): Split in ...
30410 (struct grub_term_input): ... this, and ...
30411 (struct grub_term_output): ... this. Update all users.
30412 (grub_term_set_current): Split in ...
30413 (grub_term_set_current_input): ... this, and ...
30414 (grub_term_set_current_output): ... this.
30415 (grub_term_get_current): Split in ...
30416 (grub_term_get_current_input): ... this, and ...
30417 (grub_term_get_current_output): ... this.
30418 (grub_term_register): Split in ...
30419 (grub_term_register_input): ... this, and ...
30420 (grub_term_register_output): ... this.
30421 (grub_term_unregister): Split in ...
30422 (grub_term_unregister_input): ... this, and ...
30423 (grub_term_unregister_output): ... this.
30424 (grub_term_iterate): Split in ...
30425 (grub_term_iterate_input): ... this, and ...
30426 (grub_term_iterate_output): ... this.
30427
30428 * kern/term.c (grub_term_list): Split in ...
30429 (grub_term_list_input): ... this, and ...
30430 (grub_term_list_output): ... this. Update all users.
30431 (grub_cur_term): Split in ...
30432 (grub_cur_term_input): ... this, and ...
30433 (grub_cur_term_output): ... this. Update all users.
30434 (grub_term_set_current): Split in ...
30435 (grub_term_set_current_input): ... this, and ...
30436 (grub_term_set_current_output): ... this.
30437 (grub_term_get_current): Split in ...
30438 (grub_term_get_current_input): ... this, and ...
30439 (grub_term_get_current_output): ... this.
30440 (grub_term_register): Split in ...
30441 (grub_term_register_input): ... this, and ...
30442 (grub_term_register_output): ... this.
30443 (grub_term_unregister): Split in ...
30444 (grub_term_unregister_input): ... this, and ...
30445 (grub_term_unregister_output): ... this.
30446 (grub_term_iterate): Split in ...
30447 (grub_term_iterate_input): ... this, and ...
30448 (grub_term_iterate_output): ... this.
30449
30450 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
30451 a check for input and one for output (and only attempt to get keys
30452 from user when input works).
30453
30454 * util/grub-probe.c (grub_term_get_current): Split in ...
30455 (grub_term_get_current_input): ... this, and ...
30456 (grub_term_get_current_output): ... this.
30457 * util/grub-fstest.c: Likewise.
30458 * util/i386/pc/grub-setup.c: Likewise.
30459 * util/grub-editenv.c: Likewise.
30460
30461 Portability adjustments:
30462
30463 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
30464 `term/i386/pc/at_keyboard.c'.
30465 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
30466 grub_keyboard_controller_init() (now handled by terminal .init).
30467 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
30468 grub_at_keyboard_init().
30469 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
30470 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
30471 at_keyboard.mod via input terminal interface).
30472 * include/grub/i386/coreboot/console.h: Convert into a stub for
30473 `<grub/i386/pc/console.h>'.
30474
30475 Migrate full terminals to new API:
30476
30477 * term/efi/console.c (grub_console_term): Split into ...
30478 (grub_console_term_input): ... this, and ...
30479 (grub_console_term_output): ... this. Update all users.
30480 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
30481 (grub_ofconsole_init): Split into ...
30482 (grub_ofconsole_init_input): ... this, and ...
30483 (grub_ofconsole_init_output): ... this.
30484 (grub_ofconsole_term): Split into ...
30485 (grub_ofconsole_term_input): ... this, and ...
30486 (grub_ofconsole_term_output): ... this. Update all users.
30487 * term/i386/pc/serial.c (grub_serial_term): Split into ...
30488 (grub_serial_term_input): ... this, and ...
30489 (grub_serial_term_output): ... this. Update all users.
30490 * term/i386/pc/console.c (grub_console_term): Split into ...
30491 (grub_console_term_input): ... this, and ...
30492 (grub_console_term_output): ... this. Update all users.
30493 (grub_console_term_input): Only enable it on PC/BIOS platform.
30494 (grub_console_init): Remove grub_keyboard_controller_init() call.
30495
30496 Migrate input terminals to new API:
30497
30498 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
30499 `i386' and `i386/pc' to enable build on x86_64 (this driver is
30500 i386-specific anyway).
30501 (grub_console_checkkey): Rename to ...
30502 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
30503 users.
30504 (grub_keyboard_controller_orig): New variable.
30505 (grub_console_getkey): Rename to ...
30506 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
30507 users.
30508 (grub_keyboard_controller_init): Static-ize. Save original
30509 controller value so that it can be restored ...
30510 (grub_keyboard_controller_fini): ... here (new function).
30511 (grub_at_keyboard_term): New structure.
30512 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
30513 functions.
30514
30515 Migrate output terminals to new API:
30516
30517 * term/i386/pc/vga.c (grub_vga_term): Change type to
30518 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
30519 members. Update all users.
30520 * term/gfxterm.c (grub_video_term): Change type to
30521 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
30522 members. Update all users.
30523 * include/grub/i386/pc/console.h (grub_console_checkkey)
30524 (grub_console_getkey): Do not export (no longer needed by gfxterm,
30525 etc).
30526
30527 Migrate `terminal' command and userland tools to new API:
30528
30529 * commands/terminal.c (grub_cmd_terminal): Split into ...
30530 (grub_cmd_terminal_input): ... this, and ...
30531 (grub_cmd_terminal_output): ... this.
30532 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
30533 `terminal_input' and `terminal_output'.
30534 * util/grub.d/00_header.in: Adjust `terminal' calls to new
30535 `terminal_input' / `terminal_output' API.
30536 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
30537 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
30538 provided ${GRUB_TERMINAL}, convert it).
30539
96e5d876 305402008-11-04 Robert Millan <rmh@aybabtu.com>
30541
30542 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
30543 for FreeBSD.
30544 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
30545
556f3775 305462008-11-03 Bean <bean123ch@gmail.com>
30547
30548 * kern/elf.c (grub_elf32_load): Revert to previous code.
30549 (grub_elf64_load): Likewise.
30550
30551 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
30552
926b9823 305532008-11-01 Robert Millan <rmh@aybabtu.com>
30554
30555 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
30556 (TARGET_CPPFLAGS): Likewise.
30557 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
30558
1432e958 305592008-11-01 Carles Pina i Estany <carles@pina.cat>
30560
30561 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
30562
dba3f844 305632008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 30564
30565 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
30566 addition of objects until the code is not going to be able to fail.
30567
dba3f844 305682008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 30569
30570 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
30571 (add a missing NULL check, and correct them by moving the pointer
30572 operations after the actual check).
30573
7ab28c21 305742008-10-29 Robert Millan <rmh@aybabtu.com>
30575
30576 * util/i386/pc/grub-install.in: Handle empty string as output from
30577 make_system_path_relative_to_its_root().
30578
1b7748eb 305792008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
30580
30581 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
30582 circular metadata worst case scenario. If the metadata is circular
30583 then copy the wrap in place.
30584 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
30585 project lib/format_text/layout.h
30586 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
30587
c9618ab2 305882008-10-03 Felix Zielcke <fzielcke@z-51.de>
30589
7a36edca 30590 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 30591
bf981c62 305922008-10-03 Felix Zielcke <fzielcke@z-51.de>
30593
30594 * util/update-grub_lib.in: Mention filename in warning message.
30595
6d994591 305962008-09-29 Felix Zielcke <fzielcke@z-51.de>
30597
30598 * NEWS: Update for rename of update-grub to grub-mkconfig.
30599
18ade780 306002008-09-29 Felix Zielcke <fzielcke@z-51.de>
30601
30602 * util/update-grub_lib.in: Copy to ...
30603 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 30604 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 30605 * util/update-grub.in: Rename to ...
30606 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
30607 option. Add `--output' option to allow users to specify the generated
30608 configuration file. Default to stdout.
30609 (update_grub_dir): Rename to ...
30610 (grub_mkconfig_dir): ... this.
30611 (grub_cfg): Default to an empty string.
30612 * conf/common.rmk (update-grub): Rename to ...
30613 (grub-mkconfig): ... this.
30614 (update-grub_lib): Copy to ...
30615 (grub-mkconfig_lib): ... this.
30616 (update-grub_SCRIPTS): Copy to ...
30617 (grub-mkconfig_SCRIPTS): ... this. Update all users.
30618 (update-grub_DATA): Rename to ...
30619 (grub-mkconfig_DATA): ... this.
30620
556ce6ac 306212008-09-28 Robert Millan <rmh@aybabtu.com>
30622
30623 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
30624 to `modified'. Add the real `created' field.
30625 (grub_iso9660_uuid): Use `modified' rather than `created' for
30626 constructing the UUID.
30627
306282008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 30629
30630 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
30631 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
30632
92274e85 306332008-09-28 Bean <bean123ch@gmail.com>
30634
30635 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
30636 Thanks to Christian Franke for finding this bug.
30637
add6f17a 306382008-09-25 Robert Millan <rmh@aybabtu.com>
30639
30640 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
30641 instances of grub_util_get_disk_name() (see previous commit).
30642
d2a367b8 306432008-09-25 Robert Millan <rmh@aybabtu.com>
30644
30645 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
30646 `util/i386/get_disk_name.c'.
30647 * conf/i386-efi.rmk: Likewise.
30648 * conf/x86_64-efi.rmk: Likewise.
30649 * conf/i386-coreboot.rmk: Likewise.
30650 * conf/i386-ieee1275.rmk: Likewise.
30651 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
30652 `util/ieee1275/get_disk_name.c'.
30653 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
30654 * util/ieee1275/get_disk_name.c: Remove file.
30655 * util/i386/get_disk_name.c: Remove file.
30656 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
30657 "hd%d" for device.map entries, rather than using
30658 grub_util_get_disk_name().
30659
81a06771 306602008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 30661
30662 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
30663 warning.
30664 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
30665
5a004279 306662008-09-24 Carles Pina i Estany <carles@pina.cat>
30667
30668 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
30669 Changed to 0x5100.
30670 (GRUB_TERM_PPAGE): Changed to 0x4900.
30671
397093d3 306722008-09-24 Robert Millan <rmh@aybabtu.com>
30673
30674 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
30675 macros (they were i386-pc specific).
30676 * include/grub/sparc64/ieee1275/console.h: Likewise.
30677 * include/grub/efi/console.h: Likewise.
30678
a91b6c7c 306792008-09-22 Bean <bean123ch@gmail.com>
30680
30681 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
30682 resident and in attribute list.
30683
30684 * include/grub/ntfs.h (BMP_LEN): Removed.
30685
c40fd116 306862008-09-22 Bean <bean123ch@gmail.com>
30687
81a06771 30688 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 30689 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
30690
30691 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
30692 error occurs, as grub_disk_open will call grub_disk_close, which will
30693 call p->close (scsi).
30694
81a06771 306952008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 30696
30697 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
30698 (AC_PREREQ): Bumped to 2.59.
30699 (AC_TRY_COMPILE): Replace obsolete macro with ...
30700 (AC_COMPILE_IFELSE): ... this.
30701 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
30702 (AC_LINK_IFELSE): ... this.
30703
5dc43410 307042008-09-21 Felix Zielcke <fzielcke@z-51.de>
30705
30706 * autogen.sh: Add a call to `gendistlist.sh'.
30707
9035dce4 307082008-09-19 Christian Franke <franke@computer.org>
30709
30710 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
30711 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
30712 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
30713 Export __enable_execute_stack() to modules.
30714 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
30715 New function.
30716
7fd75377 307172008-09-09 Felix Zielcke <fzielcke@z-51.de>
30718
040030b3 30719 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
30720 Sort the list.
30721
307222008-09-09 Felix Zielcke <fzielcke@z-51.de>
30723
30724 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 30725 #include <grub/util/hostdisk.h>.
30726
89d5ffcf 307272008-09-08 Robert Millan <rmh@aybabtu.com>
30728
30729 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
30730 segments when their filesz is zero (grub_file_read() interprets
81a06771 30731 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 30732 Use `lowest_segment' rather than 0 for calculating the current
30733 segment load address.
30734
40da438f 307352008-09-08 Robert Millan <rmh@aybabtu.com>
30736
30737 * util/hostdisk.c (open_device): Replace a grub_util_info() call
30738 with grub_dprintf("hostdisk", ...), as it was so verbose that it
30739 clobbered useful information.
30740
ddbf5556 307412008-09-08 Robert Millan <rmh@aybabtu.com>
30742
30743 * include/grub/util/biosdisk.h: Move to ...
30744 * include/grub/util/hostdisk.h: ... here. Update all users.
30745 * util/biosdisk.c: Move to ...
30746 * util/hostdisk.c: ... here. Update all users.
30747
783d0f48 307482008-09-07 Robert Millan <rmh@aybabtu.com>
30749
30750 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
30751 variables.
30752 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
30753 and length can be stored directly in the `mbi->mmap_addr' and
30754 `mbi->mmap_length' struct fields.
30755
548e2ea5 307562008-09-07 Robert Millan <rmh@aybabtu.com>
30757
30758 * conf/i386.rmk: New file. Provides declaration for building
30759 `cpuid.mod'.
30760 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
30761 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
30762 variables.
30763 Include `conf/i386.mk'.
30764 * conf/i386-efi.rmk: Likewise.
30765 * conf/x86_64-efi.rmk: Likewise.
30766 * conf/i386-coreboot.rmk: Likewise.
30767 * conf/i386-ieee1275.rmk: Likewise.
30768
0ea85a37 307692008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
30770
30771 Based on patch created by Colin D Bennett <colin@gibibit.com>.
30772 Adds optimization support for BGR based modes.
30773
30774 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
30775 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
30776 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
30777 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
30778 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
30779 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
30780 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
30781 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
30782 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
30783 (grub_video_i386_vbeblit_index_index): Likewise.
30784 (grub_video_i386_vbeblit_replace_directN): Added.
30785 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
30786 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
30787 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
30788 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
30789 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
30790 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 30791 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 30792 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
30793 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
30794 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
30795 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
30796 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
30797 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
30798
30799 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
30800 (grub_video_i386_vbefill_R8G8B8): Likewise.
30801 (grub_video_i386_vbefill_index): Likewise.
30802 (grub_video_i386_vbefill_direct32): Added.
30803 (grub_video_i386_vbefill_direct24): Likewise.
30804 (grub_video_i386_vbefill_direct16): Likewise.
30805 (grub_video_i386_vbefill_direct8): Likewise.
30806
81a06771 30807 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 30808 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
30809 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
30810 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
30811 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
30812 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 30813
0ea85a37 30814 * video/video.c (grub_video_get_blit_format): Updated to use new
30815 blit formats. Added handling for 16 bit color modes.
81a06771 30816
30817 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 30818 fillers.
30819 (common_blitter): Updated to use new blitters.
30820
30821 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
30822 Removed.
30823 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
30824 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
30825 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
30826 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
30827 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
30828 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
30829 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
30830 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
30831 (grub_video_i386_vbeblit_index_index): Likewise.
30832 (grub_video_i386_vbeblit_replace_directN): Added.
30833 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
30834 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
30835 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
30836 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
30837 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
30838 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
30839 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
30840 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
30841 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
30842 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
30843 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
30844 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
30845 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 30846
0ea85a37 30847 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
30848 (grub_video_i386_vbefill_R8G8B8): Likewise.
30849 (grub_video_i386_vbefill_index): Likewise.
30850 (grub_video_i386_vbefill_direct32): Added.
30851 (grub_video_i386_vbefill_direct24): Likewise.
30852 (grub_video_i386_vbefill_direct16): Likewise.
30853 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 30854
0ea85a37 30855 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
30856 types.
81a06771 30857
0ea85a37 30858 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
30859 types.
81a06771 30860
0ea85a37 30861 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
30862 blitter types.
81a06771 30863
0ea85a37 30864 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
30865 types.
30866
e8a83df6 308672008-09-06 Felix Zielcke <fzielcke@z-51.de>
30868
30869 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
30870 RAID level 1.
30871
6bcd8ee5 308722008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 30873
6bcd8ee5 30874 * fs/iso9660.c (grub_iso9660_date): New structure.
30875 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
30876 (grub_iso9660_uuid): New function.
c375ae58 30877
59261157 308782008-09-05 Bean <bean123ch@gmail.com>
30879
30880 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
30881
30882 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
30883 insensitive bit for names in Win32 and Win32 & DOS namespace.
30884
30885 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
30886
30887 * include/grub/types.h (LONG_MAX): Likewise.
30888
58b6645a 308892008-09-04 Felix Zielcke <fzielcke@z-51.de>
30890
4ee55921 30891 * util/getroot.c: Include <config.h>.
30892 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
30893 add support for /dev/md/N devices and handle LVM double dash escaping.
30894
308952008-09-04 Felix Zielcke <fzielcke@z-51.de>
30896
30897 * config.guess: Update to latest version from config git.
30898 * config.sub: Likewise.
58b6645a 30899
9124f65d 309002008-09-03 Robert Millan <rmh@aybabtu.com>
30901
30902 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
30903 `disk->total_sectors'.
30904
81a06771 309052008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 30906
30907 * include/grub/normal.h: Fixed incorrect comment for
30908 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
30909
81a06771 309102008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 30911
30912 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
30913 values with defines.
30914
30915 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
30916 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
30917 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
30918 (GRUB_VBE_MODEATTR_COLOR): Likewise.
30919 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
30920 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
30921 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
30922 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
30923 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
30924 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
30925 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
30926 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
30927 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
30928 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
30929 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
30930 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
30931 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
30932 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
30933 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
30934
93d5cbf8 309352008-08-31 Robert Millan <rmh@aybabtu.com>
30936
30937 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
30938 declaration.
30939 (grub_multiboot): Fix a few warnings.
30940
21751d50 309412008-08-31 Robert Millan <rmh@aybabtu.com>
30942
30943 * loader/i386/pc/multiboot.c: Update comment not to say that
30944 boot_device support is unimplemented.
30945
e27a75c5 309462008-08-31 Robert Millan <rmh@aybabtu.com>
30947
30948 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
30949 or memory map support are unimplemented.
30950
81a06771 309512008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 30952
30953 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
30954
81a06771 309552008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 30956
30957 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
30958 total video memory in 'vbeinfo' output; show color format details for
30959 each video mode.
30960
7c5d8d95 309612008-08-30 Pavel Roskin <proski@gnu.org>
30962
30963 * util/genmoddep.c: Remove for real this time.
30964 * DISTLIST: Remove util/genmoddep.c.
30965
4cebd25a 309662008-08-30 Robert Millan <rmh@aybabtu.com>
30967
30968 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
30969 as required by Multiboot spec (it was already 4-byte aligned, but
30970 only by chance).
30971
b497a269 309722008-08-29 Pavel Roskin <proski@gnu.org>
30973
e3925185 30974 * kern/powerpc/ieee1275/crt0.S: Rename to ...
30975 * kern/powerpc/ieee1275/startup.S: ... this.
30976 * conf/powerpc-ieee1275.rmk: Adjust for the above.
30977 * DISTLIST: Likewise.
30978
b497a269 30979 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
30980 grub/cpu/kernel.h. Add start label for consistency with other
30981 platforms. Add grub_prefix immediately after start. Add jump
30982 to the code after grub_prefix.
30983 * include/grub/powerpc/kernel.h: Provide valid values for
30984 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
30985
6e5a42fe 309862008-08-29 Bean <bean123ch@gmail.com>
30987
30988 * configure.ac: Change host_os to cygwin for mingw.
30989 (asprintf): New check for function.
30990
30991 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
30992 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
30993
30994 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 30995 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 30996 sync, sleep and grub_util_get_disk_size for mingw.
30997
30998 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
30999 to get size in mingw.
31000 (open_device): Use flag O_BINARY if it's defined.
31001 (find_root_device): Add dummy code for mingw.
31002
31003 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
31004 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
31005 (get_scsi_disk_name): Return 0 for mingw.
31006
31007 * util/hostfs.c: #include <grub/util/misc.h>.
31008 (grub_hostfs_open): Use "rb" flag to open file, use
31009 grub_util_get_disk_size to get disk size for mingw.
31010
31011 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
31012 (asprintf): New function if HAVE_ASPRINTF is not set.
31013 (sync): New function for mingw.
31014 (sleep): Likewise.
31015 (grub_util_get_disk_size): Likewise.
31016
ab3f2673 310172008-08-28 Pavel Roskin <proski@gnu.org>
31018
31019 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31020 kern/time.c.
31021
1c282483 310222008-08-28 Robert Millan <rmh@aybabtu.com>
31023
31024 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
31025
678e849c 310262008-08-28 Robert Millan <rmh@aybabtu.com>
31027
31028 Change find_grub_drive() syntax so it doesn't prevent it from
31029 detecting NULL names as errors.
31030
31031 * util/biosdisk.c (find_grub_drive): Move free slot search code
31032 from here ...
31033 (find_free_slot): ... to here.
31034 (read_device_map): Use find_free_slot() to search for free slots.
31035
965c75ca 310362008-08-27 Marco Gerards <marco@gnu.org>
31037
31038 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
31039 (scsi_mod_SOURCES): New variable.
31040 (scsi_mod_CFLAGS): Likewise
31041 (scsi_mod_LDFLAGS): Likewise.
31042
31043 * disk/scsi.c: New file.
31044
31045 * include/grub/scsi.h: Likewise.
31046
31047 * include/grub/scsicmd.h: Likewise.
31048
31049 * disk/ata.c: Include <grub/scsi.h>.
31050 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
31051 instead.
31052 (grub_ata_iterate): Skip ATAPI devices.
31053 (grub_ata_open): Only handle ATAPI devices.
31054 (struct grub_atapi_read): Removed.
31055 (grub_atapi_readsector): Likewise.
31056 (grub_ata_read): No longer handle ATAPI devices.
31057 (grub_ata_write): Likewise.
31058 (grub_atapi_iterate): New function.
31059 (grub_atapi_read): Likewise.
31060 (grub_atapi_write): Likewise.
31061 (grub_atapi_open): Likewise.
31062 (grub_atapi_close): Likewise.
31063 (grub_atapi_dev): New variable.
31064 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
31065 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
31066
31067 * include/grub/disk.h (enum grub_disk_dev_id): Add
31068 `GRUB_DISK_DEVICE_SCSI_ID'.
31069
c07ae501 310702008-08-26 Robert Millan <rmh@aybabtu.com>
31071
31072 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
31073 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
31074 descriptive.
31075
5ed20adc 310762008-08-23 Bean <bean123ch@gmail.com>
31077
31078 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
31079 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31080 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
31081 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
31082 dm_nv.mod.
31083 (raid5rec_mod_SOURCES): New macro.
31084 (raid5rec_mod_CFLAGS): Likewise.
31085 (raid5rec_mod_LDFLAGS): Likewise.
31086 (raid6rec_mod_SOURCES): Likewise.
31087 (raid6rec_mod_CFLAGS): Likewise.
31088 (raid6rec_mod_LDFLAGS): Likewise.
31089 (mdraid_mod_SOURCES): Likewise.
31090 (mdraid_mod_CFLAGS): Likewise.
31091 (mdraid_mod_LDFLAGS): Likewise.
31092 (dm_nv_mod_SOURCES): Likewise.
31093 (dm_nv_mod_CFLAGS): Likewise.
31094 (dm_nv_mod_LDFLAGS): Likewise.
31095
31096 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
31097 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31098 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31099
31100 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
31101 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31102
31103 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31104
31105 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31106
31107 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31108
31109 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31110
31111 * disk/raid5_recover.c: New file.
31112
31113 * disk/raid6_recover.c: Likewise.
31114
31115 * disk/mdraid_linux.c: Likewise.
31116
31117 * disk/dmraid_nvidia.c: Likewise.
31118
31119 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
31120 ULONG_MAX.
31121
31122 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
31123 calculate the size of raid device.
31124 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
31125 different layout of raid5.
31126 (grub_raid_scan_device): Remove code specific to mdraid.
31127 (grub_raid_list): New variable.
31128 (free_array): New function.
31129 (grub_raid_register): Likewise.
31130 (grub_raid_unregister): Likewise.
31131 (grub_raid_rescan): Likewise.
31132 (GRUB_MOD_INIT): Don't iterate device here.
31133 (GRUB_MOD_FINI): Use free_array to release resource.
31134
31135 * include/grub/raid.h: Remove macro and structure specific to mdraid.
31136 (grub_raid5_recover_func_t): New function variable type.
31137 (grub_raid6_recover_func_t): Likewise.
31138 (grub_raid5_recover_func): New variable.
31139 (grub_raid6_recover_func): Likewise.
31140 (grub_raid_register): New function.
31141 (grub_raid_unregister): Likewise.
31142 (grub_raid_rescan): Likewise.
31143 (grub_raid_block_xor): Likewise.
31144
31145 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
31146 (CMD_CRC): New macro.
31147 (part): Removed.
31148 (read_file): Handle device as well as file.
31149 (cmd_crc): New function.
31150 (fstest): Handle multiple disks.
31151 (options): Remove part, raw and long, add root and diskcount.
31152 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 31153 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 31154 add handling for the new options, support multiple disks.
31155
31156 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
31157
29c18915 311582008-08-23 Bean <bean123ch@gmail.com>
31159
31160 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
31161
31162 * genfslist.sh: Ignore kernel.mod.
31163
31164 * genpartmaplist.sh: Likewise.
31165
8415f261 311662008-08-23 Robert Millan <rmh@aybabtu.com>
31167
31168 * util/getroot.c (find_root_device): Skip anything that starts with
31169 a dot, not just directories. This avoids things like /dev/.tmp.md0.
31170
d5a7dc5b 311712008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 31172
d5a7dc5b 31173 * util/update-grub.in (GRUB_GFXMODE): Export variable.
31174 * util/grub.d/00_header.in: Allow the administrator to change default
31175 gfxmode via ${GRUB_GFXMODE}.
31176
380cfbb4 311772008-08-21 Felix Zielcke <fzielcke@z-51.de>
31178
31179 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
31180
c9baafe7 311812008-08-21 Robert Millan <rmh@aybabtu.com>
31182
31183 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
31184 loader.
31185 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
31186 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
31187
e290bef2 311882008-08-20 Carles Pina i Estany <carles@pina.cat>
31189
31190 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
31191 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
31192
f9dbfc96 311932008-08-19 Robert Millan <rmh@aybabtu.com>
31194
31195 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
31196 (struct grub_virtual_screen): Remove `cursor_color'.
31197 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
31198 initialization.
31199 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
31200
dd6bd6ab 312012008-08-18 Robert Millan <rmh@aybabtu.com>
31202
31203 Unify (identical) linux_normal.c files.
31204 * loader/i386/efi/linux_normal.c: Move from here ...
31205 * loader/linux_normal.c: ... to here. Update all users.
31206 * loader/i386/pc/linux_normal.c: Delete. Update all users.
31207 * loader/i386/ieee1275/linux_normal.c: Likewise.
31208
7f42f83e 312092008-08-18 Robert Millan <rmh@aybabtu.com>
31210
31211 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
31212 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
31213 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
31214 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
31215 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
31216 New macros.
31217 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
31218 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
31219 (GRUB_LINUX_CL_END_OFFSET): ... to here.
31220 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
31221 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
31222 (GRUB_EFI_CL_END_OFFSET): Rename to ...
31223 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
31224 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
31225 Initialize `params->video_cursor_x' and `params->video_cursor_y'
31226 portably using grub_getxy().
31227 Replace `-EFI' with `-bzImage' in boot message.
31228
38487ddb 312292008-08-17 Robert Millan <rmh@aybabtu.com>
31230
31231 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
31232
deceb3ec 312332008-08-17 Robert Millan <rmh@aybabtu.com>
31234
31235 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
31236
31237 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
31238 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
31239 (grub_machine_mmap_iterate): New function declaration.
31240 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
31241 structure.
31242 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
31243 macros.
31244
31245 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
31246 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
31247 Move e820 parsing from here ...
31248 * kern/i386/pc/mmap.c: New file.
31249 (grub_machine_mmap_iterate): ... to here.
31250
31251 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
31252 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
31253 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
31254 (grub_available_iterate): Redeclare to return `void', and redeclare
31255 its hook to use grub_uint64_t as addr and size parameters, and rename
31256 to ...
31257 (grub_machine_mmap_iterate): ... this. Update all users.
31258
31259 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
31260 to make it more readable. Rename to ...
31261 (grub_machine_mmap_iterate): ... this.
31262
31263 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
31264 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
31265 (grub_multiboot): Allocate an extra region after the payload, and fill
31266 it with a Multiboot memory map. Adjust a.out loader to calculate size
31267 with the extra space.
31268 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
31269 with the extra space.
31270
f8aa0f43 312712008-08-17 Carles Pina i Estany <carles@pina.cat>
31272
9807deb9 31273 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 31274
605f5bb6 312752008-08-17 Felix Zielcke <fzielcke@z-51.de>
31276
31277 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
31278 mdate-sh to the list `find' searches for.
31279 * DISTLIST: Regenerated.
31280
210db6c6 312812008-08-16 Felix Zielcke <fzielcke@z-51.de>
31282
31283 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
31284 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 31285 genmoddep.awk, gensymlist.sh.in.
31286 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 31287 * DISTLIST: Regenerated.
48cdbfd4 31288 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 31289
1082b929 312902008-08-16 Robert Millan <rmh@aybabtu.com>
31291
31292 * disk/raid.c (grub_raid_init): Handle/report errors set by
31293 grub_device_iterate().
31294 * disk/lvm.c (grub_lvm_init): Likewise.
31295
42ce5170 312962008-08-15 Bean <bean123ch@gmail.com>
31297
31298 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31299 and datehook.mod.
31300 (datetime_mod_SOURCES): New macro.
31301 (datetime_mod_CFLAGS): Likewise.
31302 (datetime_mod_LDFLAGS): Likewise.
31303 (date_mod_SOURCES): Likewise.
31304 (date_mod_CFLAGS): Likewise.
31305 (date_mod_LDFLAGS): Likewise.
31306 (datehook_mod_SOURCES): Likewise.
31307 (datehook_mod_CFLAGS): Likewise.
31308 (datehook_mod_LDFLAGS): Likewise.
31309
31310 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31311 and datehook.mod.
31312 (datetime_mod_SOURCES): New macro.
31313 (datetime_mod_CFLAGS): Likewise.
31314 (datetime_mod_LDFLAGS): Likewise.
31315 (date_mod_SOURCES): Likewise.
31316 (date_mod_CFLAGS): Likewise.
31317 (date_mod_LDFLAGS): Likewise.
31318 (datehook_mod_SOURCES): Likewise.
31319 (datehook_mod_CFLAGS): Likewise.
31320 (datehook_mod_LDFLAGS): Likewise.
31321
31322 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31323 and datehook.mod.
31324 (datetime_mod_SOURCES): New macro.
31325 (datetime_mod_CFLAGS): Likewise.
31326 (datetime_mod_LDFLAGS): Likewise.
31327 (date_mod_SOURCES): Likewise.
31328 (date_mod_CFLAGS): Likewise.
31329 (date_mod_LDFLAGS): Likewise.
31330 (datehook_mod_SOURCES): Likewise.
31331 (datehook_mod_CFLAGS): Likewise.
31332 (datehook_mod_LDFLAGS): Likewise.
31333
31334 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31335 and datehook.mod.
31336 (datetime_mod_SOURCES): New macro.
31337 (datetime_mod_CFLAGS): Likewise.
31338 (datetime_mod_LDFLAGS): Likewise.
31339 (date_mod_SOURCES): Likewise.
31340 (date_mod_CFLAGS): Likewise.
31341 (date_mod_LDFLAGS): Likewise.
31342 (datehook_mod_SOURCES): Likewise.
31343 (datehook_mod_CFLAGS): Likewise.
31344 (datehook_mod_LDFLAGS): Likewise.
31345
31346 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31347 and datehook.mod.
31348 (datetime_mod_SOURCES): New macro.
31349 (datetime_mod_CFLAGS): Likewise.
31350 (datetime_mod_LDFLAGS): Likewise.
31351 (date_mod_SOURCES): Likewise.
31352 (date_mod_CFLAGS): Likewise.
31353 (date_mod_LDFLAGS): Likewise.
31354 (datehook_mod_SOURCES): Likewise.
31355 (datehook_mod_CFLAGS): Likewise.
31356 (datehook_mod_LDFLAGS): Likewise.
31357
31358 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
31359
31360 * commands/date.c: New file.
31361
31362 * hook/datehook.c: Likewise.
31363
31364 * include/grub/lib/datetime.h: Likewise.
31365
31366 * include/grub/i386/cmos.h: Likewise.
31367
31368 * lib/datetime.c: Likewise.
31369
31370 * lib/i386/datetime.c: Likewise.
31371
31372 * lib/efi/datetime.c: Likewise.
31373
0e9242da 313742008-08-14 Robert Millan <rmh@aybabtu.com>
31375
31376 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
31377 (grub_mkelfimage_SOURCES): New variable.
31378 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
31379
31380 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
31381 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
31382 * conf/powerpc-ieee1275.rmk: Likewise.
31383 * conf/i386-ieee1275.rmk: Likewise.
31384
31385 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
31386 * kern/i386/coreboot/init.c: Likewise.
31387
31388 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
31389 with `<grub/cpu/kernel.h>'.
31390 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
31391 to ...
31392 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
31393 * kern/i386/coreboot/startup.S: Likewise.
31394
31395 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
31396 (GRUB_MOD_GAP): Remove.
31397 * include/grub/powerpc/kernel.h: New file.
31398 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
31399 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
31400 * include/grub/i386/kernel.h: New file.
31401 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
31402 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
31403 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
31404
31405 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
31406 `grub-mkelfimage'.
31407 Use --directory when invoking grub_mkimage.
31408
31409 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
31410 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
31411 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
31412 and GRUB_KERNEL_CPU_PREFIX.
31413
b86408f8 314142008-08-14 Felix Zielcke <fzielcke@z-51.de>
31415
d5e619ca 31416 * include/grub/err.h (grub_err_printf): New function prototype.
31417 * util/misc.c (grub_err_printf): New function.
31418 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
31419 grub_printf.
31420 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 31421
7161f0e0 314222008-08-13 Robert Millan <rmh@aybabtu.com>
31423
31424 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
31425
a1967522 314262008-08-13 Robert Millan <rmh@aybabtu.com>
31427
31428 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
31429 boot entry.
31430
371458b5 314312008-08-12 Robert Millan <rmh@aybabtu.com>
31432
31433 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
31434 of the relocation code from here ...
31435 (grub_multiboot): ... to here.
31436 (forward_relocator, backward_relocator): Move from here ...
31437 * kern/i386/loader.S (grub_multiboot_forward_relocator)
31438 (grub_multiboot_backward_relocator): ... to here.
31439 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
31440 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
31441 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
31442 (grub_multiboot_forward_relocator_end)
31443 (grub_multiboot_backward_relocator)
31444 (grub_multiboot_backward_relocator_end): New variables.
31445
05f9452b 314462008-08-12 Bean <bean123ch@gmail.com>
31447
31448 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
31449
20024ab0 314502008-08-11 Robert Millan <rmh@aybabtu.com>
31451
31452 * kern/i386/linuxbios/startup.S: Move from here ...
31453 * kern/i386/coreboot/startup.S: ... to here.
31454
31455 * kern/i386/linuxbios/init.c: Move from here ...
31456 * kern/i386/coreboot/init.c: ... to here.
31457
31458 * kern/i386/linuxbios/table.c: Move from here ...
31459 * kern/i386/coreboot/mmap.c: ... to here.
31460
31461 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
31462
e352e9cd 314632008-08-11 Robert Millan <rmh@aybabtu.com>
31464
31465 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
31466 errors. Leave it to the upper layer to handle them.
31467
2d05bc6a 314682008-08-09 Christian Franke <franke@computer.org>
31469
31470 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
31471 * conf/common.rmk: Install `grub-pe2elf' only if requested.
31472 Install `grub.d/10_windows' only on Cygwin.
31473 * configure.ac: Add subst of `target_os'.
31474 Check `target_os' also before setting TARGET_OBJ2ELF.
31475 Add `--enable-grub-pe2elf'.
31476
042bd419 314772008-08-08 Robert Millan <rmh@aybabtu.com>
31478
31479 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
31480 (grub_last_time): Change type to grub_uint64_t.
31481 (grub_disk_open): Migrate code from to using grub_get_time_ms().
31482 (grub_disk_close): Likewise.
31483
31484 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
31485 (run_menu): Migrate code from to using grub_get_time_ms().
31486
31487 * util/misc.c (grub_get_time_ms): New function.
31488
7f280db5 314892008-08-08 Marco Gerards <marco@gnu.org>
31490
31491 * disk/ata.c (grub_ata_regget): Change return type to
31492 `grub_uint8_t'.
31493 (grub_ata_regget2): Likewise.
31494 (grub_ata_wait_status): New function.
31495 (grub_ata_wait_busy): Removed function, updated all users to use
31496 `grub_ata_wait_status'.
31497 (grub_ata_wait_drq): Likewise.
31498 (grub_ata_cmd): New function.
31499 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
31500 error handling.
31501 (grub_ata_pio_write): Add error handling.
31502 (grub_atapi_identify): Likewise.
31503 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
31504 handling.
31505 (grub_ata_identify): Use `grub_ata_cmd' and improve error
31506 handling. Actually use the detected registers. Reorder the
31507 detection logic such that it is easier to read.
31508 (grub_ata_pciinit): Do not assign the same ID to each controller.
31509 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
31510 handling.
31511 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
31512
31513 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
31514
1fbc5e66 315152008-08-08 Marco Gerards <marco@gnu.org>
31516
31517 * NEWS: Update.
31518
819ce6c0 315192008-08-07 Bean <bean123ch@gmail.com>
31520
31521 * include/grub/x86_64/pci.h: New file.
31522
5c41d44d 315232008-08-07 Christian Franke <franke@computer.org>
31524
31525 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
31526 (TIMER2_GATE): Likewise.
31527 (grub_pit_wait): Add enable/disable of the timer2 gate
31528 bit of port 0x61. This fixes a possible infinite loop.
31529
5ebc275d 315302008-08-07 Bean <bean123ch@gmail.com>
31531
31532 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
31533 kern/i386/tsc.c and kern/i386/pit.c.
31534
31535 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
31536 x86_64 platform.
31537
31538 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
31539 <grub/i386/tsc.h>.
31540
31541 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
31542
e383b3d0 315432008-08-07 Bean <bean123ch@gmail.com>
31544
31545 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
31546
31547 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
31548
31549 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
31550 multiple inclusion. Add #include <grub/types.h>.
31551
1cbb58ac 315522008-08-06 Christian Franke <franke@computer.org>
31553
31554 * conf/common.rmk: Build and install `10_windows'.
31555 * util/grub.d/10_windows.in: New script.
31556
337f5a1e 315572008-08-06 Pavel Roskin <proski@gnu.org>
31558
31559 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
31560
057bc4ac 315612008-08-06 Robert Millan <rmh@aybabtu.com>
31562
31563 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
31564 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
31565
2b99f123 315662008-08-06 Bean <bean123ch@gmail.com>
31567
31568 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
31569 (grub_pxefs_fs_int): Remove dummy definition.
31570 (grub_pxefs_open): Use data->block_size to store the current block
31571 size setting.
31572 (grub_pxefs_read): Use block size stored in data->block_size. As the
31573 value of grub_pxe_blksize can be changed after the file is opened.
31574
9f0234cb 315752008-08-06 Bean <bean123ch@gmail.com>
31576
31577 * fs/i386/pc/pxe.c (curr_file): new variable.
31578 (grub_pxefs_open): Simply the handling of pxe file system. Don't
31579 require the dummy internal file system anymore.
31580 (grub_pxefs_read): Removed.
31581 (grub_pxefs_close): Likewise.
31582 (grub_pxefs_fs_int): Likewise.
31583 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
31584 connection when we switch file.
31585 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
31586
a55d42e0 315872008-08-06 Robert Millan <rmh@aybabtu.com>
31588
31589 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
31590 `halt.mod'.
31591 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
31592 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
31593
31594 * kern/i386/halt.c: New file.
31595 * kern/i386/reboot.c: Likewise.
31596 * include/grub/i386/reboot.h: Likewise.
31597 * include/grub/i386/halt.h: Likewise.
31598
31599 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
31600 Include `<grub/cpu/halt.h>'.
31601 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
31602 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
31603
31604 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
31605 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
31606 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
31607 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
31608 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
31609 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
31610 from here ...
31611 * include/grub/i386/at_keyboard.h: ... to here.
31612
24371d26 316132008-08-05 Robert Millan <rmh@aybabtu.com>
31614
31615 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
31616 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
31617 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
31618 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
31619 `kern/generic/millisleep.c'.
31620
31621 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
31622 instead of grub_get_rtc().
31623 (grub_tsc_init): Initialize `tsc_boot_time'.
31624
31625 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
31626 (grub_machine_init): Use grub_tsc_init() rather than
31627 installing an RTC-based handler via grub_install_get_time_ms().
31628
31629 * kern/i386/pit.c: New file.
31630 * include/grub/i386/pit.h: Likewise.
31631
9e7007b3 316322008-08-05 Bean <bean123ch@gmail.com>
31633
31634 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
31635
31636 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
31637 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
31638 (pxe_mod_SOURCES): New macro.
31639 (pxe_mod_CFLAGS): Likewise.
31640 (pxe_mod_LDFLAGS): Likewise.
31641 (pxecmd_mod_SOURCES): Likewise.
31642 (pxecmd_mod_CFLAGS): Likewise.
31643 (pxecmd_mod_LDFLAGS): Likewise.
31644
31645 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
31646 (grub_pxe_call): Likewise.
31647
31648 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
31649
31650 * commands/i386/pc/pxecmd.c: New file.
31651
9f0234cb 31652 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 31653
31654 * include/grub/i386/pc/pxe.h: Likewise.
31655
6977d49f 316562008-08-05 Bean <bean123ch@gmail.com>
31657
31658 * util/console.c (grub_console_cur_color): New variable.
31659 (grub_console_standard_color): Likewise.
31660 (grub_console_normal_color): Likewise.
31661 (grub_console_highlight_color): Likewise.
31662 (color_map): Likewise.
31663 (use_color): Likewise.
31664 (NUM_COLORS): New macro.
31665 (grub_ncurses_setcolorstate): Handle color properly.
31666 (grub_ncurses_setcolor): Don't change color here, just remember the
31667 settings, color will be set in grub_ncurses_setcolorstate.
31668 (grub_ncurses_getcolor): New function.
31669 (grub_ncurses_init): Initialize color pairs.
31670 (grub_ncurses_term): New member grub_ncurses_getcolor.
31671
9c2ff3ee 316722008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 31673
9c2ff3ee 31674 High resolution timer support. Implemented for x86 CPUs using TSC.
31675 Extracted generic grub_millisleep() so it's linked in only as needed.
31676 This requires a Pentium compatible CPU; if the RDTSC instruction is
31677 not supported, then it falls back on the generic grub_get_time_ms()
31678 implementation that uses the machine's RTC.
31679
31680 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
31681 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
31682 `kern/generic/millisleep.c'.
31683
31684 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
31685 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
31686
31687 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
31688 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
31689
31690 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
31691
31692 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31693 `kern/generic/millisleep.c'.
31694
31695 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
31696
31697 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
31698
31699 * kern/generic/rtc_get_time_ms.c: New file.
31700
31701 * kern/generic/millisleep.c: New file.
337f5a1e 31702
9c2ff3ee 31703 * kern/misc.c: Don't include
31704 <kern/time.h> anymore.
31705 (grub_millisleep_generic): Removed.
31706
31707 * commands/sleep.c (grub_interruptible_millisleep): Uses
31708 grub_get_time_ms() instead of grub_get_rtc().
31709
31710 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
31711 function.
31712 (grub_cpu_is_cpuid_supported): New inline function.
31713 (grub_cpu_is_tsc_supported): New inline function.
31714 (grub_tsc_init): New function prototype.
31715 (grub_tsc_get_time_ms): New function prototype.
31716
31717 * kern/i386/tsc.c (grub_get_time_ms): New file.
31718
31719 * include/grub/time.h: Include <grub/types.h.
31720 (grub_millisleep_generic): Removed.
31721 (grub_get_time_ms): New prototype.
31722 (grub_install_get_time_ms): New prototype.
31723 (grub_rtc_get_time_ms): New prototype.
31724
31725 * kern/time.c (grub_get_time_ms): New function.
31726 (grub_install_get_time_ms): New function.
31727
31728 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
31729 <grub/time.h> anymore.
31730 (grub_millisleep): Removed.
31731 (grub_machine_init): Call grub_tsc_init.
31732
31733 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
31734 get_time_ms() implementation.
31735
31736 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
31737 (ieee1275_get_time_ms): New function.
31738 (grub_machine_init): Install get_time_ms() implementation.
31739
31740 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
31741 (grub_machine_init): Call grub_tsc_init().
31742 (grub_millisleep): Removed.
bf06a93f 31743
9c2ff3ee 31744 * kern/ieee1275/init.c (grub_millisleep): Removed.
31745 (grub_machine_init): Install ieee1275_get_time_ms()
31746 implementation.
31747 (ieee1275_get_time_ms): New function.
31748 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
31749 real work.
31750
9ec92aaf 317512008-08-05 Marco Gerards <marco@gnu.org>
31752
31753 * disk/ata.c: Include <grub/pci.h>.
31754 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
31755 (grub_ata_initialize): Rewritten.
31756 (grub_ata_device_initialize): New function.
31757
8d23f507 317582008-08-04 Pavel Roskin <proski@gnu.org>
31759
31760 * kern/main.c: Include grub/mm.h.
31761
5e15ee3d 317622008-08-04 Robert Millan <rmh@aybabtu.com>
31763
31764 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
31765 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
31766 corruption problem).
31767
a9053f8f 317682008-08-04 Robert Millan <rmh@aybabtu.com>
31769
31770 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
31771 warnings introduced in my last commit.
31772
dd19c7d7 317732008-08-03 Robert Millan <rmh@aybabtu.com>
31774
31775 Make PCI available on all i386 architectures.
31776
31777 * include/grub/i386/pc/pci.h: Move from here ...
31778 * include/grub/i386/pci.h: ... to here.
31779
31780 * include/grub/i386/pc/pci.h: Remove.
31781 * include/grub/i386/efi/pci.h: Remove.
31782 * include/grub/x86_64/efi/pci.h: Remove.
31783
31784 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
31785 `<grub/cpu/pci.h>'.
31786
31787 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
31788 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
31789 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
31790
31791 * conf/i386-ieee1275.rmk: Likewise.
31792
e14a6184 317932008-08-03 Robert Millan <rmh@aybabtu.com>
31794
31795 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
31796 (grub_console_setcursor): Make it possible to set cursor off.
31797
52768e37 317982008-08-03 Robert Millan <rmh@aybabtu.com>
31799
31800 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
31801 of modules instead of assuming which platform provides what.
31802 * util/update-grub.in: Likewise.
31803
2d52f57f 318042008-08-03 Robert Millan <rmh@aybabtu.com>
31805
31806 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
31807 instead of `grub_install_dos_part' to determine whether a drive needs
31808 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 31809 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 31810
2a5cd121 318112008-08-02 Robert Millan <rmh@aybabtu.com>
31812
31813 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
31814
93808428 318152008-08-02 Robert Millan <rmh@aybabtu.com>
31816
31817 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
31818 of informational grub_dprintf() calls.
31819
3bd0a12a 318202008-08-02 Robert Millan <rmh@aybabtu.com>
31821
31822 * disk/memdisk.c (memdisk_size): Don't initialize.
31823 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
31824
31825 * include/grub/i386/pc/kernel.h
31826 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
31827 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
31828 (grub_memdisk_image_size, grub_arch_memdisk_addr)
31829 (grub_arch_memdisk_size): Remove.
31830
31831 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
31832 field (was only used to transfer a constant). Add `type' field to
31833 support multiple module types.
31834 (grub_module_iterate): New function.
31835
31836 * kern/device.c (grub_device_open): Do not hide error messages
31837 when grub_disk_open() fails. Use grub_print_error() instead.
31838
31839 * kern/i386/pc/init.c (grub_arch_modules_addr)
31840 (grub_arch_memdisk_size): Remove functions.
31841 (grub_arch_modules_addr): Return the module address in high memory
31842 (now that it isn't copied anymore).
31843
31844 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
31845 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
31846 decompression routine (grub_total_module_size already includes that
31847 now). Don't copy modules back to low memory.
31848
31849 * kern/main.c: Include `<grub/mm.h>'.
31850 (grub_load_modules): Split out (and use) ...
31851 (grub_module_iterate): ... this function, which iterates through
31852 module objects and runs a hook.
31853 Comment out grub_mm_init_region() call, as it would cause non-ELF
31854 modules to be overwritten.
31855
31856 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
31857 the memdisk image in its own region, make it part of the module list.
31858 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
31859 (main): Parse --memdisk|-m option, and pass user-provided path as
31860 parameter to generate_image().
31861 (add_segments): Pass `memdisk_path' down to load_modules().
31862 (load_modules): Embed memdisk image in module section when requested.
31863 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
31864 `header.type' instead of `header.offset'.
31865
31866 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
31867 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
31868 (memdisk_mod_LDFLAGS): New variables.
31869 * conf/i386-coreboot.rmk: Likewise.
31870 * conf/i386-ieee1275.rmk: Likewise.
31871
a927cc73 318722008-08-02 Robert Millan <rmh@aybabtu.com>
31873
31874 * loader/i386/pc/multiboot.c (playground, forward_relocator)
31875 (backward_relocator): New variables. Used to allocate and relocate
31876 the payload, respectively.
31877 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 31878 address, install the appropriate relocator code in each bound of
a927cc73 31879 the payload, and set the entry point such that
31880 grub_multiboot_real_boot() will jump to one of them.
31881
31882 * kern/i386/loader.S (grub_multiboot_payload_size)
31883 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
31884 (grub_multiboot_payload_entry_offset): New variables.
31885 (grub_multiboot_real_boot): Set cpu context to what the relocator
31886 expects, and jump to the relocator instead of the payload.
31887
31888 * include/grub/i386/loader.h (grub_multiboot_payload_size)
31889 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
31890 (grub_multiboot_payload_entry_offset): Export.
31891
b15d8a0c 318922008-08-01 Bean <bean123ch@gmail.com>
31893
31894 * normal/menu_entry.c (editor_getline): Don't return the original
31895 string as result, as it will be released by lexer once it has done
31896 using it.
31897
cdfb3d22 318982008-08-01 Robert Millan <rmh@aybabtu.com>
31899
31900 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
31901 within menuentries, not before them.
31902 util/grub.d/10_hurd.in: Likewise.
31903
9175e93d 319042008-08-01 Bean <bean123ch@gmail.com>
31905
31906 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
31907 (bufio_mod_SOURCES): New macro.
31908 (bufio_mod_CFLAGS): Likewise.
31909 (bufio_mod_LDFLAGS): Likewise.
31910
31911 * include/grub/bufio.h: New file.
31912
31913 * io/bufio.c: Likewise.
31914
31915 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
31916 (grub_video_reader_png): Use grub_buffile_open to open file.
31917
31918 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
31919 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
31920
31921 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
31922 (grub_video_reader_tga): Use grub_buffile_open to open file.
31923
31924 * font/manager.c: Include <grub/bufio.h>.
31925 (add_font): Use grub_buffile_open to open file.
31926
3d8383e7 319272008-07-31 Robert Millan <rmh@aybabtu.com>
31928
31929 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
31930 ELF segments, use a macro for arbitrarily accessing any of them instead
31931 of preparing a pointer that allows access to one at a time.
31932 (grub_multiboot_load_elf64): Likewise.
31933
16e641b6 319342008-07-31 Bean <bean123ch@gmail.com>
31935
31936 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
31937 GRUB_KERNEL_MACHINE_DATA_END.
31938
59198b72 319392008-07-30 Robert Millan <rmh@aybabtu.com>
31940
31941 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
31942 Increase from 0x50 to 0x60.
31943 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
31944 use UUIDs to identify the root drive for them. If that's not
31945 possible, abort.
31946 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
31947 check, for cross-disk installs.
31948
ae88bca3 319492008-07-30 Robert Millan <rmh@aybabtu.com>
31950
31951 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
31952 is non-empty, use it to set the `prefix' environment variable instead
31953 of the usual approach.
31954 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
31955 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
31956 environment variable instead of dummy make_install_device().
31957
31958 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
31959 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 31960 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 31961
31962 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
31963 New variable reference.
31964 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
31965 New macro. Defines offset of `grub_prefix' within startup.S (relative
31966 to `start').
31967 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
31968 section within startup.S (relative to `start').
31969 * include/grub/i386/coreboot/kernel.h: Likewise.
31970
31971 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
31972 Overwrite grub_prefix with its contents, at the beginning of the
31973 first segment.
31974 (main): Understand -p|--prefix.
31975
14f41dd1 319762008-07-30 Robert Millan <rmh@aybabtu.com>
31977
31978 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
31979
4ca049a3 319802008-07-30 Robert Millan <rmh@aybabtu.com>
31981
31982 * term/i386/pc/vga_text.c (grub_console_cls): Use
31983 grub_console_gotoxy() to go back to beginning of the screen.
31984 Found by Patrick Georgi <patrick.georgi@coresystems.de>
31985
2921d337 319862008-07-29 Christian Franke <franke@computer.org>
31987
31988 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
31989 Add conversion of emulated mount points on Cygwin.
31990
b609876d 319912008-07-29 Christian Franke <franke@computer.org>
31992
31993 * util/update-grub.in: Add a check for admin
31994 group on Cygwin.
31995 Remove old `grub.cfg.new' before creation.
31996 Add `-f' to `mv' to handle the different filesystem
31997 semantics of Windows.
31998
e93e4679 319992008-07-29 Bean <bean123ch@gmail.com>
32000
32001 * normal/main.c (get_line): Fix buffer overflow bug.
32002
41694fd0 320032008-07-28 Robert Millan <rmh@aybabtu.com>
32004
32005 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
32006 (struct grub_apple_header): New struct. Describes the layout of
32007 the partmap header.
32008 (apple_partition_map_iterate): Check the header magic as well as the
32009 partition magic (which was already being checked).
32010
cfd0b4e6 320112008-07-28 Pavel Roskin <proski@gnu.org>
32012
32013 * genmk.rb: Add a warning to the beginning of the output that
32014 it's a generated file and should not be edited.
32015
93cce016 320162008-07-28 Robert Millan <rmh@aybabtu.com>
32017
32018 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
32019 with the same number are found, just use issue a warning with
32020 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 32021
cd1df915 320222008-07-27 Robert Millan <rmh@aybabtu.com>
32023
32024 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
32025 information.
32026
b70a8427 320272008-07-27 Bean <bean123ch@gmail.com>
32028
32029 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
32030 (grub_fat_find_dir): Ignore case when comparing filename.
32031
8f5e379f 320322008-07-27 Bean <bean123ch@gmail.com>
32033
32034 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
32035 smallino, as it's more descriptive, and i8count can be confused with
32036 the other field count.
32037 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
32038 inode type.
32039
a85cd5a0 320402008-07-27 Bean <bean123ch@gmail.com>
32041
32042 * commands/crc.c: New file.
32043
32044 * lib/crc.c: Likewise.
32045
32046 * include/grub/lib/crc.h: Likewise.
32047
32048 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
32049
32050 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
32051 (hexdump): Move this function to ...
32052
32053 * lib/hexdump.c: ... here.
32054
32055 * include/grub/hexdump.h: Renamed to ...
32056
32057 * include/grub/lib/hexdump.h: ... this.
32058
32059 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
32060
32061 * util/grub-editenv.c: Likewise.
32062
32063 * include/envblk.h: Renamed to ...
32064
32065 * include/lib/envblk.h: ... this.
32066
32067 * util/envblk.c: Renamed to ...
32068
32069 * lib/envblk.c: ... this.
32070
32071 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
32072 lib/hexdump.c.
32073 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
32074 (pkglib_MODULES): Add crc.mod.
32075 (hexdump_mod_SOURCES): Add lib/hexdump.c.
32076 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
32077 (crc_mod_SOURCES): New macro.
32078 (crc_mod_CFLAGS): Likewise.
32079 (crc_mod_LDFLAGS): Likewise.
32080
32081 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
32082
32083 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32084
32085 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32086
32087 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32088
32089 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32090
c298def0 320912008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 32092
32093 * commands/help.c: Include <grub/term.h>.
32094 (TERM_WIDTH): Removed. Updated all users.
32095
cc349fb3 320962008-07-27 Pavel Roskin <proski@gnu.org>
32097
32098 * util/getroot.c (find_root_device): Rephrase a comment to avoid
32099 spurious warnings about a comment within a comment.
32100
9051607e 321012008-07-25 Robert Millan <rmh@aybabtu.com>
32102
32103 * util/getroot.c (find_root_device): Skip devices that match
32104 /dev/dm-[0-9]. This lets the real device be found for any type of
32105 abstraction (LVM, EVMS, RAID..).
32106 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
32107 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
32108 device is found first, find_root_device() will now skip it.
32109
01453bfc 321102008-07-24 Pavel Roskin <proski@gnu.org>
32111
32112 * include/grub/types.h: Use __builtin_bswap32() and
32113 __builtin_bswap64() with gcc 4.3 and newer.
32114
6af9849f 321152008-07-24 Christian Franke <franke@computer.org>
32116
3a0fa256 32117 * util/i386/pc/grub-install.in: If `--debug' is specified,
32118 pass `--verbose' to grub-setup.
32119 Abort script if make_system_path_relative_to_its_root() fails.
32120
7810e747 321212008-07-24 Bean <bean123ch@gmail.com>
32122
32123 * configure.ac: Fixed a bug caused by the previous cygwin patch,
32124 variable `target_platform' should be `platform'.
32125
42290e17 321262008-07-24 Bean <bean123ch@gmail.com>
32127
51cc5193 32128 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 32129 (grub_png_init_fixed_block): New function.
32130 (grub_png_decode_image_data): Handle fixed huffman code compression.
32131
2a8a80e4 321322008-07-24 Bean <bean123ch@gmail.com>
32133
32134 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
32135 (grub_pe2elf_SOURCES): New macro.
32136 (CLEANFILES): Add grub-pe2elf.
32137
32138 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
32139 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
32140 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
32141 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
32142 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
32143 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
32144 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
32145 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
32146 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
32147 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
32148 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
32149 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
32150 (GRUB_PE32_DT_FUNCTION): Likewise.
32151 (GRUB_PE32_REL_I386_DIR32): Likewise.
32152 (GRUB_PE32_REL_I386_REL32): Likewise.
32153 (grub_pe32_symbol): New structure.
32154 (grub_pe32_reloc): Likewise.
32155
32156 * util/grub-pe2elf.c: New file.
32157
32158 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
32159 start symbol in non pc platform.
32160
32161 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
32162
32163 The following patches are from Christian Franke.
32164
32165 * include/grub/dl.h: Remove .previous, gas supports this only
32166 for ELF format.
32167
32168 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
32169 Remove .type, gas supports this only for ELF format.
32170
32171 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
32172 nullbytes in symbol table. This fixes an infinite loop if table is
32173 zero filled.
32174
32175 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
32176 TARGET_IMG_LDFLAGS and EXEEXT.
32177
32178 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
32179 TARGET_IMG_LDFLAGS_AC.
32180 (grub_CHECK_STACK_ARG_PROBE): New function.
32181
32182 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
32183
32184 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
32185
32186 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
32187 to set TARGET_IMG_LD* accordingly.
32188 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
32189 Add call to grub_CHECK_STACK_ARG_PROBE.
32190 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
32191
32192 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
32193
32194 * genmk.rb: Add EXEEXT to CLEANFILES.
32195
12ccdb75 321962008-07-23 Robert Millan <rmh@aybabtu.com>
32197
32198 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
32199 define the codes for arrows and lines used for the menu).
32200 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
32201 as well.
32202
32203 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
32204 fonts, because the latter are too slow.
32205
18eeaf04 322062008-07-21 Bean <bean123ch@gmail.com>
32207
32208 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
32209 a20. Run keyboard test last, as it will cause macbook to halt.
32210
b095e2ad 322112008-07-18 Pavel Roskin <proski@gnu.org>
32212
32213 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
32214 load foreign architecture modules correctly anyway. Keep
32215 support for loading host architecture modules, whether we
32216 compile them or not.
32217
737feb35 322182008-07-17 Pavel Roskin <proski@gnu.org>
32219
3f4ce737 32220 * configure.ac: Use -m32 or -m64 regardless of whether we had to
32221 change target_cpu. The compiler default can mismatch target_cpu
32222 in any case.
32223
4ad2d049 32224 * disk/efi/efidisk.c: Fix format warnings on x86_64.
32225 * kern/efi/efi.c: Likewise.
32226
f6130a12 32227 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
32228 target compiler is functional.
32229 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
32230 are set up.
32231
58393a2d 32232 * configure.ac: Default to efi platform for x86_64-apple. Allow
32233 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
32234 adjustments from the rest, only do them if target is not
32235 explicitly given. Merge other adjustments with the final sanity
32236 check. Remove an extraneous check for supported CPU. Be
32237 specific which CPU and which platform is not supported.
32238
737feb35 32239 * configure.ac: Default to pc platform for x86_64.
32240
546f966a 322412008-07-17 Robert Millan <rmh@aybabtu.com>
32242
32243 Partial LinuxBIOS -> Coreboot rename.
32244
32245 * conf/i386-linuxbios.rmk: Renamed to ...
32246 * conf/i386-coreboot.rmk: ... this.
32247 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
32248 * configure.ac: Accept "coreboot" as input platform (but maintain
32249 compatibility with "linuxbios").
32250 * include/grub/i386/linuxbios: Renamed to ...
32251 * include/grub/i386/coreboot: ... this.
32252
20011694 322532008-07-17 Bean <bean123ch@gmail.com>
32254
32255 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 32256 (appleldr_mod_SOURCE): New variable.
20011694 32257 (appleldr_mod_CFLAGS): Likewise.
32258 (appleldr_mod_LDFLAGS): Likewise.
32259 (pci_mod_SOURCES): Likewise.
32260 (pci_mod_CFLAGS): Likewise.
32261 (pci_mod_LDFLAGS): Likewise.
32262 (lspci_mod_SOURCES): Likewise.
32263 (lspci_mod_CFLAGS): Likewise.
32264 (lspci_mod_LDFLAGS): Likewise.
32265
32266 * conf/x86_64-efi.rmk: New file.
32267
32268 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
32269 macro.
32270 (grub_efidisk_write): Likewise.
32271
32272 * include/efi/api.h (efi_call_0): New macro.
32273 (efi_call_1): Likewise.
32274 (efi_call_2): Likewise.
32275 (efi_call_3): Likewise.
32276 (efi_call_4): Likewise.
32277 (efi_call_5): Likewise.
32278 (efi_call_6): Likewise.
32279
32280 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
32281 grub_rescue_cmd_chainloader.
32282
32283 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
32284 (grub_pe32_optional_header): Change some fields based on i386 or
32285 x86_64 platform.
32286 (GRUB_PE32_PE32_MAGIC): Likewise.
32287
32288 * include/grub/efi/uga_draw.h: New file.
32289
32290 * include/grub/elf.h (STN_ABS): New constant.
32291 (R_X86_64_NONE): Relocation constant for x86_64.
32292 (R_X86_64_64): Likewise.
32293 (R_X86_64_PC32): Likewise.
32294 (R_X86_64_GOT32): Likewise.
32295 (R_X86_64_PLT32): Likewise.
32296 (R_X86_64_COPY): Likewise.
32297 (R_X86_64_GLOB_DAT): Likewise.
32298 (R_X86_64_JUMP_SLOT): Likewise.
32299 (R_X86_64_RELATIVE): Likewise.
32300 (R_X86_64_GOTPCREL): Likewise.
32301 (R_X86_64_32): Likewise.
32302 (R_X86_64_32S): Likewise.
32303 (R_X86_64_16): Likewise.
32304 (R_X86_64_PC16): Likewise.
32305 (R_X86_64_8): Likewise.
32306 (R_X86_64_PC8): Likewise.
32307
32308 * include/grub/i386/efi/pci.h: New file.
32309
32310 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
32311 Change it value based on platform.
32312 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
32313 (GRUB_E820_RAM): Likewise.
32314 (GRUB_E820_RESERVED): Likewise.
32315 (GRUB_E820_ACPI): Likewise.
32316 (GRUB_E820_NVS): Likewise.
32317 (GRUB_E820_EXEC_CODE): Likewise.
32318 (GRUB_E820_MAX_ENTRY): Likewise.
32319 (grub_e820_mmap): New structure.
32320 (linux_kernel_header): Change the efi field according to different
32321 kernel version, also field from linux_kernel_header.
32322
32323 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
32324
32325 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
32326 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
32327 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
32328 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
32329 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
32330 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
32331 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
32332 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
32333 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
32334 (GRUB_PCI_ADDR_IO_MASK): Likewise.
32335
32336 * include/grub/x86_64/efi/kernel.h: New file.
32337
32338 * include/grub/x86_64/efi/loader.h: Likewise.
32339
32340 * include/grub/x86_64/efi/machine.h: Likewise.
32341
32342 * include/grub/x86_64/efi/pci.h: Likewise.
32343
32344 * include/grub/x86_64/efi/time.h: Likewise.
32345
32346 * include/grub/x86_64/linux.h: Likewise.
32347
32348 * include/grub/x86_64/setjmp.h: Likewise.
32349
32350 * include/grub/x86_64/time.h: Likewise.
32351
32352 * include/grub/x86_64/types.h: Likewise.
32353
32354 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
32355 GRUB_TARGET_SIZEOF_VOID_P.
32356
32357 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
32358 (grub_efi_locate_handle): Likewise.
32359 (grub_efi_open_protocol): Likewise.
32360 (grub_efi_set_text_mode): Likewise.
32361 (grub_efi_stall): Likewise.
32362 (grub_exit): Likewise.
32363 (grub_reboot): Likewise.
32364 (grub_halt): Likewise.
32365 (grub_efi_exit_boot_services): Likewise.
32366 (grub_get_rtc): Likewise.
32367
32368 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
32369 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
32370 (grub_efi_allocate_pages): Wrap efi calls.
32371 (grub_efi_free_pages): Wrap efi calls.
32372 (grub_efi_get_memory_map): Wrap efi calls.
32373
32374 * kern/x86_64/dl.c: New file.
32375
32376 * kern/x86_64/efi/callwrap.S: Likewise.
32377
32378 * kern/x86_64/efi/startup.S: Likewise.
32379
32380 * loader/efi/appleloader.c: Likewise.
32381
32382 * loader/efi/chainloader.c (cmdline): New variable.
32383 (grub_chainloader_unload): Wrap efi calls.
32384 (grub_chainloader_boot): Likewise.
32385 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
32386 command line.
32387
32388 * loader/efi/chainloader_normal.c (chainloader_command):
32389 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
32390 command line.
32391
32392 * loader/i386/efi/linux.c (allocate_pages): Change allocation
32393 method.
32394 (grub_e820_add_region): New function.
32395 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
32396 booting.
32397 (grub_find_video_card): New function.
32398 (grub_linux_setup_video): New function.
32399 (grub_rescue_cmd_linux): Probe for video information.
32400
32401 * normal/x86_64/setjmp.S: New file.
32402
32403 * term/efi/console.c (map_char): New function.
32404 (grub_console_putchar): Map unicode char.
32405 (grub_console_checkkey): Wrap efi calls.
32406 (grub_console_getkey): Likewise.
32407 (grub_console_getwh): Likewise.
32408 (grub_console_gotoxy): Likewise.
32409 (grub_console_cls): Likewise.
32410 (grub_console_setcolorstate): Likewise.
32411 (grub_console_setcursor): Likewise.
32412
32413 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
32414
59652a20 324152008-07-16 Pavel Roskin <proski@gnu.org>
32416
ef294055 32417 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
32418 format strings.
32419
59652a20 32420 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
32421 pointer, not an integer. This fixes a warning and prevents
32422 precision loss on 64-bit systems.
32423 (relocate_addresses): Remove unneeded cast.
32424
afc3b5d7 324252008-07-15 Pavel Roskin <proski@gnu.org>
32426
506b2b3e 32427 * kern/i386/ieee1275/init.c: Include grub/cache.h.
32428
62ead89c 32429 * term/ieee1275/ofconsole.c: Disable code unused on i386.
32430
c4cd51d7 32431 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
32432 Fix comparison between signed and unsigned.
32433
0d3d8f28 32434 * include/grub/i386/ieee1275/console.h: Declare
32435 grub_console_init() and grub_console_fini().
32436
8804b286 32437 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
32438 It's empty and unused.
32439
ee01cf35 32440 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
32441 beginning to avoid warnings with some compilers.
32442
afc3b5d7 32443 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
32444 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
32445
e4e8eaa5 324462008-07-14 Pavel Roskin <proski@gnu.org>
32447
407aceb4 32448 * kern/env.c (grub_register_variable_hook): Don't copy empty
32449 string, it leaks memory. Pass "" to grub_env_set(), it should
32450 handle constant strings.
32451
e4e8eaa5 32452 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
32453 * commands/cmp.c (grub_cmd_cmp): Likewise.
32454 * kern/dl.c (grub_dl_flush_cache): Likewise.
32455 (grub_dl_load_core): Likewise.
32456 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
32457 (grub_elf64_load_phdrs): Likewise.
32458
d4e2dad3 324592008-07-13 Pavel Roskin <proski@gnu.org>
32460
32461 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
32462 between signed and unsigned.
32463 (LzmaEnc_Finish): Fix warning about an unused parameter.
32464
aa24b516 324652008-07-13 Bean <bean123ch@gmail.com>
32466
32467 * Makefile.in (enable_lzo): New rule.
32468
32469 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
32470
32471 * configure.ac (ENABLE_LZO): New option --enable-lzo.
32472
32473 * boot/i386/pc/lnxboot.S: #include <config.h>.
32474
32475 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 32476 its value according to the compression algorithm used, lzo or lzma.
aa24b516 32477
32478 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
32479 compression algorithm according to configure macro.
32480
32481 * kern/i386/pc/startup.S (codestart): Likewise.
32482
32483 * kern/i386/pc/lzma_decode.S: New file.
32484
32485 * include/grub/lib/LzFind.h: Likewise.
32486
32487 * include/grub/lib/LzHash.h: Likewise.
32488
32489 * include/grub/lib/LzmaDec.h: Likewise.
32490
32491 * include/grub/lib/LzmaEnc.h: Likewise.
32492
32493 * include/grub/lib/LzmaTypes.h: Likewise.
32494
32495 * lib/LzFind.c: Likewise.
32496
32497 * lib/LzmaDec.c: Likewise.
32498
32499 * lib/LzmaEnc.c: Likewise.
32500
4ae821ac 325012008-07-13 Bean <bean123ch@gmail.com>
32502
32503 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
32504 (grub_ext4_extent_header): New structure.
32505 (grub_ext4_extent): Likewise.
32506 (grub_ext4_extent_idx): Likewise.
32507 (grub_ext4_find_leaf): New function.
32508 (grub_ext2_read_block): Handle extents.
32509
9a745147 325102008-07-12 Robert Millan <rmh@aybabtu.com>
32511
32512 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
32513
d49a4cf6 325142008-07-11 Robert Millan <rmh@aybabtu.com>
32515
32516 * util/grub.d/40_custom.in: New file. Example on how to add custom
32517 entries to /etc/grub.d.
32518 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
32519 40_custom (implicitly, by merging all the grub.d rules).
32520
947414b4 325212008-07-11 Pavel Roskin <proski@gnu.org>
32522
0059cf6f 32523 * commands/read.c (grub_getline): Fix invalid memory access.
32524 Don't add newline to the variable value.
32525
947414b4 32526 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
32527 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
32528 (serial_hw_get_port): Check validity of the port number.
32529 (grub_cmd_serial): Check return value of serial_hw_get_port().
32530
62a02d00 325312008-07-07 Pavel Roskin <proski@gnu.org>
32532
32533 * boot/i386/pc/diskboot.S (notification_string): Replace
32534 "Loading kernel" with just "loading". This is shorter, less
32535 confusing and saves a few bytes for possible future changes.
32536
3e5581b0 325372008-07-05 Pavel Roskin <proski@gnu.org>
32538
ea387a48 32539 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
32540 size for ATAPI devices, they are undefined. Output sector
32541 number in decimal form.
32542
3e5581b0 32543 * disk/ata.c: Use named constants for status bits.
32544
fdecb8fd 325452008-07-04 Pavel Roskin <proski@gnu.org>
32546
bcd35b90 32547 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
32548 grub_addr_t before casting it to the void pointer to fix a
32549 warning. Non-addressable regions are discarded earlier.
32550 (grub_arch_modules_addr): Cast _end to grub_addr_t.
32551 * kern/i386/linuxbios/table.c: Include grub/misc.h.
32552 (check_signature): Don't shadow table_header.
32553 (grub_linuxbios_table_iterate): Cast numeric constants to
32554 grub_linuxbios_table_header_t.
32555 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
32556 grub_stop().
32557
af58ab3d 32558 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
32559 prevent warnings.
32560
1759aa57 32561 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
32562 pointer, which can cause warnings. Support 64-bit addresses.
32563
fdecb8fd 32564 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
32565 of sizeof(long). This fixes PowerPC image generation on x86_64.
32566
8516d2a8 325672008-07-04 Robert Millan <rmh@aybabtu.com>
32568
32569 This fixes a performance issue when pc & gpt partmap iterators
32570 didn't abort iteration even after our hook found what it was
fe987087 32571 looking for (often causing expensive probes of non-existent drives).
8516d2a8 32572
32573 Some callers relied on previous buggy behaviour, since they would
34c44600 32574 raise an error when their own hooks caused early abortion of its
8516d2a8 32575 iteration.
32576
32577 * kern/device.c (grub_device_open): Improve error message.
32578 * disk/lvm.c (grub_lvm_open): Likewise.
32579 * disk/raid.c (grub_raid_open): Likewise.
32580
32581 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
32582 when hook requests it, independently of grub_errno.
32583 (pc_partition_map_probe): Do not fail when find_func() caused
32584 early abortion of pc_partition_map_iterate().
32585
32586 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
32587 when hook requests it, independently of grub_errno.
32588 (gpt_partition_map_probe): Do not fail when find_func() caused
32589 early abortion of gpt_partition_map_iterate().
32590
32591 * kern/partition.c (grub_partition_iterate): Abort parent iteration
32592 when hook requests it, independently of grub_errno. Do not fail when
32593 part_map_iterate_hook() caused early abortion of p->iterate().
32594
32595 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
32596 when grub_partition_iterate() returned with non-zero.
32597
277d0de9 325982008-07-03 Pavel Roskin <proski@gnu.org>
32599
32600 * disk/ata.c (grub_ata_pio_write): Check status before writing,
32601 like we do in grub_ata_pio_read().
32602 (grub_ata_readwrite): Always write individual sectors. Fix the
32603 sector count for the remainder.
32604 (grub_ata_write): Enable writing to ATA devices. Correctly
32605 report error for ATAPI devices.
32606
d4c9b428 326072008-07-02 Pavel Roskin <proski@gnu.org>
32608
e43fc690 32609 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
32610 warning.
32611
f707af42 32612 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
32613 for every read sector, we already increment it for the whole
32614 batch. This fixes reading more than 256 sectors at once.
32615
11e16b15 32616 * util/grub-editenv.c (cmd_info): Cast argument to long
32617 explicitly. ptrdiff_t reduces to int on i386.
32618
cbabfdd4 32619 * util/grub-editenv.c (main): Be specific which parameter is
32620 missing.
32621
b8fbce0a 32622 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
32623 (memdisk): Make memdisk_orig_addr a pointer.
32624
c9c8e606 32625 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
32626 for file offsets, use grub_off_t instead. Fix printf format
32627 warnings.
32628
ca62e598 32629 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
32630 there. Real unexpected warnings should not drown in the noise
32631 about known problems.
32632
ce8d1766 32633 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
32634 grub_disk_addr_t for memory addresses.
32635
00c7a56a 32636 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
32637 explicitly to fix a warning.
32638
08d3ef09 32639 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
32640
cb71ba20 32641 * Makefile.in (MODULE_LDFLAGS): New variable.
32642 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
32643 the linker accepts --build-id=none.
32644 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
32645 MODULE_LDFLAGS.
32646 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
32647
d4c9b428 32648 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
32649 those in Linux XFS code. Provide a way to access 64-bit parent
32650 inode.
32651 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
32652 the end of struct grub_xfs_dir_header.
32653
d4156eee 326542008-07-02 Bean <bean123ch@gmail.com>
32655
32656 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
32657 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
32658 and GRUB_IEEE1275_FLAG_NO_ANSI.
32659
32660 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
32661 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
32662 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
32663
32664 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
32665 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
32666
32667 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
32668 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
32669
32670 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
32671 esc sequence on non ANSI terminal.
32672 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
32673
32674 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
32675 beginning of file.
32676
2270f77b 326772008-07-02 Bean <bean123ch@gmail.com>
32678
32679 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
32680 (grub_editenv_SOURCES): New variable.
32681 (pkglib_MODULES): Add loadenv.mod.
32682 (loadenv_mod_SOURCES): New variable.
32683 (loadenv_mod_CFLAGS): Likewise.
32684 (loadenv_mod_LDFLAGS): Likewise.
32685
32686 * include/grub/envblk.h: New file.
32687
32688 * util/envblk.c: New file.
32689
32690 * util/grub-editenv.c: New file.
32691
32692 * commands/loadenv.c: New file.
32693
0e9e51ec 326942008-07-01 Pavel Roskin <proski@gnu.org>
32695
d89b7634 32696 * include/multiboot2.h (struct multiboot_tag_module): Use char,
32697 not unsigned char. This fixes warnings and is consistent with
32698 other tags.
32699
bf1835b1 32700 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
32701
8222a04b 32702 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
32703
6a42d99d 32704 * term/tparm.c (analyze): Always set *popcount.
32705
10b159d1 32706 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
32707 cast to fix a warning.
32708
b8789f6c 32709 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
32710 cast to suppress a warning.
32711
29d7e38a 32712 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
32713 grub_fshelp_read_file() expects.
32714
f341f669 32715 * fs/fat.c: Fix UUID calculation on big-endian systems. We
32716 write uuid as a 32-bit value in CPU byte order, so declare and
32717 use it as such.
32718
0e9e51ec 32719 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
32720 long if the format specifier expects it.
32721 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
32722 * partmap/pc.c (pc_partition_map_iterate): Likewise.
32723 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
32724 long to fix a warning.
32725 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
32726 grub_dprintf() arguments to fix warnings.
32727
3aefa857 327282008-06-30 Pavel Roskin <proski@gnu.org>
32729
56c7668b 32730 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
32731 install_bsd_part immediately before core.img is embedded or
32732 modified on disk. This fixes core.img verification if core.img
32733 cannot be embedded.
32734
3aefa857 32735 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
32736 core_path to calculate the blocklist.
32737 Patch from Javier Martín <lordhabbit@gmail.com>
32738
5444088d 327392008-06-29 Robert Millan <rmh@aybabtu.com>
32740
32741 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
32742 block to disk block.
32743 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
32744 Patch from Niels Böhm <bitbucket@arcor.de>
32745
674835c8 327462008-06-29 Robert Millan <rmh@aybabtu.com>
32747
32748 * util/update-grub_lib.in (font_path): Search for fonts in
32749 /boot/grub first, which is more likely to be readable (we aren't
32750 deciding where fonts live, just looking for them).
32751
f527dbc8 327522008-06-26 Pavel Roskin <proski@gnu.org>
32753
6c2d8df6 32754 * util/biosdisk.c (read_device_map): Don't leave dead map
32755 entries for devices failing stat() check.
32756
f527dbc8 32757 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
32758 core_path_dev for the core.img path on the target device.
32759
aebe3d13 327602008-06-26 Robert Millan <rmh@aybabtu.com>
32761
32762 * disk/fs_uuid.c: New file.
32763 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
32764 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
32765 (fs_uuid_mod_LDFLAGS): New variables.
32766 * include/grub/disk.h (grub_disk_dev_id): Add
32767 `GRUB_DISK_DEVICE_UUID_ID'.
32768 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
32769 implement iterate().
32770
37aaf354 327712008-06-26 Robert Millan <rmh@aybabtu.com>
32772
32773 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
32774 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
32775 Linux image includes no initrd.
32776
25ff262a 327772008-06-21 Javier Martín <lordhabbit@gmail.com>
32778
32779 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
32780 call to resolve the core image location that effectively appended the
32781 name twice.
32782
76a2bd44 327832008-06-21 Robert Millan <rmh@aybabtu.com>
32784
32785 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
32786 call from here ...
32787
32788 * util/grub.d/10_hurd.in: ... to here ...
32789 * util/grub.d/10_linux.in: ... and here.
32790
650e1c79 327912008-06-19 Robert Millan <rmh@aybabtu.com>
32792
fe987087 32793 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 32794 after it has been set by grub_machine_set_prefix().
32795
6ce63911 327962008-06-19 Robert Millan <rmh@aybabtu.com>
32797
32798 * commands/search.c (search_label, search_fs_uuid, search_file): Print
32799 search result when not saving to variable, not the other way around.
32800 When saving to variable, abort iteration as soon as a match is found.
32801
73940cec 328022008-06-19 Robert Millan <rmh@aybabtu.com>
32803
32804 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
32805 check for partition that provides /boot/grub. Its logic is flawed,
32806 as it prevents prepare_grub_to_access_device() from being called
32807 multiple times.
32808
3c62a39d 328092008-06-19 Robert Millan <rmh@aybabtu.com>
32810
32811 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
32812 "insmod" command directly when abstraction modules are needed,
fe987087 32813 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 32814 since it had already been processed).
32815
47395a42 328162008-06-19 Pavel Roskin <proski@gnu.org>
32817
32818 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
32819 changed. This is needed in case GRUB_LIBDIR changes.
32820 * conf/i386-ieee1275.rmk: Likewise.
32821 * conf/i386-linuxbios.rmk: Likewise.
32822 * conf/i386-pc.rmk: Likewise.
32823 * conf/powerpc-ieee1275.rmk: Likewise.
32824
a145ac2d 328252008-06-18 Pavel Roskin <proski@gnu.org>
32826
32827 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
32828 kernel_elf_symlist.c to symlist.c for consistency with other
32829 architectures. Update all users.
32830 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32831
7847c51e 328322008-06-18 Robert Millan <rmh@aybabtu.com>
32833
32834 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
32835 it in prefix.
32836
32837 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
32838 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
32839 a RAID device, run setup() for all members independently on whether
32840 LVM abstraction is being used.
32841 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
32842 If grub-mkimage has set `*install_dos_part == -2', don't override this
32843 value.
32844 Perform *install_dos_part adjustments independently on whether
32845 we're embedding or not.
32846 Clarify error message when image is too big for embedding.
32847 Remove duplicate *install_dos_part stanza.
32848
b23e5644 328492008-06-17 Robert Millan <rmh@aybabtu.com>
32850
32851 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
32852 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
32853 variables.
32854 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
32855 values in grub_ofconsole_normal_color and
32856 grub_ofconsole_highlight_color (they're not directly related to
32857 background and foreground).
32858 (grub_ofconsole_setcolorstate): Extract background and foreground
32859 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
32860
0aac2f79 328612008-06-17 Robert Millan <rmh@aybabtu.com>
32862
32863 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
32864 /boot/grub for the check in last commit, not /boot (they could be
32865 different partitions).
32866
3cca7ef3 328672008-06-16 Robert Millan <rmh@aybabtu.com>
32868
32869 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
32870 asked to setup access for the same partition that provides /boot,
32871 don't bother using UUIDs since our root already has the value we
32872 want.
32873
347396d8 328742008-06-16 Robert Millan <rmh@aybabtu.com>
32875
32876 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
32877 I2O devices.
32878 Patch from Sven Mueller <sven@debian.org>.
32879
991477f8 328802008-06-16 Robert Millan <rmh@aybabtu.com>
32881
32882 * util/update-grub.in: Check for $EUID instead of $UID.
32883 Reported by Vincent Zweije.
32884
d31a32a1 328852008-06-16 Bean <bean123ch@gmail.com>
32886
fe987087 32887 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 32888 (grub_ext2_read_block): Likewise.
32889 (grub_ext2_read_inode): Likewise.
32890 (grub_ext2_mount): Likewise.
32891 (grub_ext2_close): Likewise.
32892 (grub_ext3_get_journal): Removed.
32893
fe987087 32894 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 32895 (grub_reiserfs_read_symlink): Likewise.
32896 (grub_reiserfs_mount): Likewise.
32897 (grub_reiserfs_open): Likewise.
32898 (grub_reiserfs_read): Likewise.
32899 (grub_reiserfs_close): Likewise.
32900 (grub_reiserfs_get_journal): Removed.
32901
32902 * fs/fshelp.c (grub_fshelp_read): Removed.
32903 (grub_fshelp_map_block): Likewise.
32904
32905 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
32906 (grub_fshelp_journal): Likewise.
32907 (grub_fshelp_read): Likewise.
32908 (grub_fshelp_map_block): Likewise.
32909
3540a760 329102008-06-16 Pavel Roskin <proski@gnu.org>
32911
32912 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
32913 floating point anymore.
32914 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
32915
95614c84 329162008-06-15 Pavel Roskin <proski@gnu.org>
32917
32918 * commands/ls.c (grub_ls_list_files): Use integer calculations
32919 for human readable format, avoid floating point use.
32920 * kern/misc.c (grub_ftoa): Remove.
32921 (grub_vsprintf): Remove floating point support.
32922
50465dd6 329232008-06-15 Robert Millan <rmh@aybabtu.com>
32924
fe6b695a 32925 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 32926 devices.
32927 Reported by Max Vozeler.
32928
a9207284 329292008-06-15 Robert Millan <rmh@aybabtu.com>
32930
32931 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
32932 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
32933 skipped later.
32934 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
32935 the beginning of the prefix.
32936
32937 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
32938 It is assumed that if we have a memdisk, grub-mkimage has set
32939 grub_prefix to include the "(memdisk)" drive in it.
32940
a7cbd45a 329412008-06-15 Robert Millan <rmh@aybabtu.com>
32942
32943 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
32944 Initialize keyboard controller after registering the terminal, so that
32945 grub_printf() can be called from grub_keyboard_controller_init().
32946
21cf716a 329472008-06-15 Robert Millan <rmh@aybabtu.com>
32948
32949 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
32950 extent-btree which is written as big endian on disk.
32951 Reported by Alain Greppin <al@chilibi.org>.
32952
23a64d8e 329532008-06-14 Robert Millan <rmh@aybabtu.com>
32954
32955 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
32956 * util/i386/pc/grub-install.in (modules): Likewise.
32957
d687651c 329582008-06-13 Pavel Roskin <proski@gnu.org>
32959
32960 * commands/ls.c (grub_ls_list_files): Fix format warnings.
32961
dfe9ddd4 329622008-06-13 Bean <bean123ch@gmail.com>
32963
32964 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
32965
32966 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
32967
32968 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
32969 to indicate sparse block.
32970
16ae7781 329712008-06-12 Pavel Roskin <proski@gnu.org>
32972
e6d1a308 32973 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
32974 number, grub_fshelp_read() does it for us.
32975
16ae7781 32976 * fs/fshelp.c (grub_fshelp_read): New function. Implement
32977 linear disk read with journal translation.
32978 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
32979 * include/grub/fshelp.h: Declare grub_fshelp_read().
32980
40fd3a2b 329812008-06-09 Pavel Roskin <proski@gnu.org>
32982
32983 * fs/minix.c (grub_minix_mount): Handle error reading
32984 superblock.
32985
f5679726 329862008-06-08 Robert Millan <rmh@aybabtu.com>
32987
32988 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
32989 don't append the RAID prefix afterwards.
32990 Reported by Clint Adams.
32991
ce525529 329922008-06-08 Robert Millan <rmh@aybabtu.com>
32993
32994 Based on description from Pavel:
32995 * kern/disk.c (grub_disk_check_range): Rename to ...
32996 (grub_disk_adjust_range): ... this. Add a comment explaining the
32997 tasks performed by this function.
32998
ad4936a0 329992008-06-08 Robert Millan <rmh@aybabtu.com>
33000
33001 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
33002 `num_serial' (for consistency with other variables).
33003 (struct grub_ntfs_data): Add `uuid' member.
33004 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
33005 (grub_ntfs_uuid): New function.
33006 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
33007
dc20b0f9 330082008-06-07 Pavel Roskin <proski@gnu.org>
33009
33010 * util/biosdisk.c (open_device): Revert last change to the
33011 function, it broke installation. The sector needs to be
33012 different dependent on which device is opened.
33013
c5e3cfba 330142008-06-06 Robert Millan <rmh@aybabtu.com>
33015
33016 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
33017 rest of GRUB, and breakage doesn't happen if its value were modified.
33018
33019 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
33020 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
33021 a constant (same value).
33022 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
33023 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
33024
26a1f8c4 330252008-06-06 Robert Millan <rmh@aybabtu.com>
33026
33027 * util/biosdisk.c (open_device): Do not modify sector offset when
33028 accessing a partition. kern/disk.c already handles this for us.
33029
25d6b327 330302008-06-06 Robert Millan <rmh@aybabtu.com>
33031
33032 * util/grub-emu.c (grub_machine_init): Move code in this function from
33033 here ...
33034 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
33035 segfault in case grub_printf() is called).
33036
33037 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
33038 grub_probe. Update all users not to explicitly add it again.
33039 (grub_device): New variable; contains corresponding device for grubdir.
33040 (fs_module, partmap_module, devabstraction_module): Pass
33041 `--device ${grub_device}' to grub_probe to avoid traversing /dev
33042 every time.
33043
9ece62fb 330442008-06-05 Robert Millan <rmh@aybabtu.com>
33045
33046 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
33047 is found, print it (same layout as with labels).
33048
1ad36d37 330492008-06-04 Robert Millan <rmh@aybabtu.com>
33050
33051 * util/biosdisk.c (get_drive): Rename to ...
33052 (find_grub_drive): ... this. Update all users.
33053
33054 (get_os_disk): Rename to ...
33055 (convert_system_partition_to_system_disk): ... this. Update all users.
33056
33057 (find_drive): Rename to ...
33058 (find_system_device): ... this. Update all users.
33059
e6a30859 330602008-06-04 Robert Millan <rmh@aybabtu.com>
33061
33062 * util/biosdisk.c (get_os_disk): Handle IDA devices.
33063 * util/grub-mkdevicemap.c (get_mmc_disk_name)
33064 (make_device_map): Likewise.
33065
00c108a4 330662008-06-01 Robert Millan <rmh@aybabtu.com>
33067
33068 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
33069 before dereferencing it.
33070
33071 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
33072 union with fat12/fat16-specific ones. Add some new fields, including
33073 `num_serial' for both versions.
33074 (struct grub_fat_data): Add `uuid' member.
33075 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
33076 names. Initialize `data->uuid' using `num_serial'.
33077 (grub_fat_uuid): New function.
33078 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
33079
33080 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
33081 (grub_reiserfs_uuid): New function.
33082 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
33083 member.
33084
33085 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
33086 (grub_xfs_uuid): New function.
33087 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
33088
1385c5bb 330892008-06-01 Robert Millan <rmh@aybabtu.com>
33090
33091 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
33092 code that is backward compatible with pre-uuid search command.
33093
c682dfd7 330942008-05-31 Robert Millan <rmh@aybabtu.com>
33095
33096 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
33097 floppies after everything else, to ensure floppy drive isn't accessed
33098 unnecessarily (patch from Bean).
33099
b7db5d47 331002008-05-31 Robert Millan <rmh@aybabtu.com>
33101
33102 * commands/search.c (search_label, search_fs_uuid, search_file): Do
33103 not print device names when we were asked to set a variable.
33104
6e037aa9 331052008-05-31 Robert Millan <rmh@aybabtu.com>
33106
33107 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
33108 using "cursor-on" and "cursor-off" commands (understood at least by
33109 the Open Firmware flavour on OLPC).
33110
41305bc8 331112008-05-31 Michael Gorven <michael@gorven.za.net>
33112
33113 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
33114 on and off sequences.
33115
69ba137e 331162008-05-31 Robert Millan <rmh@aybabtu.com>
33117
33118 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
33119 * util/update-grub.in: Likewise.
33120
520ae21b 331212008-05-30 Pavel Roskin <proski@gnu.org>
33122
33123 * util/biosdisk.c (linux_find_partition): Simplify logic and
33124 make the code more universal. Keep special processing for
33125 devfs, but use a simple rule for all other devices. If the
33126 device ends with a number, append 'p' and the partition number.
33127 Otherwise, append only the partition number.
33128
5786569b 331292008-05-30 Robert Millan <rmh@aybabtu.com>
33130
33131 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
33132 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
33133 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
33134 the `root' parameter to Linux.
33135
51500452 331362008-05-30 Robert Millan <rmh@aybabtu.com>
33137
33138 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
33139 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
33140 --fs_uuid with --fs-uuid.
33141 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
33142 all filesystems support them).
33143
811d3878 331442008-05-30 Robert Millan <rmh@aybabtu.com>
33145
33146 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 33147 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 33148
cab63c95 331492008-05-30 Robert Millan <rmh@aybabtu.com>
33150
33151 * util/grub.d/00_header.in: Remove obsolete comment referencing
33152 convert_system_path_to_grub_path().
33153 * util/update-grub.in: Likewise.
33154 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
33155 (convert_system_path_to_grub_path): Add a warning message explaining
33156 that this function is deprecated. Rely on is_path_readable_by_grub()
33157 for the readability checks.
33158 (font_path): Use is_path_readable_by_grub() for the readability
33159 check rather than convert_system_path_to_grub_path().
33160
972e2f7a 331612008-05-30 Robert Millan <rmh@aybabtu.com>
33162
33163 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
33164 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
33165 converting it first.
33166 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
33167 grub.cfg for access to font file, and afterwards call it again to set
33168 the root device.
33169
62191274 331702008-05-30 Robert Millan <rmh@aybabtu.com>
33171
33172 * commands/search.c (options): Add --fs_uuid option.
33173 (search_fs_uuid): New function.
33174 (grub_cmd_search): Fix --set argument passing.
33175 Use search_fs_uuid() when requested via --fs_uuid.
33176 (grub_search_init): Update help message.
33177 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
33178 and redeclare it as an array of 16-bit words.
33179 (grub_ext2_uuid): New function.
33180 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
33181 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
33182 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
33183 (GRUB_DEVICE_BOOT_UUID): New variables.
33184 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
33185 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
33186 whenever possible.
33187 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
33188 just assume `root' variable has the right value.
33189 * util/grub.d/10_linux.in: Likewise.
33190 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
33191 via PRINT_FS_UUID.
33192 (main): Recognise `-t fs_uuid' argument.
33193
01b73ec8 331942008-05-30 Robert Millan <rmh@aybabtu.com>
33195
33196 * util/biosdisk.c (map): Redefine structure to hold information
33197 about GRUB drive name.
fe6b695a 33198 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 33199 drive names.
33200 (call_hook): Remove.
33201 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
33202 member. Assume drive has partitions.
33203 (grub_util_biosdisk_open): Access device names via `.device' struct
33204 member.
33205 (open_device): Likewise.
33206 (find_drive): Likewise.
33207 (read_device_map): Adjust map[] usage to match the new struct
33208 definition. Don't check for duplicates (still possible, but not cheap
33209 anymore).
33210 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
33211 (make_device_name): Remove assumption of BIOS-like drive names.
33212
22f16596 332132008-05-30 Pavel Roskin <proski@gnu.org>
33214
33215 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
33216 compiling execute.c doesn't need grub_script.tab.h anymore.
33217 (normal/command.c_DEPENDENCIES): Likewise.
33218 (normal/function.c_DEPENDENCIES): Likewise.
33219 * conf/i386-ieee1275.rmk: Likewise.
33220 * conf/i386-linuxbios.rmk: Likewise.
33221 * conf/i386-pc.rmk: Likewise.
33222 * conf/powerpc-ieee1275.rmk: Likewise.
33223 * conf/sparc64-ieee1275.rmk: Likewise.
33224
528ad8f2 332252008-05-29 Pavel Roskin <proski@gnu.org>
33226
d1dff95d 33227 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
33228 when scanning metadata for volume group name.
33229
528ad8f2 33230 * include/grub/script.h: Don't include grub_script.tab.h. It's
33231 a generated file, which may only be included from the files with
33232 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
33233 use union YYSTYPE, as the later allows forward declaration.
33234 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
33235
47248e08 332362008-05-29 Robert Millan <rmh@aybabtu.com>
33237
33238 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
33239 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
33240 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
33241 (grub_console_checkkey): Add grub_dprintf() call to report unknown
33242 scan codes.
33243
ee632529 332442008-05-29 Robert Millan <rmh@aybabtu.com>
33245
33246 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
33247 control key combinations.
33248
eee96e08 332492008-05-29 Robert Millan <rmh@aybabtu.com>
33250
33251 * util/powerpc/ieee1275/grub-install.in: Move from here ...
33252 * util/ieee1275/grub-install.in: ... to here.
33253 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
33254 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
33255 (grub_install_SOURCES): Likewise.
33256
da9a6a94 332572008-05-29 Robert Millan <rmh@aybabtu.com>
33258
33259 * fs/affs.c: Update copyright year.
33260 * fs/ext2.c: Likewise.
33261 * fs/fshelp.c: Likewise.
33262 * fs/hfsplus.c: Likewise.
33263 * fs/ntfs.c: Likewise.
33264 * fs/xfs.c: Likewise.
33265 * include/grub/fshelp.h: Likewise.
33266 * util/grub-mkdevicemap.c: Likewise.
33267
12e65f3a 332682008-05-28 Robert Millan <rmh@aybabtu.com>
33269
33270 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
33271 might need to be fatfs to support some firmware implementations
33272 (e.g. OFW or EFI).
33273
23023641 332742008-05-28 Robert Millan <rmh@aybabtu.com>
33275
33276 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
33277 devices.
33278 * util/grub-mkdevicemap.c (get_mmc_disk_name)
33279 (make_device_map): Likewise.
33280
887d2619 332812008-05-20 Bean <bean123ch@gmail.com>
33282
33283 * fs/fshelp.c (grub_fshelp_map_block): New function.
33284 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
33285 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
33286
33287 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
33288 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
33289 (grub_fshelp_journal): New structure.
33290 (grub_fshelp_map_block): New function prototype.
33291 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
33292 (grub_fshelp_map_block): Likewise.
33293
33294 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
33295 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
33296 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
33297 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
33298 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
33299 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
33300 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
33301 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
33302 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
33303 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
33304 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
33305 (grub_ext2_sblock): New members for journal support.
33306 (grub_ext3_journal_header): New structure.
33307 (grub_ext3_journal_revoke_header): Likewise.
33308 (grub_ext3_journal_block_tag): Likewise.
33309 (grub_ext3_journal_sblock): Likewise.
33310 (grub_fshelp_node): New members logfile and journal.
33311 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
33312 grub_fshelp_map_block to get real block number.
33313 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
33314 number.
33315 (grub_ext2_read_inode): Likewise.
33316 (grub_ext3_get_journal): New function.
33317 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
33318 (grub_ext2_close): Release memory used by journal.
33319
33320 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
33321 (REISERFS_MAGIC_DESC_BLOCK): New macro.
33322 (grub_reiserfs_transaction_header): Renamed to
33323 grub_reiserfs_description_block, replace field data with real_blocks.
33324 (grub_reiserfs_commit_block): New structure.
33325 (grub_reiserfs_data): New member journal.
33326 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
33327 number.
33328 (grub_reiserfs_read_symlink): Likewise.
33329 (grub_reiserfs_iterate_dir): Likewise.
33330 (grub_reiserfs_open): Likewise.
33331 (grub_reiserfs_read): Likewise.
33332 (grub_reiserfs_get_journal): New function.
33333 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
33334 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
33335 using grub_reiserfs_get_journal.
33336 (grub_reiserfs_close): Release memory used by journal.
33337
33338 * fs/affs.c (grub_affs_read_block): Change block type to
33339 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
33340
33341 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
33342
33343 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
33344
33345 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
33346
33347 * fs/udf.c (grub_udf_read_block): Change block type to
33348 grub_disk_addr_t. Use type cast to avoid warning.
33349
33350 * fs/xfs.c (grub_xfs_read_block): Likewise.
33351
b7c6bed5 333522008-05-16 Christian Franke <franke@computer.org>
33353
33354 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
33355 to ensure that break with ESC will always work.
33356 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
33357 Remove ESC from keyboard queue.
33358
eedf167f 333592008-05-16 Christian Franke <franke@computer.org>
33360
33361 * util/biosdisk.c: [__CYGWIN__] Add includes.
33362 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
33363 (get_os_disk): Move variable declarations to OS specific
33364 parts to avoid warning.
33365 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
33366 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
33367 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
33368 Cygwin.
33369 * util/getroot.c: [__CYGWIN__] Add includes.
33370 (strip_extra_slashes): Fix "/" case.
33371 [__CYGWIN__] (get_win32_path): New function.
33372 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
33373 [__CYGWIN__] (find_root_device): Disable.
33374 [__CYGWIN__] (get_bootsec_serial): New function.
33375 [__CYGWIN__] (find_cygwin_root_device): Likewise.
33376 [__linux__] (grub_guess_root_device): Add early returns to simplify
33377 structure.
33378 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
33379 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
33380 check for Linux only.
33381
a079699e 333822008-05-15 Bean <bean123ch@gmail.com>
33383
33384 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
33385 keyboard hang problem in apple's intel mac.
33386
1cf4059a 333872008-05-09 Robert Millan <rmh@aybabtu.com>
33388
33389 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
33390 devices.
33391 * util/grub-mkdevicemap.c (get_virtio_disk_name)
33392 (make_device_map): Likewise.
33393 Reported by Aurelien Jarno <aurel32@debian.org>
33394
ed759390 333952008-05-07 Ian Campbell <ijc@hellion.org.uk>
33396
33397 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
33398 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
33399 (make_device_map): Output entries for xvd type disks.
33400
b56c4eaa 334012008-05-07 Robert Millan <rmh@aybabtu.com>
33402
33403 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
33404 devices.
33405 * util/grub-mkdevicemap.c (get_cciss_disk_name)
33406 (make_device_map): Likewise.
33407 Reported by Roland Dreier <rdreier@cisco.com>
33408
7f8866ed 334092008-05-07 Robert Millan <rmh@aybabtu.com>
33410
33411 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
33412 grub_strstr() call. Correct a few mistakes in failure path handling.
33413
b0346e0f 334142008-05-06 Robert Millan <rmh@aybabtu.com>
33415
33416 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
33417 Do not print a trailing slash (therefore, the root directory is an
33418 empty string).
33419 (convert_system_path_to_grub_path): Do not remove trailing slash
33420 from make_system_path_relative_to_its_root() output.
33421
33422 * util/i386/pc/grub-install.in: Add trailing slash to output from
33423 make_system_path_relative_to_its_root().
33424
6cf12cbd 334252008-05-06 Robert Millan <rmh@aybabtu.com>
33426
33427 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
33428 ensures that output lines aren't intermangled with those sent to
33429 stderr (via grub_util_info()).
33430 * util/grub-probe.c (grub_refresh): Likewise.
33431 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
33432
0fbb3117 334332008-05-05 Christian Franke <franke@computer.org>
33434
33435 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
33436 Add Cygwin device names.
33437 (get_ide_disk_name) [__CYGWIN__]: Likewise.
33438 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
33439 (check_device): Return error instead of success on empty name.
33440 (make_device_map): Move label inside linux specific code to
33441 prevent compiler warning.
33442
8124cdb7 334432008-04-30 Robert Millan <rmh@aybabtu.com>
33444
33445 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
33446 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
33447 first boot option.
33448 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
33449
094c01d0 334502008-04-29 Robert Millan <rmh@aybabtu.com>
33451
33452 * docs/grub.cfg: New file (example GRUB configuration).
33453
f4b1fc02 334542008-04-26 Robert Millan <rmh@aybabtu.com>
33455
329ce2a5 33456 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
33457 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
33458 and `disk/ieee1275/nand.c'.
f4b1fc02 33459
25f16ec1 334602008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 33461
25f16ec1 33462 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
33463 i386-linuxbios.
33464
33465 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
33466 change the buffer size to 4096 for cdrom device.
33467
33468 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
33469 and nand.mod.
33470 (_linux_mod_SOURCES): New variable.
33471 (_linux_mod_CFLAGS): Likewise.
33472 (_linux_mod_LDFLAGS): Likewise.
33473 (linux_mod_SOURCES): Likewise.
33474 (linux_mod_CFLAGS): Likewise.
33475 (linux_mod_LDFLAGS): Likewise.
33476 (nand_mod_SOURCES): Likewise.
33477 (nand_mod_CFLAGS): Likewise.
33478 (nand_mod_LDFLAGS): Likewise.
33479
33480 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
33481 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
33482 type property. (nand device in olpc don't have this property)
33483
33484 * include/grub/disk.h (grub_disk_dev_id): New macro
33485 GRUB_DISK_DEVICE_NAND_ID.
33486
33487 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
33488 function prototype.
33489 (grub_rescue_cmd_initrd): Likewise.
33490
33491 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
33492 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
33493 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 33494
25f16ec1 33495 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
33496 GRUB_MACHINE_IEEE1275 is defined.
33497
33498 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
33499 Use NESTED_FUNC_ATTR attribute on the hook parameter.
33500
33501 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
33502 on nested function heap_init.
33503 (grub_upper_mem): New variable for i386-ieee1275.
33504 (grub_get_extended_memory): New function for i386-ieee1275.
33505 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
33506
33507 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
33508 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
33509 property.
f19dbdb7 33510
25f16ec1 33511 * loader/i386/ieee1275/linux.c: New file.
33512
33513 * loader/i386/ieee1275/linux_normal.c: New file.
33514
33515 * disk/ieee1275/nand.c: New file.
33516
e89d61e9 335172008-04-18 Thomas Schwinge <tschwinge@gnu.org>
33518
33519 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
33520 value.
33521 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
33522
602566f6 335232008-04-18 Robert Millan <rmh@aybabtu.com>
33524
33525 Restructures early code path on ieee1275 to unify grub_main() as
33526 the first C function that is executed in every platform.
33527
33528 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
33529 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
33530 cmain().
33531 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
33532 * kern/ieee1275/cmain.c (cmain): Rename to ...
33533 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
33534 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
33535 at the beginning.
33536
57490c2b 335372008-04-18 Robert Millan <rmh@aybabtu.com>
33538
33539 * util/update-grub.in: Fix syntax error when setting
33540 `GRUB_PRELOAD_MODULES'.
33541 Reported by Stephane Chazelas <stephane@artesyncp.com>
33542
1977517d 335432008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
33544
33545 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
33546 section into account, newer toolchains generate unique build ids
33547 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 33548 we want build ids to be preserved
1977517d 33549 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
33550 far from other sections don't cause the raw binary images grow
33551 size
33552
bfb1f1a2 335532008-04-15 Robert Millan <rmh@aybabtu.com>
33554
33555 * disk/lvm.c: Update copyright year.
33556 * kern/misc.c: Likewise.
33557
01979850 335582008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
33559
33560 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 33561 there is no memory left for physical volume name.
01979850 33562
0a1150e2 335632008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
33564
33565 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
33566 volume name mapping to support bigger than 9 character names properly.
33567
82ead3fe 335682008-04-13 Robert Millan <rmh@aybabtu.com>
33569
33570 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
33571 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
33572
e54a72f5 335732008-04-13 Christian Franke <franke@computer.org>
33574
33575 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
33576 to create a floppy emulation boot CD when non emulation mode
33577 does not work.
33578 Enable Joliet CD filesystem extension.
33579
9fe86034 335802008-04-13 Robert Millan <rmh@aybabtu.com>
33581
33582 * kern/misc.c (grub_strncat): Fix off-by-one error.
33583 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
33584
33585 * kern/env.c (grub_env_context_close): Clear current context, not
33586 previous one.
33587 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
33588
33589 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
33590
7ceeee39 335912008-04-13 Robert Millan <rmh@aybabtu.com>
33592
33593 Improve robustness when handling LVM.
33594
33595 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 33596 (and leave `*p' unmodified).
7ceeee39 33597 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
33598 through it.
33599 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
33600 iterating through it.
33601 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
33602 through it.
fe6b695a 33603 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 33604 when due) on each grub_lvm_getvalue() or grub_strstr() call.
33605 Don't assume `vg->pvs != NULL' when iterating through it.
33606
58cd3d85 336072008-04-13 Robert Millan <rmh@aybabtu.com>
33608
33609 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
33610 * genmk.rb (partmap): New variable.
33611 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
33612 (#{partmap}): New target rule.
33613 * genpartmaplist.sh: New file.
33614 * Makefile.in (pkglib_DATA): Add partmap.lst.
33615 (partmap.lst): New target rule.
33616 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
33617 modules (including all partition maps), instead of preloading them.
33618
78b51059 336192007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
33620
33621 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
33622 `linux-boot-prober' (if installed) to detect other operating
33623 systems which are installed on the computer and add them to
33624 the boot menu.
33625 * conf/common.rmk: Build and install 30_os-prober.
33626
a91627b4 336272008-04-12 Robert Millan <rmh@aybabtu.com>
33628
33629 * kern/powerpc/ieee1275/init.c: Move from here ...
33630 * kern/ieee1275/init.c: ... to here. Update all users.
33631
33632 * kern/powerpc/ieee1275/cmain.c: Move from here ...
33633 * kern/ieee1275/cmain.c: ... to here. Update all users.
33634
33635 * kern/powerpc/ieee1275/openfw.c: Move from here ...
33636 * kern/ieee1275/openfw.c: ... to here. Update all users.
33637
33638 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
33639 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
33640
322562ea 336412008-04-10 Pavel Roskin <proski@gnu.org>
33642
33643 * configure.ac: Always use "_cv_" in cache variables for
33644 compatibility with Autoconf 2.62.
33645
a02a73c5 336462008-04-07 Robert Millan <rmh@aybabtu.com>
33647
33648 Revert grub/machine/init.h addition by Pavel (since it breaks on
33649 i386-ieee1275 and others):
33650 * util/i386/pc/misc.c: Remove grub/machine/init.h.
33651 * util/powerpc/ieee1275/misc.c: Likewise.
33652
25c024b1 336532008-04-07 Robert Millan <rmh@aybabtu.com>
33654
33655 * util/grub-probe.c (probe): Improve error message.
33656
3cbd2f98 336572008-04-07 Robert Millan <rmh@aybabtu.com>
33658
33659 * util/biosdisk.c (read_device_map): Skip devices that don't exist
33660 (this prevents the presence of a bogus entry from ruining the whole
33661 thing).
33662
87a297bf 336632008-04-06 Pavel Roskin <proski@gnu.org>
33664
36747a62 33665 * util/biosdisk.c: Include grub/util/biosdisk.h.
33666 * util/grub-fstest.c (execute_command): Make static.
33667 * util/grub-mkdevicemap.c (check_device): Likewise.
33668 * util/i386/pc/misc.c: Include grub/machine/init.h.
33669 * util/powerpc/ieee1275/misc.c: Likewise.
33670 * util/lvm.c: Include grub/util/lvm.h.
33671 * util/misc.c: Include grub/kernel.h, grub/misc.h and
33672 grub/cache.h.
33673 * util/raid.c: Include grub/util/raid.h.
33674 (grub_util_getdiskname): Make static.
33675
87a297bf 33676 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
33677 grub_hostfs_fini(), as they are called from grub_init_all() and
33678 grub_fini_all() respectively. This fixes an infinite loop in
33679 grub-fstest due to double registration of hostfs.
33680 Reported by Christian Franke <Christian.Franke@t-online.de>
33681
f6ce7629 336822008-04-05 Pavel Roskin <proski@gnu.org>
33683
33684 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
33685 all 8 functions. Otherwise, probe function 0 only.
33686
070e49e4 336872008-04-04 Pavel Roskin <proski@gnu.org>
33688
8b088a4c 33689 * commands/lspci.c (grub_lspci_iter): Print the bus number
33690 correctly.
33691
4f657021 33692 * commands/lspci.c (grub_pci_classes): Fix typos.
33693 (grub_lspci_iter): Don't print func twice. Print vendor ID
33694 before device ID, as it's normally done.
33695
070e49e4 33696 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
33697 Fix signedness warnings.
33698 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
33699 Likewise.
33700 * util/ieee1275/get_disk_name.c: Include config.h so that
33701 _GNU_SOURCE is defined and getline() is declared. Mark an
33702 unused argument as such. Fix a signedness warning.
33703
ba7328dc 337042008-04-02 Pavel Roskin <proski@gnu.org>
33705
26887f22 33706 * genkernsyms.sh.in: Use more robust assignments for CC and
33707 srcdir. Quote srcdir.
33708 * gensymlist.sh.in: Likewise. Assert at the compile time that
33709 the symbol table is not empty.
33710
ba7328dc 33711 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
33712 * fs/cpio.c (grub_cpio_read): Likewise.
33713
0f582c6b 337142008-04-01 Pavel Roskin <proski@gnu.org>
33715
4b6e1995 33716 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
33717 * disk/host.c (grub_host_open): Likewise.
33718 * disk/loopback.c (grub_loopback_open): Likewise.
33719 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
33720 disk->id as in disk/host.c, not a multi-character constant.
33721
828a2768 33722 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
33723 later is obsolete, potentially dangerous and sets a bad example.
33724 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
33725 * util/misc.c (grub_util_get_image_size): Likewise.
33726
2bb4fb47 33727 * disk/loopback.c (options): Improve help for "--partitions".
33728
0f582c6b 33729 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
33730 options to align them with the short options, e.g. "echo -e".
33731
a33224e0 337322008-03-31 Bean <bean123ch@gmail.com>
33733
33734 * video/reader/png.c (grub_png_data): New member is_16bit and
33735 image_data.
33736 (grub_png_decode_image_header): Detect 16 bit png image.
33737 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
33738 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
33739 (grub_video_reader_png): Release memory occupied by image_data.
33740
33741 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
33742 4096 bytes.
33743 (grub_nfs_mount): Skip the test for sector per cluster.
33744
33745 * include/grub/ntfs.h (MAX_SPC): Removed.
33746
86cb4f54 337472008-03-31 Bean <bean123ch@gmail.com>
33748
33749 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
33750 (grub_probe_SOURCES): Add fs/afs.c.
33751 (grub_fstest_SOURCES): Likewise.
33752 (afs_mod_SOURCES): New variable.
33753 (afs_mod_CFLAGS): Likewise.
33754 (afs_mod_LDFLAGS): Likewise.
33755
33756 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
33757 (grub_emu_SOURCES): Likewise.
33758
33759 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33760
33761 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33762
33763 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33764
33765 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33766
33767 * fs/afs.c: New file.
33768
17c74c21 337692008-03-30 Pavel Roskin <proski@gnu.org>
33770
4cb68e89 33771 * disk/host.c: Include grub/misc.h to fix a warning.
33772 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
33773 warnings about implicit declarations.
33774
8790bb04 33775 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
33776 variable.
33777 * include/grub/i386/loader.h: Change declaration of
33778 grub_linux_boot() to match what grub_loader_set() expects.
33779 * util/getroot.c (grub_guess_root_device): Return const char* to
33780 fix a warning.
33781 * util/grub-probe.c (probe): Fix a warning about uninitialized
33782 abstraction_name variable.
33783 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
33784 second argument as unused to fix a warning.
33785
9a3f3296 33786 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
33787 missing grub_error() call.
33788
0ecef90d 33789 * util/update-grub_lib.in: Define datarootdir, since Autoconf
33790 2.60 and newer uses it to define datadir.
33791
0bf6d401 33792 * commands/sleep.c: Fix warning about implicit declaration.
33793 * disk/memdisk.c: Likewise.
33794 * loader/aout.c: Likewise.
33795 * loader/i386/bsd_normal.c: Likewise.
33796 * util/grub-probe.c: Likewise.
33797
7cdacf97 33798 * commands/i386/cpuid.c (has_longmode): Make static.
33799 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
33800 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
33801
17c74c21 33802 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
33803 GDT. This is more robust, as %ds can change.
33804 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
33805 calling real_to_prot().
33806 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
33807
80a3e68b 338082008-03-28 Pavel Roskin <proski@gnu.org>
33809
33810 * kern/i386/pc/startup.S: Assert that uncompressed functions
33811 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
33812 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
33813 code, as they push parts of the code (error handlers) beyond
33814 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
33815 code as correctness and size.
33816
77bcd272 338172008-03-28 Pavel Roskin <proski@gnu.org>
33818
33819 * kern/i386/pc/startup.S
33820 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
33821 data block address to the real mode, keep offset minimal. This
33822 works around a bug in AWARD BIOS on old Athlon systems, which
33823 makes CD detection hang.
33824
c5dfd43b 338252008-03-26 Pavel Roskin <proski@gnu.org>
33826
33827 * normal/color.c (grub_parse_color_name_pair): Make `name' a
33828 const.
33829 * include/grub/normal.h: Add grub_parse_color_name_pair()
33830 declaration.
33831
bf962df2 338322008-03-24 Bean <bean123ch@gmail.com>
33833
33834 * disk/i386/pc/biosdisk.c (cd_start): Removed.
33835 (cd_count): Removed.
33836 (cd_drive): New variable.
33837 (grub_biosdisk_get_drive): Don't check for (cdN) device.
33838 (grub_biosdisk_call_hook): Likewise.
33839 (grub_biosdisk_iterate): Change cdrom detection method.
33840 (grub_biosdisk_open): Replace cd_start with cd_drive.
33841 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
33842 detect cdrom device.
33843
33844 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
33845 Removed.
33846 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
33847 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
33848 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
33849 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
33850 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
33851 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
33852 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
33853 (grub_biosdisk_cdrp): New structure.
33854 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
33855
33856 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
33857
33858 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
33859 device.
33860
33861 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
33862 New function.
33863
68e7fc7a 338642008-03-20 Robert Millan <rmh@aybabtu.com>
33865
33866 Remove 2 TiB limit in ata.mod.
33867 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
33868 (grub_ata_dumpinfo): Print sector count with 0x%llx.
33869 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
33870 grub_uint64_t instead of grub_uint32_t.
33871
38ad2cf5 338722008-03-05 Bean <bean123ch@gmail.com>
33873
33874 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
33875 (grub_multiboot): Set boot device.
33876
33877 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
33878
2b89344e 338792008-03-02 Bean <bean123ch@gmail.com>
33880
33881 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
33882 symlink_buffer.
33883
87a95d1f 338842008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
33885
33886 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
33887 texinfo.tex.
33888
33889 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
33890 modified.
33891
33892 * docs/fdl.texi: New file.
f19dbdb7 33893
87a95d1f 33894 * docs/mdate-sh: New file. Copied from gnulib.
33895 * docs/texinfo.tex: Likewise.
33896
33897 * config.guess: Updated from gnulib.
33898 * install-sh: Likewise.
33899
7dc15d8e 339002008-02-28 Robert Millan <rmh@aybabtu.com>
33901
33902 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
33903 (aout_mod_SOURCES): New variable.
33904 (aout_mod_CFLAGS): Likewise.
33905 (aout_mod_LDFLAGS): Likewise.
33906
33907 * conf/i386-ieee1275.rmk: Likewise.
33908
b00ab696 339092008-02-28 Robert Millan <rmh@aybabtu.com>
33910
33911 * util/update-grub.in: Reorganise terminal validity check. Accept
33912 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
33913 Based on suggestion by Franklin PIAT.
33914
79ca2d78 339152008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
33916
33917 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
33918 function.
33919 * util/getroot.c (grub_util_check_block_device): New function that
33920 returns the given argument if it is a block device and returns NULL else.
33921 * util/grub-probe.c (argument_is_device): New variable.
33922 (probe): Promote device_name from a variable to an argument. Receive
33923 device_name from grub_util_check_block_device() if path is NULL and from
33924 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 33925 (options): Introduce new parameter '-d, --device'.
79ca2d78 33926 (main): Add description of the new parameter to the help screen.
33927 Rename path variable to argument. Set argument_is_device if the '-d'
33928 option is given. Pass argument to probe() depending on
33929 argument_is_device.
33930
0d16e571 339312008-02-24 Bean <bean123ch@gmail.com>
33932
33933 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
33934 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
33935 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
33936 (GRUB_ISO9660_VOLDESC_PART): Likewise.
33937 (GRUB_ISO9660_VOLDESC_END): Likewise.
33938 (grub_iso9660_primary_voldesc): New member escape.
33939 (grub_iso9660_data): New member joliet.
33940 (grub_iso9660_convert_string): New function.
33941 (grub_iso9660_mount): Detect joliet extension.
33942 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
33943 (grub_iso9660_iso9660_label): Likewise.
33944
33945 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
33946 (grub_setup_SOURCES): Add fs/udf.c.
33947 (grub_fstest_SOURCES): Likewise.
33948 (udf_mod_SOURCES): New variable.
33949 (udf_mod_CFLAGS): Likewise.
33950 (udf_mod_LDFLAGS): Likewise.
33951
33952 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
33953 (grub_emu_SOURCES): Likewise.
33954
33955 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33956
33957 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33958
33959 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33960
33961 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33962
33963 * fs/udf.c: New file.
33964
8a594a17 339652008-02-24 Robert Millan <rmh@aybabtu.com>
33966
33967 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
33968 (normal/lexer.c_DEPENDENCIES): New variables.
33969 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
33970 (normal/lexer.c_DEPENDENCIES): Likewise.
33971 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
33972 (normal/lexer.c_DEPENDENCIES): Likewise.
33973 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
33974 (normal/lexer.c_DEPENDENCIES): Likewise.
33975 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
33976 (normal/lexer.c_DEPENDENCIES): Likewise.
33977 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
33978 (normal/lexer.c_DEPENDENCIES): Likewise.
33979
2dc33c03 339802008-02-23 Robert Millan <rmh@aybabtu.com>
33981
33982 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
33983 since they were intended to be in hex. This didn't break previously
33984 because of a bug in gpt_partition_map_iterate() (see below).
33985
33986 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
33987 when checking the validity of GPT header.
33988 Remove `partno', since it always provides the same information as `i'.
33989
f6f4cfb0 339902008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
33991
33992 * include/grub/efi/time.h: Fix a wrong comment.
33993
79ff665f 339942008-02-19 Pavel Roskin <proski@gnu.org>
33995
33996 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
33997 message.
33998
d38e24c2 339992008-02-19 Bean <bean123ch@gmail.com>
34000
34001 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
34002 (aout_mod_SOURCES): New variable.
34003 (aout_mod_CFLAGS): Likewise.
34004 (aout_mod_LDFLAGS): Likewise.
34005 (_bsd_mod_SOURCES): New variable.
34006 (_bsd_mod_CFLAGS): Likewise.
34007 (_bsd_mod_LDFLAGS): Likewise.
34008 (bsd_mod_SOURCES): New variable.
34009 (bsd_mod_CFLAGS): Likewise.
34010 (bsd_mod_LDFLAGS): Likewise.
34011
34012 * include/grub/aout.h: New file.
34013
34014 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
34015
34016 * include/grub/i386/bsd.h: New file.
34017
34018 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
34019 to make it public.
34020
34021 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
34022 function is called, so that it's possible to change it inside the hook.
34023 (grub_elf64_load): Likewise.
34024 (grub_elf_file): Don't close the file if elf header is not found.
34025 (grub_elf_close): Close the file if grub_elf_file fails (The new
34026 grub_elf_file won't close it).
34027 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
34028 (grub_elf64_size): Likewise.
34029
34030 * kern/i386/loader.S (grub_unix_real_boot): New function.
34031
34032 * loader/aout.c: New file.
34033
34034 * loader/i386/bsd.c: New file.
34035
34036 * loader/i386/bsd_normal.c: New file.
34037
34038 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
34039
34040 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 34041 can test other formats.
d38e24c2 34042
b93bdb0f 340432008-02-19 Robert Millan <rmh@aybabtu.com>
34044
34045 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
34046 (grub_gpt_partition_type_empty): Redefine with macro from
34047 `<grub/gpt_partition.h>'.
34048 (gpt_partition_map_iterate): Adjust partition type comparison.
34049
34050 Export `entry' as partmap-specific `part.data' struct.
34051 (grub_gpt_header, grub_gpt_partentry): Move from here ...
34052
34053 * include/grub/gpt_partition.h (grub_gpt_header)
34054 (grub_gpt_partentry): ... to here (new file).
34055
34056 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
34057
34058 (grub_gpt_partition_type_bios_boot): New const variable, defined
34059 with macro from `<grub/gpt_partition.h>'.
34060
34061 (setup): Replace `first_start' with `embed_region', which keeps
34062 track of the embed region (and is partmap-agnostic).
34063
34064 Replace find_first_partition_start() with find_usable_region(),
34065 which finds a usable region for embedding using partmap-specific
34066 knowledge (supports PC/MSDOS and GPT).
34067
34068 Fix all assumptions that the embed region start at sector 1, using
34069 `embed_region.start' from now on. Similarly, use `embed_region.end'
34070 rather than `first_start' to calculate available size.
34071
34072 In grub_util_info() message, replace "into after the MBR" with an
34073 indication of the specific sector our embed region starts at.
34074
66cb40f6 340752008-02-19 Robert Millan <rmh@aybabtu.com>
34076
34077 * DISTLIST: Replace `commands/ieee1275/halt.c' and
34078 `commands/ieee1275/reboot.c' with `commands/halt.c' and
34079 `commands/reboot.c'.
34080 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34081 (halt_mod_SOURCES): Likewise.
34082 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34083 (halt_mod_SOURCES): Likewise.
34084
b7202015 340852008-02-17 Christian Franke <franke@computer.org>
34086
34087 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
34088
32b0fc49 340892008-02-17 Robert Millan <rmh@aybabtu.com>
34090
34091 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34092 set `first_start' to 0 for non-PC/MSDOS partition maps.
34093
aca63502 340942008-02-16 Robert Millan <rmh@aybabtu.com>
34095
34096 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34097 do not assume partition map is PC/MSDOS before performing checks that
34098 are specific to that layout.
34099
0de8be86 341002008-02-13 Robert Millan <rmh@aybabtu.com>
34101
34102 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
34103 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
34104 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
34105
c3db8364 341062008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
34107
34108 * configure.ac: Only a cosmetic change on the handling of
34109 -fno-stack-protector.
34110
f714229e 341112008-02-12 Alexandre Boeglin <alex@boeglin.org>
34112
c3db8364 34113 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
34114 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
34115 reboot.c.
f714229e 34116 (grub_install_SOURCES): Add halt.mod and reboot.mod.
34117 (halt_mod_SOURCES): New variable.
34118 (halt_mod_CFLAGS): Likewise.
34119 (halt_mod_LDFLAGS): Likewise.
34120 (reboot_mod_SOURCES): Likewise.
34121 (reboot_mod_CFLAGS): Likewise.
34122 (reboot_mod_LDFLAGS): Likewise.
34123
c3db8364 34124 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
34125 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
34126 reboot.c.
f714229e 34127 (halt_mod_SOURCES): Likewise.
34128 (reboot_mod_SOURCES): Likewise.
34129
c3db8364 34130 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
34131 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 34132 (reboot_mod_SOURCES): Likewise.
34133
34134 * commands/i386/pc/reboot.c: merge this file ...
34135
34136 * commands/ieee1275/reboot.c: ... and this file ...
34137
34138 * commands/reboot.c: ... to this file.
c3db8364 34139 Add some precompiler directive to include the correct header for
34140 each machine.
f714229e 34141
34142 * commands/ieee1275/halt.c: move this file ...
34143
34144 * commands/halt.c: ... to here.
c3db8364 34145 Add some precompiler directive to include the correct header for
34146 each machine.
f714229e 34147
34148 * include/grub/efi/efi.h (grub_reboot): New function declaration.
34149 (grub_halt): Likewise.
34150
34151 * kern/efi/efi.c (grub_reboot): New function.
34152 (grub_halt): Likewise.
34153
c74493e0 341542008-02-12 Robert Millan <rmh@aybabtu.com>
34155
34156 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
34157 /dev (like it is done for /dev/mapper). This doesn't provide support
34158 for EVMS, but at least it is now easy to identify the problem when it
34159 arises.
34160
d0db4b04 341612008-02-11 Robert Millan <rmh@aybabtu.com>
34162
34163 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
34164 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
34165 comparing it with -1, not 0.
34166
bf748642 341672008-02-10 Robert Millan <rmh@aybabtu.com>
34168
34169 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
34170 `disk/lvm.c'.
34171 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34172 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
34173
34174 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
34175 `disk/lvm.c' to the end of the list.
34176 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34177 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34178
b5db202a 341792008-02-10 Robert Millan <rmh@aybabtu.com>
34180
34181 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
34182 grub_print_error() instead. This will let user know why we're entering
34183 rescue mode.
34184 Based on suggestions from Sam Morris.
34185
83abee31 341862008-02-10 Alexandre Boeglin <alex@boeglin.org>
34187
34188 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
34189 on remaining N args, instead of "--" arg N times.
34190
78d5a08b 341912008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
34192
34193 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
34194 (fill_with_default_glyph): Changed to use unknown_glyph for fill
34195 pattern for unknown glyphs.
34196
68807e5f 341972008-02-09 Robert Millan <rmh@aybabtu.com>
34198
34199 * configure.ac: Probe for `help2man'.
34200 * Makefile.in (builddir): New variable.
34201 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
34202 or otherwise add a few flags/options to it.
34203 (install-local): For every executable utility or script that is
34204 installed, invoke $(HELP2MAN) to install a manpage based on --help
34205 output.
34206
34207 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
34208 that it doesn't prevent --help from working in build tree.
34209
34210 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
34211 with `bug-grub@gnu.org'.
34212 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
34213 * util/update-grub.in (usage): New function.
34214 Implement proper argument check, with support for --help and --version
34215 (as well as existing -y).
34216
342172008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 34218
34219 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
34220 avoid overwriting previous output.
34221 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
34222
c1962162 342232008-02-09 Robert Millan <rmh@aybabtu.com>
34224
34225 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
34226 drawing the menu.
34227
3dac2e3f 342282008-02-09 Robert Millan <rmh@aybabtu.com>
34229
34230 * commands/sleep.c: New file.
34231 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
34232 (sleep_mod_SOURCES): New variable.
34233 (sleep_mod_CFLAGS): Likewise.
34234 (sleep_mod_LDFLAGS): Likewise.
34235
7a634e08 342362008-02-09 Robert Millan <rmh@aybabtu.com>
34237
34238 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
34239 situations in which we can deduce the RAID size and the superblock
34240 doesn't match it.
34241
b92f0c18 342422008-02-09 Robert Millan <rmh@aybabtu.com>
34243
34244 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
34245 and return a grub_diskmemberlist_t composed of LVM physical volumes.
34246 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
34247
34248 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
34249 and return a grub_diskmemberlist_t composed of physical array members.
34250 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
34251
34252 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
34253 prototype.
34254 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
34255 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
34256 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
34257
34258 * util/grub-probe.c (probe): Move partmap probing code from here ...
34259 (probe_partmap): ... to here.
34260 (probe): Use probe_partmap() once for the disk we're probing, and
34261 additionally, when such disk contains a memberlist() struct member,
34262 once for each disk that is contained in the structure returned by
34263 memberlist().
34264
91a4bf68 342652008-02-09 Robert Millan <rmh@aybabtu.com>
34266
34267 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
34268 environment variable to 'all' in order to obtain debug output from
34269 non-util/ code.
34270 * util/i386/pc/grub-setup.c (main): Likewise.
34271
a96f9caa 342722008-02-08 Robert Millan <rmh@aybabtu.com>
34273
34274 * disk/raid.c (grub_raid_scan_device): Check for
34275 `array->device[sb.this_disk.number]' rather than for
34276 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 34277 guaranteed to be accessible.
a96f9caa 34278
b37a9222 342792008-02-08 Robert Millan <rmh@aybabtu.com>
34280
34281 * disk/raid.c: Update copyright.
34282 * fs/cpio.c: Likewise.
34283 * include/grub/raid.h: Likewise.
34284 * loader/i386/pc/multiboot.c: Likewise.
34285 * util/hostfs.c: Likewise.
34286
5626aee1 342872008-02-08 Robert Millan <rmh@aybabtu.com>
34288
34289 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
34290 to a grub_disk_t array.
34291 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
34292 `device[x]'.
34293 (grub_raid_scan_device): Replace `device[x].name' accesses with
34294 `device[x]->name'. Simplify initialization of `array->device[x]'.
34295
554f0187 342962008-02-08 Robert Millan <rmh@aybabtu.com>
34297
34298 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
34299 grub_dprintf() calls.
34300 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
34301 error message.
34302
1ec8425d 343032008-02-07 Christian Franke <franke@computer.org>
34304
34305 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
34306 instead of fseek and ftell to support large files.
34307 (grub_hostfs_read): Likewise.
34308
f2156fda 343092008-02-07 Robert Millan <rmh@aybabtu.com>
34310
34311 Patch from Jeroen Dekkers.
34312 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 34313 failure, since successfully reading all array members might not be
f2156fda 34314 required.
34315
9216e0e7 343162008-02-06 Robert Millan <rmh@aybabtu.com>
34317
34318 * util/grub-probe.c (probe): Simplify partmap probing (with the
34319 assumption that the first word up to the underscore equals to
34320 the module name).
34321
b0dfd29a 343222008-02-06 Christian Franke <franke@computer.org>
34323
34324 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
34325 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
34326 last block of a cpio or tar stream.
34327 Check for "TRAILER!!!" instead of any empty data
34328 block to detect last block of a cpio stream.
34329 (grub_cpio_dir): Fix constness of variable np.
34330 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
34331 cpio or tar trailer is detected. This fixes a crash
34332 on open of a non existing file.
34333
c32865bf 343342008-02-05 Bean <bean123ch@gmail.com>
34335
34336 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
34337 address of entry.
34338 (grub_multiboot_load_elf64): Likewise.
34339 (grub_multiboot): Initialize mbi structure.
34340
34341 * util/grub-fstest.c: Don't include unused header file script.h.
34342
fe6b695a 34343 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 34344 of file.
34345 (grub_fstest_SOURCES): Likewise.
34346
409480b7 343472008-02-05 Robert Millan <rmh@aybabtu.com>
34348
34349 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
34350 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
34351 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
34352 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
34353
34354 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
34355 (translation_table): Replace hardcoded values with macros
34356 provided by `<grub/term.h>'.
34357
34358 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
34359 (keyboard_map): Correct/add a few values, with macros provided
34360 by `<grub/term.h>'.
34361 (keyboard_map_shift): Zero values that don't differ from their
34362 `keyboard_map' equivalents.
34363 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
34364 Discard the second scan code that is always sent by Caps lock.
34365 Only use `keyboard_map_shift' when it provides a non-zero value,
34366 otherwise fallback to `keyboard_map'.
34367
99fadbaa 343682008-02-04 Bean <bean123ch@gmail.com>
34369
34370 * Makefile.in (enable_grub_fstest): New variable.
34371
34372 * conf/common.rmk (grub_fstest_init.lst): New rule.
34373 (grub_fstest_init.h): Likewise.
34374 (grub_fstest_init.c): Likewise.
34375 (util/grub-fstest.c_DEPENDENCIES): New variable.
34376 (grub_fstest_SOURCES): Likewise.
34377
34378 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
34379
34380 * util/grub-fstest.c: New file.
34381
bf567c50 343822008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34383
34384 Make grub-setup handle a separate root device.
f19dbdb7 34385
bf567c50 34386 * util/i386/pc/grub-setup.c (setup): Always open the root device,
34387 so that the root device can be compared with the destination
34388 device.
34389 When embedding the core image, if the root and destination devices
34390 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
34391 0xFF.
34392 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 34393
9be6b98b 343942008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34395
34396 Add support for having a grub directory in a different drive. This
34397 is still only the data handling part.
f19dbdb7 34398
9be6b98b 34399 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
34400 (codestart): Save %dh in GRUB_ROOT_DRIVE.
34401 (grub_root_drive): New variable.
34402
34403 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
34404 instead of GRUB_BOOT_DRIVE to construct a device name. Set
34405 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
34406 as it was.
34407
34408 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
34409
34410 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
34411 macro.
34412 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
34413
34414 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
34415 is bogus, because PXE booting does not specify any drive
34416 correctly.
34417
34418 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
34419 am not sure if this is really correct.
34420
34421 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
34422 is always identical to the boot drive when booting from a CD.
34423
34424 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
34425 longer.
34426 (root_drive): New variable.
34427 (real_start): Unconditionally set %dh to ROOT_DRIVE.
34428 (setup_sectors): Push %dx right after popping it, because %dh will
34429 be modified later.
34430 (copy_buffer): Restore %dx.
34431
e0ca0677 344322008-02-03 Robert Millan <rmh@aybabtu.com>
34433
34434 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
34435 use `cdboot.img' for cdrom images.
34436
3b3f6629 344372008-02-03 Robert Millan <rmh@aybabtu.com>
34438
34439 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
34440 only setup gfxterm when `font' command has succeeded.
34441
d42b3672 344422008-02-03 Robert Millan <rmh@aybabtu.com>
34443
34444 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
34445 (grub_rescue_cmd_multiboot_loader)
34446 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
34447
fa370ea6 344482008-02-03 Pavel Roskin <proski@gnu.org>
34449
e0c5dacb 34450 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 34451 %edx and %esi from stack only after grub_gate_a20() is called.
34452 grub_gate_a20() clobbers %edx.
34453
f2a76e1d 344542008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34455
34456 * configure.ac (AC_INIT): Bumped to 1.96.
34457
34458 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
34459 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
34460 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
34461 video/readers/png.c.
34462
90fd32d1 344632008-02-03 Bean <bean123ch@gmail.com>
9be665dd 34464
34465 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
34466 (cdboot_img_SOURCES): New variable.
34467 (cdboot_img_ASFLAGS): New variable.
34468 (cdboot_img_LDFLAGS): New variable.
34469
34470 * boot/i386/pc/cdboot.S: New file.
34471
34472 * disk/i386/pc/biosdisk.c (cd_start): New variable.
34473 (cd_count): Likewise.
34474 (grub_biosdisk_get_drive): Add support for cd device.
34475 (grub_biosdisk_call_hook): Likewise.
34476 (grub_biosdisk_iterate): Likewise.
34477 (grub_biosdisk_open): Likewise.
34478 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
34479 (grub_biosdisk_rw): Support reading from cd device.
34480 (GRUB_MOD_INIT): Iterate cd devices.
34481
34482 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
34483 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
34484 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
34485
34486 * kern/i386/pc/init.c (make_install_device): Check for cd device.
34487
4020aa53 344882008-02-02 Robert Millan <rmh@aybabtu.com>
34489
34490 * commands/read.c: New file.
34491 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
34492 (read_mod_SOURCES): New variable.
34493 (read_mod_CFLAGS): Likewise.
34494 (read_mod_LDFLAGS): Likewise.
34495
e03a1132 344962008-02-02 Robert Millan <rmh@aybabtu.com>
34497
34498 * normal/main.c (grub_normal_execute): Check for `menu->size' when
34499 determining whether menu has to be displayed.
34500
58c69220 345012008-02-02 Marco Gerards <marco@gnu.org>
34502
34503 * bus/pci.c: New file.
34504
34505 * include/grub/pci.h: Likewise.
34506
34507 * include/grub/i386/pc/pci.h: Likewise.
34508
34509 * commands/lspci.c: Likewise.
34510
34511 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
34512 `lspci.mod'.
34513 (pci_mod_SOURCES): New variable.
34514 (pci_mod_CFLAGS): Likewise.
34515 (pci_mod_LDFLAGS): Likewise.
34516 (lspci_mod_SOURCES): Likewise.
34517 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 34518 (lspci_mod_LDFLAGS): Likewise.
58c69220 34519
c004e1b4 345202008-02-02 Bean <bean123ch@gmail.com>
34521
34522 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
34523 (grub_ufs_get_file_block): Fix indirect block calculation problem.
34524
34525 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
34526 (grub_xfs_btree_node): New structure.
34527 (grub_xfs_btree_root): New structure.
34528 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
34529 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
34530 (GRUB_XFS_EXTENT_BLOCK): Likewise.
34531 (GRUB_XFS_EXTENT_SIZE): Likewise.
34532 (grub_xfs_read_block): Support btree format type.
34533 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
34534 Use directory block as basic unit.
34535
34536 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
34537
34538 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
34539 __attribute__ ((__regparm__ (1))).
34540
f95562bf 345412008-02-01 Robert Millan <rmh@aybabtu.com>
34542
34543 Correct a mistake in previous commit.
34544
34545 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
34546 top.
34547 (normal/command.c_DEPENDENCIES): New variable.
34548
7d31f41f 345492008-02-01 Robert Millan <rmh@aybabtu.com>
34550
34551 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
34552 top.
34553 (normal/command.c_DEPENDENCIES): New variable.
34554 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
34555 * conf/i386-ieee1275.rmk: Likewise.
34556 * conf/i386-linuxbios.rmk: Likewise.
34557 * conf/i386-pc.rmk: Likewise.
34558 * conf/sparc64-ieee1275.rmk: Likewise.
34559 * conf/powerpc-ieee1275.rmk: Likewise.
34560 (grub_emu_SOURCES): Add `fs/fshelp.c'.
34561
34562 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
34563
60b6be74 345642008-02-01 Robert Millan <rmh@aybabtu.com>
34565
34566 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
34567 call at beginning of function.
34568
078522ab 345692008-01-31 Pavel Roskin <proski@gnu.org>
34570
34571 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 34572 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
34573 (grub_mkrescue_SOURCES): Likewise.
078522ab 34574 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
34575
ccaa8a5f 345762008-01-30 Robert Millan <rmh@aybabtu.com>
34577
34578 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
34579 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
34580 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
34581 (grub_probe_SOURCES): ... to here.
34582
34583 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
34584 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
34585 * conf/i386-ieee1275.rmk: Likewise.
34586 * conf/i386-linuxbios.rmk: Likewise.
34587 * conf/powerpc-ieee1275.rmk: Likewise.
34588
ae5a9cd7 345892008-01-30 Tristan Gingold <gingold@free.fr>
34590
34591 * kern/rescue.c: Silently accept empty lines.
34592
70bc2ef2 345932008-01-29 Bean <bean123ch@gmail.com>
34594
34595 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
34596 (real_code_2): Code cleanup and change comment style.
34597 (move_memory): Avoid using 32-bit address mode.
34598
6a4d50ea 345992008-01-29 Bean <bean123ch@gmail.com>
34600
34601 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
34602 (png_mod_SOURCES): New variable.
34603 (png_mod_CFLAGS): Likewise.
34604 (png_mod_LDFLAGS): Likewise.
34605
34606 * video/readers/png.c: New file.
34607
11cc30ac 346082008-01-28 Robert Millan <rmh@aybabtu.com>
34609
34610 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
34611 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
34612 `ifndef GRUB_MOD_GAP' hack.
34613 * util/elf/grub-mkimage.c (add_segments): Likewise.
34614
3abc589f 346152008-01-27 Robert Millan <rmh@aybabtu.com>
34616
34617 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
34618 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 34619 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 34620
e1907778 346212008-01-27 Robert Millan <rmh@aybabtu.com>
34622
34623 Get grub-emu to build again (including parallel builds).
34624
34625 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
34626 Split into ...
34627 (util/grub-emu.c_DEPENDENCIES): ... this, ...
34628 (normal/execute.c_DEPENDENCIES): ... this, ...
34629 (grub-emu_DEPENDENCIES): ... and this.
34630
34631 * conf/i386-efi.rmk: Likewise.
34632 * conf/i386-linuxbios.rmk: Likewise.
34633 * conf/i386-ieee1275.rmk: Likewise.
34634 * conf/powerpc-ieee1275.rmk: Likewise.
34635 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
34636
2216b101 346372008-01-27 Robert Millan <rmh@aybabtu.com>
34638
34639 * NEWS: Add a few items.
34640
f75172d9 346412008-01-27 Robert Millan <rmh@aybabtu.com>
34642
34643 Fix parallel builds with grub-emu. Based on earlier commit for
34644 grub-probe and grub-setup.
34645
34646 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34647 (util/grub-emu.c_DEPENDENCIES): ... this.
34648 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34649 (util/grub-emu.c_DEPENDENCIES): ... this.
34650 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34651 (util/grub-emu.c_DEPENDENCIES): ... this.
34652 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34653 (util/grub-emu.c_DEPENDENCIES): ... this.
34654 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34655 (util/grub-emu.c_DEPENDENCIES): ... this.
34656
3f51de77 346572008-01-27 Pavel Roskin <proski@gnu.org>
34658
34659 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
34660 to create a gap between _end and the modules added to the image
34661 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
34662 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
34663 * util/elf/grub-mkimage.c (add_segments): Likewise.
34664
2033f53e 346652008-01-26 Pavel Roskin <proski@gnu.org>
34666
34667 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
34668 just return an error.
34669
22da1f6f 346702008-01-26 Bean <bean123ch@gmail.com>
34671
34672 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
34673 (grub_reiserfs_get_item): Save offset of the next item.
34674 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
34675
2a9525e6 346762008-01-25 Robert Millan <rmh@aybabtu.com>
34677
34678 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
34679 make all filesystem sources appear together (possibly fixing omissions
34680 while at it).
34681 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34682 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34683 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34684 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34685
34686 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
34687 add `kern/file.c'.
34688 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
34689 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
34690 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
34691 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
34692
34693 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
34694 (probe): Add a sanity check to make sure of our ability to read
34695 requested files when probing for filesystem type.
34696
34697 * genmk.rb: Update copyright year (2007).
34698
34699 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
34700 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
34701 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
34702 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
34703 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
34704 : Remove function prototypes.
34705
b95f71b5 347062008-01-25 Robert Millan <rmh@aybabtu.com>
34707
34708 Revert my previous commits (based on wrong assumption of how grub_errno
34709 works).
34710
fe6b695a 34711 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 34712 * kern/file.c (grub_file_open): Likewise.
34713
d08bbb49 347142008-01-24 Pavel Roskin <proski@gnu.org>
34715
34716 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
34717 that hang if GRUB tries to setup colors.
34718 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
34719 colors for firmwares that don't support it.
34720 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
34721 Recognize Open Hack'Ware, set flags to work around its
34722 limitations.
34723
605e36ed 347242008-01-24 Robert Millan <rmh@aybabtu.com>
34725
34726 * kern/file.c (grub_file_open): Do not account previous failures of
34727 unrelated functions when grub_errno is checked for.
34728 Reported by Oleg Strikov.
34729
bac332a1 347302008-01-24 Bean <bean123ch@gmail.com>
34731
34732 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
34733 (grub_ufs_sblock): New member volume name.
34734 (grub_ufs_find_file): Fix string copy bug.
34735 (grub_ufs_label): Implement this function properly.
34736
34737 * fs/hfs.c (grub_hfs_cnid_type): New enum.
34738 (grub_hfs_iterate_records): Use the correct file number for extents
34739 and catalog file. Fix problem in next index calculation.
34740 (grub_hfs_find_node): Replace recursive function call with loop.
34741 (grub_hfs_iterate_dir): Replace recursive function call with loop.
34742
15c80c09 347432008-01-23 Robert Millan <rmh@aybabtu.com>
34744
34745 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
34746 `<grub/symbol.h>' and `<grub/multiboot.h>'.
34747 (grub_multiboot2_real_boot): New function prototype.
34748
34749 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
34750 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
34751
34752 * kern/i386/ieee1275/init.c (grub_os_area_addr)
34753 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
34754
305338fd 347552008-01-23 Robert Millan <rmh@aybabtu.com>
34756
34757 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
34758 #ifdef'ed out grub_printf().
34759
3ea52685 347602008-01-23 Robert Millan <rmh@aybabtu.com>
34761
34762 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
34763 grub_dprintf calls, since they make "debug=all" mode unusable.
34764 (grub_console_checkkey): Likewise.
34765
5882ae4b 347662008-01-23 Robert Millan <rmh@aybabtu.com>
34767
34768 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
34769 `term/i386/pc/at_keyboard.c'.
34770 (pkglib_MODULES): Add `serial.mod'.
34771 (serial_mod_SOURCES): New variable.
34772 (serial_mod_CFLAGS): Likewise.
34773 (serial_mod_LDFLAGS): Likewise.
34774
34775 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
34776 `<grub/powerpc/ieee1275/console.h>'.
34777 (grub_keyboard_controller_init): New function prototype.
34778 (grub_console_checkkey): Likewise.
34779 (grub_console_getkey): Likewise.
34780
34781 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
34782 keyboard on i386.
34783
34784 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
34785 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
34786
06ab5303 347872008-01-23 Robert Millan <rmh@aybabtu.com>
34788
34789 * kern/i386/pc/init.c (make_install_device): When memdisk image is
34790 present, "(memdisk)/boot/grub" becomes the default prefix.
34791
34792 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
34793 a memdisk tarball with all the modules. Add --overlay=DIR option that
34794 allows users to overlay additional files into the image.
34795
dbb475a4 347962008-01-23 Robert Millan <rmh@aybabtu.com>
34797
34798 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
34799 and `machine/memory.h'.
34800 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
34801 (_multiboot_mod_SOURCES): New variable.
34802 (_multiboot_mod_CFLAGS): Likewise.
34803 (_multiboot_mod_LDFLAGS): Likewise.
34804 (multiboot_mod_SOURCES): Likewise.
34805 (multiboot_mod_CFLAGS): Likewise.
34806 (multiboot_mod_LDFLAGS): Likewise.
34807
34808 * include/grub/i386/ieee1275/loader.h: New file.
34809
34810 * include/grub/i386/ieee1275/machine.h: Likewise.
34811
34812 * include/grub/i386/ieee1275/memory.h: Likewise.
34813
34814 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
34815 variable declaration.
34816 (grub_os_area_size): Likewise.
34817
34818 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
34819 (grub_lower_mem, grub_upper_mem): New variables.
34820 (grub_stop_floppy): New function (just to make
34821 grub_multiboot2_real_boot() happy).
34822
34823 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
34824 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
34825 (grub_stop): New function.
34826 Include `"../realmode.S"' and `"../loader.S"'.
34827
34828 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
34829 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
34830
34831 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
34832 rely on grub_multiboot2_real_boot() for final boot.
34833
25638629 348342008-01-22 Robert Millan <rmh@aybabtu.com>
34835
34836 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
34837 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
34838 device that doesn't look like an SD card.
34839 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
34840 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
34841 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
34842 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
34843 found.
34844
9dad816d 348452008-01-22 Robert Millan <rmh@aybabtu.com>
34846
34847 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
34848 avoid claiming over our own code.
34849
34842f2d 348502008-01-22 Bean <bean123ch@gmail.com>
34851
34852 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
34853 (jpeg_mod_SOURCES): New variable.
34854 (jpeg_mod_CFLAGS): Likewise.
34855 (jpeg_mod_LDFLAGS): Likewise.
34856
34857 * video/readers/jpeg.c : New file.
34858
44023a28 348592008-01-22 Bean <bean123ch@gmail.com>
34860
34861 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
34862 there are no more items.
34863
bc2d8ac6 348642008-01-21 Robert Millan <rmh@aybabtu.com>
34865
34866 * kern/mm.c (grub_mm_init_region): Improve debug message.
34867
261bd4bc 348682008-01-21 Robert Millan <rmh@aybabtu.com>
34869
34870 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
34871 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
34872 address.
34873 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
34874 a C macro.
34875 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
34876 Indicates start of upper memory.
34877 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
34878 (generate_image): Abort when image size is big enough to corrupt
34879 upper memory.
34880
34881 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
34882 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
34883 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
34884 instead of hardcoding 0xA0000.
34885 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
34886 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
34887 instead of hardcoding 0xA0000.
34888
f970b55e 348892008-01-21 Robert Millan <rmh@aybabtu.com>
34890
34891 * disk/memdisk.c (memdisk_size): New variable.
34892 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
34893 `memdisk_size'.
34894 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
34895 image to dynamic memory.
34896 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
34897 `memdisk_size'. Free memdisk block.
34898
1a8b0526 348992008-01-21 Robert Millan <rmh@aybabtu.com>
34900
34901 Fix detection of very small filesystems (like tar).
34902
34903 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
34904 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
34905 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
34906 a problem with this disk).
34907
6e9b4aab 349082008-01-21 Robert Millan <rmh@aybabtu.com>
34909
34910 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
34911 on grub_biosdisk_rw_standard() error.
34912
0d8837b2 349132008-01-21 Robert Millan <rmh@aybabtu.com>
34914
34915 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
34916 recent changes.
34917 * kern/elf.c: Likewise.
34918 * kern/ieee1275/ieee1275.c: Likewise.
34919 * kern/powerpc/ieee1275/openfw.c: Likewise.
34920 * term/ieee1275/ofconsole.c: Likewise.
34921
ffd36e34 349222008-01-21 Robert Millan <rmh@aybabtu.com>
34923
34924 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
34925
3f0093d0 34926 * include/grub/kernel.h (grub_arch_memdisk_addr)
34927 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 34928
3f0093d0 34929 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
34930 (grub_arch_memdisk_size): ... to here.
ffd36e34 34931
6c391b21 349322008-01-21 Robert Millan <rmh@aybabtu.com>
34933
34934 Mostly based on bugfix from Bean.
34935
34936 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
34937 attribute with hook() parameter.
34938 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
34939 declaration.
34940 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
34941 attribute with hook() parameter.
34942 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
34943 declaration.
34944
55a581dc 349452008-01-21 Robert Millan <rmh@aybabtu.com>
34946
34947 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
34948 (pkglib_MODULES): Add `memdisk.mod'.
34949 (memdisk_mod_SOURCES): New variable.
34950 (memdisk_mod_CFLAGS): Likewise.
34951 (memdisk_mod_LDFLAGS): Likewise.
34952
34953 * disk/memdisk.c: New file.
34954
34955 * include/grub/disk.h (grub_disk_dev_id): Add
34956 `GRUB_DISK_DEVICE_MEMDISK_ID'.
34957
34958 * include/grub/i386/pc/kernel.h
34959 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
34960 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
34961 (grub_kernel_image_size): New variable declaration.
34962 (grub_total_module_size): Likewise.
34963 (grub_memdisk_image_size): Likewise.
34964
34965 * include/grub/i386/pc/memory.h
34966 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
34967
34968 * include/grub/kernel.h: Include `<grub/symbol.h>'.
34969 (grub_arch_memdisk_addr): New variable declaration.
34970 (grub_arch_memdisk_size): Likewise.
34971
34972 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
34973 (grub_arch_memdisk_size): Likewise.
34974
34975 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
34976 (codestart): Replace hardcoded `0x100000' with
34977 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
34978
34979 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
34980 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
34981 not NULL, append the contents of the file it refers to, at the end of
34982 the compressed kernel image. Initialize `grub_memdisk_image_size'
34983 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
34984 (options): Add "memdisk"|'m' option.
34985 (main): Parse --memdisk|-m option, and pass user-provided path as
34986 parameter to generate_image().
34987
3d7f54c9 349882008-01-20 Robert Millan <rmh@aybabtu.com>
34989
34990 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
34991 grub_dprintf() calls from here ...
34992 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
34993
0bf74728 349942008-01-20 Robert Millan <rmh@aybabtu.com>
34995
34996 Fix detection of "real mode" when /options/real-mode? doesn't exist.
34997
34998 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
34999 declaration.
35000 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
35001 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
35002 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 35003 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 35004 property).
35005 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
35006 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
35007
33bf70a7 350082008-01-19 Robert Millan <rmh@aybabtu.com>
35009
fe6b695a 35010 Get rid of confusing function (superseded by
33bf70a7 35011 `grub_ieee1275_get_integer_property')
35012 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
35013 prototype.
35014 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
35015 function.
35016 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
35017 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 35018 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 35019
e2da7d26 350202008-01-19 Robert Millan <rmh@aybabtu.com>
35021
35022 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
35023 command after "shut-down", since implementations differ on which
35024 the command for halt is.
35025
59f1fd8d 350262008-01-19 Robert Millan <rmh@aybabtu.com>
35027
35028 * include/grub/i386/linuxbios/console.h: Add header protection.
35029 (grub_keyboard_controller_init): New function prototype.
35030 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
35031 (KEYBOARD_COMMAND_READ): Likewise.
35032 (KEYBOARD_COMMAND_WRITE): Likewise.
35033 (KEYBOARD_SCANCODE_SET1): Likewise.
35034 (grub_keyboard_controller_write): New function.
35035 (grub_keyboard_controller_read): Likewise.
35036 (grub_keyboard_controller_init): Likewise.
35037
35038 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
35039 (grub_console_init): On coreboot/LinuxBIOS, call
35040 grub_keyboard_controller_init().
35041
5f5a7c15 350422008-01-19 Robert Millan <rmh@aybabtu.com>
35043
35044 PowerPC changes provided by Pavel Roskin.
35045
35046 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
35047 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
35048 don't rely on cmain() doing it.
35049 * kern/i386/ieee1275/startup.S (_start): Store %eax in
35050 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
35051
1210e168 350522008-01-16 Robert Millan <rmh@aybabtu.com>
35053
35054 * include/grub/i386/linuxbios/memory.h
35055 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
35056 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
35057 receive `table_header' as argument. Instead, probe for it in the
35058 known memory ranges where it can be present.
35059 (grub_available_iterate): Do not pass a fixed `table_header' address
35060 to grub_linuxbios_table_iterate().
35061
3d04eab8 350622008-01-15 Robert Millan <rmh@aybabtu.com>
35063
35064 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
35065 * conf/i386-ieee1275.rmk: New file.
35066 * include/grub/i386/ieee1275/console.h: Likewise.
35067 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
35068 * include/grub/i386/ieee1275/kernel.h: Likewise.
35069 * include/grub/i386/ieee1275/time.h: Likewise.
35070 * kern/i386/ieee1275/init.c: Likewise.
35071 * kern/i386/ieee1275/startup.S: Likewise.
35072
d1bc1b73 350732008-01-15 Robert Millan <rmh@aybabtu.com>
35074
35075 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
35076 when pointers are 32-bit (but still do set it to one when they are
35077 64-bit).
35078
66a65807 350792008-01-15 Robert Millan <rmh@aybabtu.com>
35080
35081 * include/grub/ieee1275/ieee1275.h
35082 (grub_ieee1275_get_integer_property): New function prototype.
35083
35084 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
35085 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 35086 grub_ieee1275_get_property() to handle endianness.
66a65807 35087
35088 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
35089 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 35090 where appropriate.
66a65807 35091 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
35092 (grub_map): Likewise.
35093 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
35094
a83ccafd 350952008-01-15 Bean <bean123ch@gmail.com>
35096
35097 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
35098 (grub_script_execute_cmdline): Reset grub_errno.
35099
35100 * normal/main.c (read_config_file): Reset grub_errno.
35101
35102 * normal/parse.y (script_init): New.
35103 (script): Move function and menuentry here.
35104 (delimiter): New.
35105 (command): Add delimiter at the end of command.
35106 (commands): Adjust to match the new command.
35107 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 35108 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 35109 (if): Use the new commands.
35110
35111 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
35112
df6ecfc6 351132008-01-15 Robert Millan <rmh@aybabtu.com>
35114
35115 * normal/menu.c (run_menu): Move timeout message from here ...
35116 (print_timeout): ... to here.
35117 (run_menu): Use print_timeout() once during initial draw to print
35118 the whole message, and again in every clock tick to update only
35119 the number of seconds.
35120
87ae25eb 351212008-01-15 Robert Millan <rmh@aybabtu.com>
35122
35123 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
35124 actual size of `available' from grub_ieee1275_get_property(), and
35125 restrict parsing to that bound.
35126
47bf09a4 351272008-01-15 Christian Franke <franke@computer.org>
35128
35129 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
35130 (argp_program_version): Remove variable.
35131 (argp_program_bug_address): Likewise.
35132 (options): Convert from struct argp_option to struct option.
35133 (struct arguments): Remove.
35134 (parse_opt): Remove.
35135 (usage): New function.
35136 (main): Replace struct args members by simple variables.
35137 Replace argp_parse() by getopt_long().
35138 Add switch to evaluate options.
35139 Add missing "(...)" around root_dev in prefix string.
35140
c86f1469 351412008-01-14 Robert Millan <rmh@aybabtu.com>
35142
35143 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
35144 for grub_ieee1275_exit(), in order to improve portability.
35145
e622c559 351462008-01-14 Robert Millan <rmh@aybabtu.com>
35147
35148 * util/grub.d/10_linux.in (prefix): Define.
35149 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
35150
44cb1ec8 351512008-01-13 Pavel Roskin <proski@gnu.org>
35152
35153 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
35154 grub_errno if no errors have been detected.
35155
1eb8c802 351562008-01-12 Robert Millan <rmh@aybabtu.com>
35157
35158 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
35159 (grub_util_get_dev_abstraction): New function prototype.
35160
35161 * util/getroot.c: Include `<grub/util/getroot.h>'
35162 (grub_util_get_grub_dev): Move detection of abstraction type to ...
35163 (grub_util_get_dev_abstraction): ... here (new function).
35164
35165 * util/grub-probe.c: Convert PRINT_* to an enum. Add
35166 `PRINT_ABSTRACTION'.
35167 (probe): Probe for abstraction type when requested.
35168 (main): Understand `--target=abstraction'.
35169
35170 * util/i386/efi/grub-install.in: Add abstraction module to core
35171 image when it is found to be necessary.
35172 * util/i386/pc/grub-install.in: Likewise.
35173 * util/powerpc/ieee1275/grub-install.in: Likewise.
35174
35175 * util/update-grub_lib.in (font_path): Return system path without
35176 converting to GRUB path.
35177 * util/update-grub.in: Convert system path returned by font_path()
35178 to a GRUB path. Use `grub-probe -t abstraction' to determine what
35179 abstraction module is needed for loading fonts (if any). Export
35180 that as `GRUB_PRELOAD_MODULES'.
35181 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
35182 insmod commands).
35183
52bd3de9 351842008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
35185
35186 Remove some unused code from reiserfs.
f19dbdb7 35187
52bd3de9 35188 * fs/reiserfs.c (struct grub_reiserfs_key)
35189 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
35190 (struct grub_reiserfs_node_body): Removed.
35191 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35192 Likewise.
35193 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35194 Likewise.
35195 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35196 Likewise.
35197 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35198 Likewise.
35199 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35200 Likewise.
35201 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
35202 Likewise.
35203 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35204 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35205 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35206
2f80039d 352072008-01-10 Robert Millan <rmh@aybabtu.com>
35208
35209 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
35210 Determines if a file is garbage left by packaging systems, etc.
35211 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
35212 for processing /etc/grub.d scripts.
35213 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
35214 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
35215 as a condition for processing Linux images.
35216
87888032 352172008-01-10 Pavel Roskin <proski@gnu.org>
35218
35219 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
35220 to compile reiserfs.c on PowerPC.
35221
7e54fced 352222008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 35223
35224 * kern/device.c (grub_device_iterate): Do not abort device iteration
35225 when one of the devices cannot be opened.
35226 * kern/disk.c (grub_disk_open): Do not account previous failures of
35227 unrelated functions when grub_errno is checked for.
35228
5aa541e6 352292008-01-08 Robert Millan <rmh@aybabtu.com>
35230
35231 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
35232 `! grub_linux_is_bzimage', change order of address comparison to make
35233 it more intuitive, and improve "too big zImage" error message.
35234
7076340d 352352008-01-08 Robert Millan <rmh@aybabtu.com>
35236
35237 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
35238 `$(update-grub_DATA)'.
35239 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
35240 targets.
35241
9ca70333 352422008-01-07 Robert Millan <rmh@aybabtu.com>
35243
35244 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
35245 which instruction is modified by grub-setup during installation
35246 (since it wasn't obvious by only looking at this file).
35247
38ccf575 352482008-01-07 Robert Millan <rmh@aybabtu.com>
35249
35250 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
35251 listing actual TODO items.
35252
f5db4291 352532008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35254
868967cf 35255 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
35256 correctly.
35257 (grub_reiserfs_get_key_offset): Likewise.
35258 (grub_reiserfs_set_key_offset): Likewise.
35259 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 35260 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 35261
35262 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
35263 better to remove the bitfield version completely.
f19dbdb7 35264
868967cf 352652008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 35266
f5db4291 35267 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
35268 allocated from the heap, due to the fshelp implementation.
35269 (grub_reiserfs_dir): Free NODE, due to the same reason.
35270
492e6d9d 352712008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35272
35273 Mostly from Vincent Pelletier:
f19dbdb7 35274
492e6d9d 35275 * fs/reiserfs.c: New file.
f19dbdb7 35276
492e6d9d 35277 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
35278 (reiserfs_mod_SOURCES): New variable.
35279 (reiserfs_mod_CFLAGS): Likewise.
35280 (reiserfs_mod_LDFLAGS): Likewise.
35281
35282 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
35283 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
35284 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
35285 normal/color.c.
35286
9ce3e7c1 352872008-01-06 Robert Millan <rmh@aybabtu.com>
35288
35289 * normal/color.c: Remove `<grub/env.h>'.
35290
f3b58148 352912008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
35292
35293 * include/grub/normal.h: Include <grub/env.h>.
35294
7ac3bcfa 352952008-01-05 Robert Millan <rmh@aybabtu.com>
35296
35297 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
35298 usage example with `(hd0,1)'.
fb358190 35299 Reported by Samuel Thibault.
7ac3bcfa 35300
c8ee99d7 353012008-01-05 Robert Millan <rmh@aybabtu.com>
35302
35303 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
35304 (grub_linux_boot_zimage): Rename to ...
35305 (grub_linux_boot): ... this.
35306 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
35307 (grub_linux_boot_zimage): Conditionalize zImage copy.
35308
35309 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
35310 (grub_linux_boot_bzimage): Remove prototype.
35311 (grub_linux_boot_zimage): Rename to ...
35312 (grub_linux_boot): ... this.
35313
35314 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
35315 (grub_linux_boot): Remove function.
35316
0ece25b1 353172008-01-05 Robert Millan <rmh@aybabtu.com>
35318
35319 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
35320 (grub_env_write_color_highlight): Likewise.
35321 (grub_wait_after_message): Likewise.
35322
35323 * normal/color.c: New file.
35324
35325 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35326 (normal_mod_DEPENDENCIES): Likewise.
35327
35328 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35329 (normal_mod_DEPENDENCIES): Likewise.
35330
35331 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35332 (normal_mod_DEPENDENCIES): Likewise.
35333
35334 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35335 (normal_mod_DEPENDENCIES): Likewise.
35336
35337 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
35338 for waiting after a message is printed.
35339 * normal/main.c (read_config_file): Likewise.
35340 (grub_normal_init): Register grub_env_write_color_normal() and
35341 grub_env_write_color_highlight() hooks. Mark `color_normal' and
35342 `color_highlight' variables as global.
35343
35344 * normal/menu.c (grub_wait_after_message): New function.
35345 (grub_color_menu_normal): New variable. Replaces ...
35346 (GRUB_COLOR_MENU_NORMAL): ... this macro.
35347 (grub_color_menu_highlight): New variable. Replaces ...
35348 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
35349 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
35350 `GRUB_TERM_COLOR_STANDARD'.
35351 (print_message): Use `grub_setcolorstate' to reload colors. Rename
35352 `normal_code' and `highlight_code' to `old_color_normal' and
35353 `old_color_highlight', respectively.
35354 (grub_menu_init_page): Update colors when drawing the menu, based on
35355 `menu_color_normal' and `menu_color_highlight' variables.
35356 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
35357 a message is printed.
35358
182dd4e5 353592008-01-05 Robert Millan <rmh@aybabtu.com>
35360
35361 * kern/env.c (grub_env_context_open): Propagate hooks for global
35362 variables to new context.
35363
35364 * kern/main.c (grub_set_root_dev): Export `root' variable.
35365
ddf8f6ad 353662008-01-05 Robert Millan <rmh@aybabtu.com>
35367
35368 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 35369 discs unconditionally, since udev and others have options to provide
ddf8f6ad 35370 them.
35371
d8b43d9b 353722008-01-05 Robert Millan <rmh@aybabtu.com>
35373
35374 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
35375
2bff2de3 353762008-01-04 Christian Franke <franke@computer.org>
35377
35378 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
35379 of eisa_mmap.
35380
97eab917 353812008-01-03 Pavel Roskin <proski@gnu.org>
35382
35383 * kern/i386/linuxbios/init.c: Put "void" to all function
35384 declarations with no arguments.
35385 * kern/powerpc/ieee1275/init.c: Likewise.
35386 * term/i386/pc/at_keyboard.c: Likewise.
35387 * term/i386/pc/vga_text.c: Likewise.
35388 * util/grub-mkdevicemap.c: Likewise.
35389
b9416d00 353902008-01-02 Robert Millan <rmh@aybabtu.com>
35391
35392 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
35393 message when loaded image is out of bounds.
35394 (grub_multiboot_load_elf64): Likewise.
35395
92695df9 353962008-01-02 Pavel Roskin <proski@gnu.org>
35397
35398 * util/grub.d/10_linux.in: Try version without ".old" when
35399 looking for initrd. It's better to use initrd from the newer
35400 kernel of the same version than no initrd at all.
35401
d98d9cad 354022008-01-01 Robert Millan <rmh@aybabtu.com>
35403
35404 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
35405
dbfdce36 354062008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
35407
f19dbdb7 35408 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 35409 grub_video_get_active_render_target.
35410 (grub_video_adapter): Added unmap_color and get_active_render_target.
35411
f19dbdb7 35412 * video/video.c: Added grub_video_unmap_color and
dbfdce36 35413 grub_video_get_active_render_target.
35414 (grub_video_get_info): Changed method to accept NULL pointer as an
35415 argument to allow detection of active video adapter.
35416
35417 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
35418 grub_video_vbe_unmap_color_int.
35419 Added grub_video_vbe_unmap_color and
35420 grub_video_vbe_get_active_render_target.
35421 (grub_video_vbe_adapter): Added unmap_color and
35422 get_active_render_target.
35423
f19dbdb7 35424 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 35425 with grub_video_vbe_unmap_color_int.
35426
35427 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
35428 (DEFAULT_NORMAL_COLOR): Likewise.
35429 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
35430 (DEFAULT_FG_COLOR): Removed.
35431 (DEFAULT_BG_COLOR): Likewise.
35432 (DEFAULT_CURSOR_COLOR): Changed value.
35433 (grub_virtual_screen): Added standard_color_setting,
35434 normal_color_setting, highlight_color_setting and term_color.
35435 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
35436 (bitmap_width): Added.
35437 (bitmap_height): Likewise.
35438 (bitmap): Likewise.
35439 (set_term_color): Likewise.
35440 (grub_virtual_screen_setup): Changed to use new terminal coloring
35441 settings.
35442 (grub_gfxterm_init): Added init for bitmap.
35443 (grub_gfxterm_fini): Added destroy for bitmap.
35444 (redraw_screen_rect): Updated to use background bitmap and new
35445 terminal coloring.
35446 (scroll_up): Added optimization for case when there is no bitmap.
35447 (grub_gfxterm_cls): Fixed to use correct background color.
35448 (grub_virtual_screen_setcolorstate): Changed to use new terminal
35449 coloring.
35450 (grub_virtual_screen_setcolor): Likewise.
35451 (grub_virtual_screen_getcolor): Added.
35452 (grub_gfxterm_background_image_cmd): Likewise.
35453 (grub_video_term): Added setcolor and getcolor.
35454 (MOD_INIT): Added registration of background_image command.
35455 (MOD_TERM): Added unregistration for background_image command.
35456
c3c20931 354572007-12-30 Pavel Roskin <proski@gnu.org>
35458
35459 * loader/multiboot_loader.c: Fix multiboot command
35460 unregistration. Fix all typos in the word "multiboot".
35461
df266716 354622007-12-29 Pavel Roskin <proski@gnu.org>
94239199 35463
35464 * util/grub.d/10_linux.in: Refactor search for initrd. Add
35465 support for initrd names used in Fedora.
35466
fc6e896c 354672007-12-26 Bean <bean123ch@gmail.com>
35468
35469 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
35470 (cpio_mod_SOURCES): New variable.
35471 (cpio_mod_CFLAGS): Likewise.
35472 (cpio_mod_LDFLAGS): Likewise.
35473
35474 * fs/cpio.c: New file.
35475
35476 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
35477
35478 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35479
35480 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35481
35482 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35483
533110ad 354842007-12-25 Robert Millan <rmh@aybabtu.com>
35485
35486 * include/grub/term.h (struct grub_term): Add `getcolor' function.
35487 (grub_getcolor): New function.
35488
35489 * kern/term.c (grub_getcolor): New function.
35490 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
35491 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
35492 (print_entry): Set normal and highlight colors to
35493 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
35494 respectively, before printing and restore them to old
35495 values afterwards.
35496 (grub_menu_init_page): Likewise. Fill an additional colored space
35497 that would otherwise be left blank.
35498
35499 * term/efi/console.c (grub_console_getcolor): New function.
35500 (struct grub_console_term.getcolor): New variable.
35501 * term/i386/pc/console.c (grub_console_getcolor): New function.
35502 (struct grub_console_term.getcolor): New variable.
35503 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
35504 (struct grub_console_term.getcolor): New variable.
35505
35506 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
35507 (struct grub_console_term.setcolor): Remove variable.
35508 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
35509 (struct grub_console_term.setcolor): Remove variable.
35510 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
35511 (struct grub_console_term.setcolor): Remove variable.
35512 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
35513 (struct grub_console_term.setcolor): Remove variable.
35514
4931827f 355152007-12-25 Robert Millan <rmh@aybabtu.com>
35516
35517 * configure.ac: Search for possible unifont.hex locations, and
35518 define UNIFONT_HEX if found.
35519
35520 * Makefile.in (UNIFONT_HEX): Define variable.
35521 (DATA): Rename to ...
35522 (PKGLIB): ... this. Update all users.
35523 (PKGDATA): New variable.
35524 (pkgdata_IMAGES): Rename to ...
35525 (pkglib_IMAGES): ... this. Update all users.
35526 (pkgdata_MODULES): Rename to ...
35527 (pkglib_MODULES): ... this. Update all users.
35528 (pkgdata_PROGRAMS): Rename to ...
35529 (pkglib_PROGRAMS): ... this. Update all users.
35530 (pkgdata_DATA): Rename to ...
35531 (pkglib_DATA): ... this. Update all users.
35532 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
35533 (unicode.pff, ascii.pff): New rules.
35534 (all-local): Add `$(PKGDATA)' dependency.
35535 (install-local): Process `$(PKGDATA)'.
35536
35537 * util/update-grub_lib.in (font_path): Search for *.pff files in
35538 a few more locations, including `${pkgdata}'.
35539
57e57e31 355402007-12-23 Robert Millan <rmh@aybabtu.com>
35541
35542 Patch from Bean <bean123ch@gmail.com>:
35543 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
35544 `size'.
35545
4bc72aa9 355462007-12-21 Bean <bean123ch@gmail.com>
35547
35548 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
35549 (ntfscomp_mod_SOURCES): New variable.
35550 (ntfscomp_mod_CFLAGS): Likewise.
35551 (ntfscomp_mod_LDFLAGS): Likewise.
35552
35553 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
35554 (grub_probe_SOURCES): Likewise.
35555 (grub_emu_SOURCES): Likewise.
35556
35557 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
35558 (grub_emu_SOURCES): Likewise.
35559
35560 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
35561 (grub_emu_SOURCES): Likewise.
35562
35563 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
35564 (grub_emu_SOURCES): Likewise.
35565
35566 * fs/ntfs.c (grub_ntfscomp_func): New variable.
35567 (read_run_list): Renamed to grub_ntfs_read_run_list.
35568 (decomp_nextvcn): Moved to ntfscomp.c.
35569 (decomp_getch): Likewise.
35570 (decomp_get16): Likewise.
35571 (decomp_block): Likewise.
35572 (read_block): Likewise.
35573 (read_data): Partially moved to ntfscomp.c.
35574 (fixup): Change unsigned to grub_uint16_t.
35575 (read_mft): Change unsigned long to grub_uint32_t.
35576 (read_attr): Likewise.
35577 (read_data): Likewise.
35578 (read_run_data): Likewise.
35579 (read_run_list): Likewise.
35580 (read_mft): Likewise.
35581
35582 * fs/ntfscomp.c: New file.
35583
35584 * include/grub/ntfs.h: New file.
35585
af680a87 355862007-12-16 Robert Millan <rmh@aybabtu.com>
35587
35588 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
35589 IDE disk check, since Linux is known to support 20 IDE disks.
35590 Reported by Colin Watson.
35591
84be7599 355922007-12-15 Bean <bean123ch@gmail.com>
35593
35594 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
35595 (lnxboot_img_SOURCES): New variable.
35596 (lnxboot_img_ASFLAGS): Likewise.
35597 (lnxboot_img_LDFLAGS): Likewise.
35598
35599 * boot/i386/pc/lnxboot.S: New file.
35600
6af9db01 356012007-11-24 Pavel Roskin <proski@gnu.org>
35602
35603 * configure.ac: Test if '--build-id=none' is supported by the
35604 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
35605 objcopy to generate incorrect binary files (binutils
35606 2.17.50.0.18-1 as shipped by Fedora 8).
35607 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
35608 linking, so that build ID doesn't break the test.
35609
7361cfe6 356102007-11-24 Pavel Roskin <proski@gnu.org>
35611
35612 * include/grub/i386/time.h: use "void" in the argument list
35613 of grub_cpu_idle().
35614 * include/grub/powerpc/time.h: Likewise.
35615 * include/grub/sparc64/time.h: Likewise.
35616
1593e10c 356172007-11-18 Christian Franke <franke@computer.org>
35618
35619 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
35620 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
35621 This fixes the problem that function keys did not work in grub-emu.
35622
3b8db1a8 356232007-11-18 Christian Franke <franke@computer.org>
35624
35625 * disk/host.c (grub_host_open): Remove attribute unused from
35626 name parameter. Add check for "host". This fixes the problem
35627 that grub-emu does not find partitions.
35628
2e29408d 356292007-11-18 Christian Franke <franke@computer.org>
35630
35631 * util/hostfs.c (is_dir): New function.
35632 (grub_hostfs_dir): Handle missing dirent.d_type case.
35633 (grub_hostfs_read): Add missing fseek().
35634 (grub_hostfs_label): Clear label pointer. This fixes a crash
35635 of grub-emu on "ls (host)".
35636
398cd047 356372007-11-18 Christian Franke <franke@computer.org>
35638
35639 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
35640 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
35641 to 64 bit boundary by default.
35642
c405c391 356432007-11-18 Bean <bean123ch@gmail.com>
35644
35645 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
35646 (hexdump_mod_SOURCES): New variable.
35647 (hexdump_mod_CFLAGS): Likewise.
35648 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 35649
c405c391 35650 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35651
35652 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35653
35654 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35655
35656 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35657
35658 * include/grub/hexdump.h: New file.
35659
35660 * commands/hexdump.c: New file.
35661
5cced7fd 356622007-11-10 Robert Millan <rmh@aybabtu.com>
35663
35664 * commands/i386/pc/play.c (beep_off): Switch order of arguments
35665 in grub_outb() calls.
35666 (beep_on): Likewise.
35667
8b714eb0 356682007-11-10 Christian Franke <franke@computer.org>
35669
35670 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
35671 (grub_menu_run): Likewise.
35672
ce0f1839 356732007-11-10 Robert Millan <rmh@aybabtu.com>
35674
35675 * include/grub/i386/efi/machine.h: New file.
35676 * include/grub/i386/linuxbios/machine.h: Likewise.
35677 * include/grub/i386/pc/machine.h: Likewise.
35678 * include/grub/powerpc/ieee1275/machine.h: Likewise.
35679 * include/grub/sparc64/ieee1275/machine.h: Likewise.
35680
35681 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
35682 (serial_hw_io_addr): New variable.
35683 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
35684 instead of `(unsigned short *) 0x400'.
35685
270c237d 356862007-11-10 Bean <bean123ch@gmail.com>
35687
35688 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
35689
a87783bf 356902007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
35691
35692 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
35693 (vga_mod_SOURCES): Added.
35694 (vga_mod_CFLAGS): Likewise.
35695 (vga_mod_LDFLAGS): Likewise.
35696
35697 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
35698 grub_outb() calls.
35699 (set_map_mask): Likewise.
35700 (set_read_map): Likewise.
35701 (set_read_address): Likewise.
35702 (vga_font): Removed variable.
35703 (get_vga_glyph): Removed function.
35704 (invalidate_char): Likewise.
35705 (write_char): Changed to use grub_font_get_glyph() for font
35706 information.
35707 (grub_vga_putchar): Likewise.
35708 (grub_vga_getcharwidth): Likewise.
35709
6433b448 357102007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
35711
35712 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
35713 flags.
35714 (pxeboot_img_LDFLAGS): Likewise.
35715 (diskboot_img_LDFLAGS): Likewise.
35716 (kernel_img_LDFLAGS): Likewise.
35717
49178511 357182007-11-06 Robert Millan <rmh@aybabtu.com>
35719
35720 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
35721 in grub_outb() calls.
35722 (serial_hw_init): Likewise.
35723
53b052de 357242007-11-05 Robert Millan <rmh@aybabtu.com>
35725
35726 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
35727 spaces. Skip non-regular files.
35728
5ab33bba 357292007-11-05 Robert Millan <rmh@aybabtu.com>
35730
35731 * kern/disk.c (grub_disk_firmware_fini)
35732 (grub_disk_firmware_is_tainted): New variables.
35733
35734 * include/grub/disk.h (grub_disk_firmware_fini)
35735 (grub_disk_firmware_is_tainted): Likewise.
35736
35737 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
35738 (grub_disk_biosdisk_fini): ... to here.
35739 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
35740 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
35741 is set. Register grub_disk_biosdisk_fini() in
35742 `grub_disk_firmware_fini'.
35743
35744 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
35745 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
35746 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
35747 to finish existing firmware disk interface.
35748
35749 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
35750 (ata_mod_SOURCES): New variable.
35751 (ata_mod_CFLAGS): Likewise.
35752 (ata_mod_LDFLAGS): Likewise.
35753
0149ab7c 357542007-11-05 Robert Millan <rmh@aybabtu.com>
35755
35756 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
35757 (grub_ata_wait): Reimplement using grub_millisleep().
35758
35759 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
35760 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
35761
be7ac41e 357622007-11-03 Marco Gerards <marco@gnu.org>
35763
35764 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
35765 (CRTC_ADDR_PORT): New macro.
35766 (CRTC_DATA_PORT): Likewise.
35767 (CRTC_CURSOR): Likewise.
35768 (CRTC_CURSOR_ADDR_HIGH): Likewise.
35769 (CRTC_CURSOR_ADDR_LOW): Likewise.
35770 (update_cursor): New function.
35771 (grub_console_real_putchar): Call `update_cursor'.
35772 (grub_console_gotoxy): Likewise.
35773 (grub_console_cls): Set the default color when clearing the
35774 screen.
35775 (grub_console_setcursor): Implemented.
35776
bb06ab2e 357772007-11-03 Marco Gerards <marco@gnu.org>
35778
35779 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
35780 become activate.
35781 (grub_ata_pio_write): Likewise.
35782
35783 (grub_atapi_identify): Wait after issuing an ATA command.
35784 (grub_atapi_packet): Likewise.
35785 (grub_ata_identify): Likewise.
35786 (grub_ata_readwrite): Likewise.
35787
cf8f780b 357882007-11-03 Marco Gerards <marco@gnu.org>
35789
35790 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
35791 (grub_ata_pio_write): Likewise.
35792 (grub_ata_readwrite): Use `grub_error', instead of
35793 returning `grub_errno'.
35794
ed649e54 357952007-11-03 Marco Gerards <marco@gnu.org>
35796
35797 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
35798 grub_ata_pio_write once for every single sector, instead of for
35799 multiple sectors.
35800
ca25d8f0 358012007-10-31 Robert Millan <rmh@aybabtu.com>
35802
35803 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
35804
35805 * conf/i386-linuxbios.rmk: New file.
35806
35807 * kern/i386/pc/hardware.c: Likewise.
35808 * term/i386/pc/at_keyboard.c: Likewise.
35809 * term/i386/pc/vga_text.c: Likewise.
35810
35811 * include/grub/i386/linuxbios/boot.h: Likewise.
35812 * include/grub/i386/linuxbios/console.h: Likewise.
35813 * include/grub/i386/linuxbios/init.h: Likewise.
35814 * include/grub/i386/linuxbios/kernel.h: Likewise.
35815 * include/grub/i386/linuxbios/loader.h: Likewise.
35816 * include/grub/i386/linuxbios/memory.h: Likewise.
35817 * include/grub/i386/linuxbios/serial.h: Likewise.
35818 * include/grub/i386/linuxbios/time.h: Likewise.
35819
35820 * kern/i386/linuxbios/init.c: Likewise.
35821 * kern/i386/linuxbios/startup.S: Likewise.
35822 * kern/i386/linuxbios/table.c: Likewise.
35823
e911ecc1 358242007-10-31 Marco Gerards <marco@gnu.org>
35825
35826 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
35827 (ata_mod_SOURCES): New variable.
35828 (ata_mod_CFLAGS): Likewise.
35829 (ata_mod_LDFLAGS): Likewise.
35830
35831 * disk/ata.c: New file.
35832
35833 * include/grub/disk.h (grub_disk_dev_id): Add
35834 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 35835
7f66d0e0 358362007-10-31 Robert Millan <rmh@aybabtu.com>
35837
35838 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
35839 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
35840
35841 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
35842 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
35843
35844 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
35845 `<grub/types.h>'.
35846
35847 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
35848
5cd7dd46 358492007-10-27 Robert Millan <rmh@aybabtu.com>
35850
3236ca65 35851 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 35852
2ebfc90f 358532007-10-22 Robert Millan <rmh@aybabtu.com>
35854
35855 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
35856 `"../realmode.S"'.
35857 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
35858
73fcb0f3 358592007-10-22 Robert Millan <rmh@aybabtu.com>
35860
35861 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
35862 (pkgdata_MODULES): Add `biosdisk.mod'.
35863 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
35864 variables.
35865
35866 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
35867 (grub_biosdisk_init): Replace with ...
35868 (GRUB_MOD_INIT(biosdisk)): ... this.
35869 (grub_biosdisk_fini): Replace with ...
35870 (GRUB_MOD_FINI(biosdisk)): ... this.
35871
35872 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
35873 (grub_machine_init): Remove call to grub_biosdisk_init().
35874 (grub_machine_fini): Remove call to grub_machine_fini().
35875
35876 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
35877
3381d274 358782007-10-22 Robert Millan <rmh@aybabtu.com>
35879
35880 * include/grub/time.h: New file.
35881 * include/grub/i386/time.h: Likewise.
35882 * include/grub/powerpc/time.h: Likewise.
35883 * include/grub/sparc64/time.h: Likewise.
35884
35885 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
35886 instances to ...
35887 (KERNEL_MACHINE_TIME_HEADER): ... this.
35888 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
35889 instances to ...
35890 (KERNEL_MACHINE_TIME_HEADER): ... this.
35891 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
35892 instances to ...
35893 (KERNEL_MACHINE_TIME_HEADER): ... this.
35894
35895 * kern/i386/efi/init.c: Include `<grub/time.h>'.
35896 (grub_millisleep): New function.
35897 * kern/i386/pc/init.c: Include `<grub/time.h>'.
35898 (grub_millisleep): New function.
35899 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
35900 Remove `grub/machine/time.h' include.
35901 (grub_millisleep): New function.
35902 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
35903 Remove `grub/machine/time.h' include.
35904 (grub_millisleep): New function.
35905
35906 * include/grub/misc.h (grub_div_roundup): New function.
35907
35908 * kern/misc.c: Include `<grub/time.h>'.
35909 (grub_millisleep_generic): New function.
35910
35911 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
35912 Add `time.h'.
35913 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
35914 Add `time.h'.
35915 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
35916 `machine/time.h'. Add `time.h'.
35917 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
35918
a39a0312 359192007-10-21 Robert Millan <rmh@aybabtu.com>
35920
35921 * include/grub/misc.h (grub_max): New function.
35922
2aad70e2 359232007-10-21 Robert Millan <rmh@aybabtu.com>
35924
35925 * util/misc.c (grub_util_info): Call fflush() before returning.
35926
54b71c4b 359272007-10-20 Robert Millan <rmh@aybabtu.com>
35928
35929 * genmk.rb (Image): Copy `extra_flags' from here ...
35930 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
35931
35932 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
35933 to `argc' and `args' arguments.
35934
a979f513 359352007-10-17 Robert Millan <rmh@aybabtu.com>
35936
35937 * kern/i386/loader.S: New file.
35938
35939 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
35940 * kern/i386/loader.S (grub_linux_prot_size)... to here.
35941 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
35942 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
35943 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
35944 * kern/i386/loader.S (grub_linux_real_addr)... to here.
35945 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
35946 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
35947 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
35948 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
35949 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
35950 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
35951 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
35952 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
35953
35954 * kern/i386/realmode.S: New file.
35955
35956 * kern/i386/pc/startup.S (protstack): Moved from here ...
35957 * kern/i386/realmode.S (protstack)... to here.
35958 * kern/i386/pc/startup.S (gdt): Moved from here ...
35959 * kern/i386/realmode.S (gdt)... to here.
35960 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
35961 * kern/i386/realmode.S (prot_to_real)... to here.
35962
35963 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
35964 `kern/i386/realmode.S'.
35965
825fc8fd 359662007-10-17 Robert Millan <rmh@aybabtu.com>
35967
35968 * include/grub/i386/loader.h: New file.
35969
35970 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
35971 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
35972 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
35973 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
35974 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
35975 * include/grub/i386/loader.h (grub_linux_prot_size)
35976 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
35977 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
35978 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
35979 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
35980
35981 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
35982
e179b2f4 359832007-10-15 Robert Millan <rmh@aybabtu.com>
35984
35985 * normal/misc.c (grub_normal_print_device_info): Do not probe for
35986 filesystem when dev->disk is unset.
35987 Do probe for filesystem even when dev->disk->has_partitions is set.
35988 In case a filesystem is found, always report it.
35989 In case it isn't, if dev->disk->has_partitions is set, report that
35990 a partition table was found instead of reporting that no filesystem
35991 could be identified.
35992
5db82af6 359932007-10-12 Robert Millan <rmh@aybabtu.com>
35994
35995 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
35996 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
35997
68f6ac74 35998 * include/grub/types.h (grub_host_to_target16): New macro.
35999 (grub_host_to_target32): Likewise.
36000 (grub_host_to_target64): Likewise.
36001 (grub_target_to_host16): Likewise.
36002 (grub_target_to_host32): Likewise.
36003 (grub_target_to_host64): Likewise.
5db82af6 36004
36005 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
36006 Renamed from to ...
36007 (GRUB_MOD_ALIGN): ...this. Update all users.
36008
68f6ac74 36009 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
36010 grub_host_to_target32.
36011 Replace grub_be_to_cpu32 with grub_target_to_host32.
36012 (load_modules): Likewise.
36013 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
36014 Replace grub_be_to_cpu32 with grub_target_to_host32.
36015 Replace grub_cpu_to_be16 with grub_host_to_target16.
36016 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 36017
3cf497cc 360182007-10-12 Robert Millan <rmh@aybabtu.com>
36019
36020 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
36021 * util/elf/grub-mkimage.c: ... here.
36022
36023 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
36024 `util/powerpc/ieee1275/grub-mkimage.c'.
36025
c8cc3692 360262007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 36027
c8cc3692 36028 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
36029 and make it easier to figure out.
36030 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
36031 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
36032 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
36033 leave us with less than HEAP_MIN_SIZE total heap.
36034 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 36035
5c58b791 360362007-10-03 Robert Millan <rmh@aybabtu.com>
36037
36038 * include/grub/i386/io.h: New file.
36039 * commands/i386/pc/play.c (inb): Removed.
36040 (outb): Removed.
36041 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36042 with grub_outb().
afcd2ef8 36043 * term/i386/pc/serial.c (inb): Removed.
36044 (outb): Removed.
36045 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36046 with grub_outb().
36047 * term/i386/pc/vga.c (inb): Removed.
36048 (outb): Removed.
36049 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36050 with grub_outb().
5c58b791 36051
1a477ed6 360522007-10-02 Robert Millan <rmh@aybabtu.com>
36053
36054 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
36055 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36056 Reported by Marcin Kurek.
36057
6b5d80fa 360582007-09-07 Robert Millan <rmh@aybabtu.com>
36059
36060 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
36061 SmartFirmware version updates (as released by Sven Luther), and avoid
36062 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
36063 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
36064 known broken.
36065
5618afbf 360662007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36067
36068 From Hitoshi Ozeki:
36069 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
36070 when merging two regions.
36071
6139dcd9 360722007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36073
508e39ee 36074 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
36075 * normal/completion.c (grub_normal_do_completion): Likewise.
36076 Reported by Hitoshi Ozeki.
36077
360782007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36079
6139dcd9 36080 Do not use devices at boot in chainloading.
f19dbdb7 36081
6139dcd9 36082 * loader/i386/pc/chainloader.c (boot_drive): New variable.
36083 (boot_part_addr): Likewise.
36084 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
36085 with BOOT_DRIVE and BOOT_PART_ADDR.
36086 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
36087 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
36088
38da6516 360892007-08-29 Robert Millan <rmh@aybabtu.com>
36090
36091 Patch from Simon Peter <dn.tlp@gmx.net>:
36092 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
36093 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
36094 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
36095 util/i386/pc/grub-setup.c_DEPENDENCIES.
36096 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
36097 util/grub-probe.c_DEPENDENCIES.
36098 * conf/powerpc-ieee1275.rmk: Likewise.
36099
29d0928c 361002007-08-28 Robert Millan <rmh@aybabtu.com>
36101
36102 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
36103 to tell grub-mkdevicemap how to name devices.
36104 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
36105 feature).
36106
36107 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
36108 util/i386/get_disk_name.c.
36109 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
36110 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
36111 util/ieee1275/get_disk_name.c.
36112
36113 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
36114
36115 * DISTLIST: Add util/i386/get_disk_name.c and
36116 util/ieee1275/get_disk_name.c.
36117
36118 * util/grub-mkdevicemap.c: Replace device naming logic with
36119 grub_util_get_disk_name() calls.
36120
5a0d3cca 361212007-08-20 Robert Millan <rmh@aybabtu.com>
36122
36123 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
36124 (so that it works for both plural and singular quantities).
36125
8b72db2f 361262007-08-05 Robert Millan <rmh@aybabtu.com>
36127
36128 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
36129 so that [xz] isn't taken into account when determining order.
36130
352466bf 361312007-08-02 Marco Gerards <marco@gnu.org>
36132
36133 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
36134 `include/multiboot2.h', `include/grub/elfload.h',
36135 `include/multiboot.h', `include/grub/multiboot.h',
36136 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
36137 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
36138 `kern/elf.c', `loader/multiboot_loader.c',
36139 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
36140 `loader/i386/pc/multiboot2.c',
36141 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
36142 `util/i386/pc/grub-mkrescue.in'. Remove
36143 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
36144 `include/grub/i386/pc/util/biosdisk.h' and
36145 `include/grub/powerpc/ieee1275/multiboot.h'.
36146
8f096014 361472007-08-02 Bean <bean123ch@gmail.com>
36148
36149 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
36150 (ntfs_mod_SOURCES): New variable.
36151 (ntfs_mod_CFLAGS): Likewise.
36152 (ntfs_mod_LDFLAGS): Likewise.
36153
36154 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
36155 (grub_probe_SOURCES): Likewise.
36156 (grub_emu_SOURCES): Likewise.
36157
36158 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36159 (grub_emu_SOURCES): Likewise.
36160
36161 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36162 (grub_emu_SOURCES): Likewise.
f19dbdb7 36163
8f096014 36164 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
36165
36166 * fs/ntfs.c: New file.
36167
9959f7db 361682007-08-02 Bean <bean123ch@gmail.com>
36169
36170 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
36171
36172 * file.h (grub_file): Likewise.
36173
36174 * fshelp.h (grub_fshelp_read_file): Likewise.
36175
36176 * util/i386/pc/grub-setup.c (setup): Likewise.
36177 (save_first_sector): Likewise.
36178 (save_blocklists): Likewise.
f19dbdb7 36179
9959f7db 36180 * fs/affs.c (grub_affs_read_file): Likewise.
36181
36182 * fs/ext2.c (grub_ext2_read_file): Likewise.
36183
36184 * fs/fat.c (grub_fat_read_data): Likewise.
36185
36186 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
36187
36188 * fs/hfs.c (grub_hfs_read_file): Likewise.
36189
36190 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
36191
36192 * fs/jfs.c (grub_jfs_read_file): Likewise.
36193
36194 * fs/minix.c (grub_minix_read_file): Likewise.
36195
36196 * fs/sfs.c (grub_sfs_read_file): Likewise.
36197
36198 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 36199
9959f7db 36200 * fs/xfs.c (grub_xfs_read_file): Likewise.
36201
36202 * command/blocklist.c (read_blocklist): Likewise.
36203 (print_blocklist): Likewise.
36204
0a203f83 362052007-08-02 Marco Gerards <marco@gnu.org>
36206
36207 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
36208 `util/hostfs.c'.
36209
36210 * disk/host.c: New file.
36211
36212 * util/hostfs.c: Likewise.
36213
36214 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
36215 return `GRUB_ERR_BAD_FS'.
36216 * fs/sfs.c (grub_sfs_mount): Likewise.
36217 * fs/xfs.c (grub_xfs_mount): Likewise.
36218
36219 * include/grub/disk.h (enum grub_disk_dev_id): Add
36220 `GRUB_DISK_DEVICE_HOST_ID'.
36221
36222 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
36223
e5dfe777 362242007-07-24 Jerone Young <jerone@gmail.com>
36225
f19dbdb7 36226 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 36227 modules for compilation.
36228 * conf/powerpc-ieee1275.rmk: Likewise.
36229
36230 * include/multiboot.h: Move multiboot definitions to one file. Rename
36231 many definitions to not get grub specific.
36232 * include/multiboot2.h: Create header with multiboot 2 definitions.
36233 * include/grub/multiboot.h: Header for grub specific function
36234 prototypes and definitions.
36235 * include/grub/multiboot2.h: Likewise.
36236 * include/grub/multiboot_loader.h: Likewise.
36237 * include/grub/i386/pc/multiboot.h: Removed.
36238 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
36239
36240 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
36241 and 2 to allow for one multiboot and module commands.
36242 * loader/multiboot2.c: Add multiboot2 functionality.
36243 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
36244 and definition names.
36245 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
36246 2 functions.
36247 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
36248 ieee1275 specific multiboot2 code.
36249
36250 * kern/i386/pc/startup.S: Change headers and definition names for
36251 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
36252
daf0f0ba 362532007-07-22 Robert Millan <rmh@aybabtu.com>
36254
36255 * geninitheader.sh: Process file specified in first parameter rather
36256 than hardcoding grub_modules_init.lst.
fe6b695a 36257 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 36258 than hardcoding grub_modules_init.h.
36259
36260 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
36261 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
36262 grub_probe_init.[ch] and grub_setup_init.[ch].
36263
36264 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
36265 grub_modules_init.h with grub_emu_init.h.
36266 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
36267 grub_probe_init.[ch] files.
36268 * conf/i386-efi.rmk: Likewise.
36269 * conf/i386-pc.rmk: Likewise.
36270 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
36271 grub_setup_init.[ch] files.
36272
36273 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
36274 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
36275 to initialize modules rather than a list of hardcoded functions.
36276 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
36277 grub_init_all() to initialize modules rather than a list of hardcoded
36278 functions.
36279
54cdc1cc 362802007-07-22 Robert Millan <rmh@aybabtu.com>
36281
36282 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
36283 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
36284
ad0686cc 362852007-07-22 Robert Millan <rmh@aybabtu.com>
36286
36287 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
36288 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
36289 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
36290 flag when running on SmartFirmware.
36291 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
36292 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
36293 was set.
36294
36295 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
36296 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
36297 rather than decreasing it.
36298
36299 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
36300 there's not enough space to do it, fail in the same way as when it
36301 can't be done because there are no partitions.
36302
36303 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
36304 when nvsetenv failed.
36305
969c02ec 363062007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
36307
36308 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
36309 because this rule is automatically generated.
36310 (grub-mkrescue): Removed for the same reason as above.
36311
5a79f472 363122007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
36313
36314 Migrate to GNU General Public License Version 3.
f19dbdb7 36315
5a79f472 36316 * COPYING: Replaced with the plain text version of GPLv3.
36317
36318 * config.guess: Updated from gnulib.
36319 * config.sub: Likewise.
36320
36321 * geninit.sh: Output a GPLv3 copyright notice.
36322 * geninitheader.sh: Likewise.
36323 * genmodsrc.sh: Likewise.
36324 * gensymlist.sh.in: Likewise.
36325
36326 * boot/i386/pc/boot.S: Upgraded to GPLv3.
36327 * boot/i386/pc/diskboot.S: Likewise.
36328 * boot/i386/pc/pxeboot.S: Likewise.
36329 * commands/blocklist.c: Likewise.
36330 * commands/boot.c: Likewise.
36331 * commands/cat.c: Likewise.
36332 * commands/cmp.c: Likewise.
36333 * commands/configfile.c: Likewise.
36334 * commands/echo.c: Likewise.
36335 * commands/help.c: Likewise.
36336 * commands/ls.c: Likewise.
36337 * commands/search.c: Likewise.
36338 * commands/terminal.c: Likewise.
36339 * commands/test.c: Likewise.
36340 * commands/videotest.c: Likewise.
36341 * commands/i386/cpuid.c: Likewise.
36342 * commands/i386/pc/halt.c: Likewise.
36343 * commands/i386/pc/play.c: Likewise.
36344 * commands/i386/pc/reboot.c: Likewise.
36345 * commands/i386/pc/vbeinfo.c: Likewise.
36346 * commands/i386/pc/vbetest.c: Likewise.
36347 * commands/ieee1275/halt.c: Likewise.
36348 * commands/ieee1275/reboot.c: Likewise.
36349 * commands/ieee1275/suspend.c: Likewise.
36350 * disk/loopback.c: Likewise.
36351 * disk/lvm.c: Likewise.
36352 * disk/raid.c: Likewise.
36353 * disk/efi/efidisk.c: Likewise.
36354 * disk/i386/pc/biosdisk.c: Likewise.
36355 * disk/ieee1275/ofdisk.c: Likewise.
36356 * font/manager.c: Likewise.
36357 * fs/affs.c: Likewise.
36358 * fs/ext2.c: Likewise.
36359 * fs/fat.c: Likewise.
36360 * fs/fshelp.c: Likewise.
36361 * fs/hfs.c: Likewise.
36362 * fs/hfsplus.c: Likewise.
36363 * fs/iso9660.c: Likewise.
36364 * fs/jfs.c: Likewise.
36365 * fs/minix.c: Likewise.
36366 * fs/sfs.c: Likewise.
36367 * fs/ufs.c: Likewise.
36368 * fs/xfs.c: Likewise.
36369 * hello/hello.c: Likewise.
36370 * include/grub/acorn_filecore.h: Likewise.
36371 * include/grub/arg.h: Likewise.
36372 * include/grub/bitmap.h: Likewise.
36373 * include/grub/boot.h: Likewise.
36374 * include/grub/cache.h: Likewise.
36375 * include/grub/device.h: Likewise.
36376 * include/grub/disk.h: Likewise.
36377 * include/grub/dl.h: Likewise.
36378 * include/grub/elfload.h: Likewise.
36379 * include/grub/env.h: Likewise.
36380 * include/grub/err.h: Likewise.
36381 * include/grub/file.h: Likewise.
36382 * include/grub/font.h: Likewise.
36383 * include/grub/fs.h: Likewise.
36384 * include/grub/fshelp.h: Likewise.
36385 * include/grub/gzio.h: Likewise.
36386 * include/grub/hfs.h: Likewise.
36387 * include/grub/kernel.h: Likewise.
36388 * include/grub/loader.h: Likewise.
36389 * include/grub/lvm.h: Likewise.
36390 * include/grub/misc.h: Likewise.
36391 * include/grub/mm.h: Likewise.
36392 * include/grub/net.h: Likewise.
36393 * include/grub/normal.h: Likewise.
36394 * include/grub/parser.h: Likewise.
36395 * include/grub/partition.h: Likewise.
36396 * include/grub/pc_partition.h: Likewise.
36397 * include/grub/raid.h: Likewise.
36398 * include/grub/rescue.h: Likewise.
36399 * include/grub/script.h: Likewise.
36400 * include/grub/setjmp.h: Likewise.
36401 * include/grub/symbol.h: Likewise.
36402 * include/grub/term.h: Likewise.
36403 * include/grub/terminfo.h: Likewise.
36404 * include/grub/tparm.h: Likewise.
36405 * include/grub/types.h: Likewise.
36406 * include/grub/video.h: Likewise.
36407 * include/grub/efi/api.h: Likewise.
36408 * include/grub/efi/chainloader.h: Likewise.
36409 * include/grub/efi/console.h: Likewise.
36410 * include/grub/efi/console_control.h: Likewise.
36411 * include/grub/efi/disk.h: Likewise.
36412 * include/grub/efi/efi.h: Likewise.
36413 * include/grub/efi/pe32.h: Likewise.
36414 * include/grub/efi/time.h: Likewise.
36415 * include/grub/i386/linux.h: Likewise.
36416 * include/grub/i386/setjmp.h: Likewise.
36417 * include/grub/i386/types.h: Likewise.
36418 * include/grub/i386/efi/kernel.h: Likewise.
36419 * include/grub/i386/efi/loader.h: Likewise.
36420 * include/grub/i386/efi/time.h: Likewise.
36421 * include/grub/i386/pc/biosdisk.h: Likewise.
36422 * include/grub/i386/pc/boot.h: Likewise.
36423 * include/grub/i386/pc/chainloader.h: Likewise.
36424 * include/grub/i386/pc/console.h: Likewise.
36425 * include/grub/i386/pc/init.h: Likewise.
36426 * include/grub/i386/pc/kernel.h: Likewise.
36427 * include/grub/i386/pc/loader.h: Likewise.
36428 * include/grub/i386/pc/memory.h: Likewise.
36429 * include/grub/i386/pc/multiboot.h: Likewise.
36430 * include/grub/i386/pc/serial.h: Likewise.
36431 * include/grub/i386/pc/time.h: Likewise.
36432 * include/grub/i386/pc/vbe.h: Likewise.
36433 * include/grub/i386/pc/vbeblit.h: Likewise.
36434 * include/grub/i386/pc/vbefill.h: Likewise.
36435 * include/grub/i386/pc/vbeutil.h: Likewise.
36436 * include/grub/i386/pc/vga.h: Likewise.
36437 * include/grub/ieee1275/ieee1275.h: Likewise.
36438 * include/grub/ieee1275/ofdisk.h: Likewise.
36439 * include/grub/powerpc/libgcc.h: Likewise.
36440 * include/grub/powerpc/setjmp.h: Likewise.
36441 * include/grub/powerpc/types.h: Likewise.
36442 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
36443 * include/grub/powerpc/ieee1275/console.h: Likewise.
36444 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
36445 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
36446 * include/grub/powerpc/ieee1275/loader.h: Likewise.
36447 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
36448 * include/grub/powerpc/ieee1275/time.h: Likewise.
36449 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
36450 * include/grub/sparc64/libgcc.h: Likewise.
36451 * include/grub/sparc64/setjmp.h: Likewise.
36452 * include/grub/sparc64/types.h: Likewise.
36453 * include/grub/sparc64/ieee1275/console.h: Likewise.
36454 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
36455 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
36456 * include/grub/sparc64/ieee1275/time.h: Likewise.
36457 * include/grub/util/biosdisk.h: Likewise.
36458 * include/grub/util/getroot.h: Likewise.
36459 * include/grub/util/lvm.h: Likewise.
36460 * include/grub/util/misc.h: Likewise.
36461 * include/grub/util/raid.h: Likewise.
36462 * include/grub/util/resolve.h: Likewise.
36463 * io/gzio.c: Likewise.
36464 * kern/device.c: Likewise.
36465 * kern/disk.c: Likewise.
36466 * kern/dl.c: Likewise.
36467 * kern/elf.c: Likewise.
36468 * kern/env.c: Likewise.
36469 * kern/err.c: Likewise.
36470 * kern/file.c: Likewise.
36471 * kern/fs.c: Likewise.
36472 * kern/loader.c: Likewise.
36473 * kern/main.c: Likewise.
36474 * kern/misc.c: Likewise.
36475 * kern/mm.c: Likewise.
36476 * kern/parser.c: Likewise.
36477 * kern/partition.c: Likewise.
36478 * kern/rescue.c: Likewise.
36479 * kern/term.c: Likewise.
36480 * kern/efi/efi.c: Likewise.
36481 * kern/efi/init.c: Likewise.
36482 * kern/efi/mm.c: Likewise.
36483 * kern/i386/dl.c: Likewise.
36484 * kern/i386/efi/init.c: Likewise.
36485 * kern/i386/efi/startup.S: Likewise.
36486 * kern/i386/pc/init.c: Likewise.
36487 * kern/i386/pc/lzo1x.S: Likewise.
36488 * kern/i386/pc/startup.S: Likewise.
36489 * kern/ieee1275/ieee1275.c: Likewise.
36490 * kern/powerpc/cache.S: Likewise.
36491 * kern/powerpc/dl.c: Likewise.
36492 * kern/powerpc/ieee1275/cmain.c: Likewise.
36493 * kern/powerpc/ieee1275/crt0.S: Likewise.
36494 * kern/powerpc/ieee1275/init.c: Likewise.
36495 * kern/powerpc/ieee1275/openfw.c: Likewise.
36496 * kern/sparc64/cache.S: Likewise.
36497 * kern/sparc64/dl.c: Likewise.
36498 * kern/sparc64/ieee1275/init.c: Likewise.
36499 * kern/sparc64/ieee1275/openfw.c: Likewise.
36500 * loader/efi/chainloader.c: Likewise.
36501 * loader/efi/chainloader_normal.c: Likewise.
36502 * loader/i386/efi/linux.c: Likewise.
36503 * loader/i386/efi/linux_normal.c: Likewise.
36504 * loader/i386/pc/chainloader.c: Likewise.
36505 * loader/i386/pc/chainloader_normal.c: Likewise.
36506 * loader/i386/pc/linux.c: Likewise.
36507 * loader/i386/pc/linux_normal.c: Likewise.
36508 * loader/i386/pc/multiboot.c: Likewise.
36509 * loader/i386/pc/multiboot_normal.c: Likewise.
36510 * loader/powerpc/ieee1275/linux.c: Likewise.
36511 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36512 * normal/arg.c: Likewise.
36513 * normal/cmdline.c: Likewise.
36514 * normal/command.c: Likewise.
36515 * normal/completion.c: Likewise.
36516 * normal/execute.c: Likewise.
36517 * normal/function.c: Likewise.
36518 * normal/lexer.c: Likewise.
36519 * normal/main.c: Likewise.
36520 * normal/menu.c: Likewise.
36521 * normal/menu_entry.c: Likewise.
36522 * normal/misc.c: Likewise.
36523 * normal/parser.y: Likewise.
36524 * normal/script.c: Likewise.
36525 * normal/i386/setjmp.S: Likewise.
36526 * normal/powerpc/setjmp.S: Likewise.
36527 * normal/sparc64/setjmp.S: Likewise.
36528 * partmap/acorn.c: Likewise.
36529 * partmap/amiga.c: Likewise.
36530 * partmap/apple.c: Likewise.
36531 * partmap/gpt.c: Likewise.
36532 * partmap/pc.c: Likewise.
36533 * partmap/sun.c: Likewise.
36534 * term/gfxterm.c: Likewise.
36535 * term/terminfo.c: Likewise.
36536 * term/efi/console.c: Likewise.
36537 * term/i386/pc/console.c: Likewise.
36538 * term/i386/pc/serial.c: Likewise.
36539 * term/i386/pc/vesafb.c: Likewise.
36540 * term/i386/pc/vga.c: Likewise.
36541 * term/ieee1275/ofconsole.c: Likewise.
36542 * util/biosdisk.c: Likewise.
36543 * util/console.c: Likewise.
36544 * util/genmoddep.c: Likewise.
36545 * util/getroot.c: Likewise.
36546 * util/grub-emu.c: Likewise.
36547 * util/grub-mkdevicemap.c: Likewise.
36548 * util/grub-probe.c: Likewise.
36549 * util/lvm.c: Likewise.
36550 * util/misc.c: Likewise.
36551 * util/raid.c: Likewise.
36552 * util/resolve.c: Likewise.
36553 * util/update-grub.in: Likewise.
36554 * util/update-grub_lib.in: Likewise.
36555 * util/grub.d/00_header.in: Likewise.
36556 * util/grub.d/10_hurd.in: Likewise.
36557 * util/grub.d/10_linux.in: Likewise.
36558 * util/i386/efi/grub-install.in: Likewise.
36559 * util/i386/efi/grub-mkimage.c: Likewise.
36560 * util/i386/pc/grub-install.in: Likewise.
36561 * util/i386/pc/grub-mkimage.c: Likewise.
36562 * util/i386/pc/grub-mkrescue.in: Likewise.
36563 * util/i386/pc/grub-setup.c: Likewise.
36564 * util/i386/pc/misc.c: Likewise.
36565 * util/powerpc/ieee1275/grub-install.in: Likewise.
36566 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
36567 * util/powerpc/ieee1275/misc.c: Likewise.
36568 * video/bitmap.c: Likewise.
36569 * video/video.c: Likewise.
36570 * video/i386/pc/vbe.c: Likewise.
36571 * video/i386/pc/vbeblit.c: Likewise.
36572 * video/i386/pc/vbefill.c: Likewise.
36573 * video/i386/pc/vbeutil.c: Likewise.
36574 * video/readers/tga.c: Likewise.
36575
3572d015 365762007-07-02 Robert Millan <rmh@aybabtu.com>
36577
36578 * conf/i386-efi.rmk: Replace obsolete reference to
36579 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
36580 with util/getroot.c.
36581 * conf/powerpc-ieee1275.rmk: Likewise.
36582 * conf/sparc64-ieee1275.rmk: Likewise.
36583
36584 * util/grub-emu.c (main): Fix unchecked pointer handling.
36585
2c2a681b 365862007-07-02 Robert Millan <rmh@aybabtu.com>
36587
36588 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
36589 invocation to fail, in order to support partition-less media.
36590
36591 * util/i386/pc/grub-install.in: Likewise.
36592
36593 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
36594 which fs or partmap modules are needed (akin to its sister scripts).
36595
36596 Also use grub-probe to get rid of unportable /proc/mounts check.
36597
36598 Print the same informational message that the other scripts do, before
fe6b695a 36599 exiting.
2c2a681b 36600
6193defe 366012007-06-23 Robert Millan <rmh@aybabtu.com>
36602
fe6b695a 36603 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 36604 a font file can be found and, if so, echo the GRUB path to it.
36605
36606 * util/update-grub.in: Handle multiple terminals depending on user
36607 input, platform availability and font file presence. Propagate
36608 variables of our findings to /etc/grub.d/ children.
36609
36610 * util/grub.d/00_header.in: Handle multiple terminals, based on
36611 environment setup by update-grub.
36612
eface1dc 366132007-06-23 Robert Millan <rmh@aybabtu.com>
36614
ba50d28f 36615 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 36616
bf697e28 366172007-06-21 Robert Millan <rmh@aybabtu.com>
36618
36619 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
36620 indicate end of data section in kernel image.
36621 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
36622 GRUB_KERNEL_MACHINE_DATA_END.
36623
36624 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
36625 space for it.
36626 * kern/i386/efi/startup.S: Likewise.
36627
36628 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
36629 during image generation. Implement --prefix option to override this
36630 patch.
36631 * util/i386/efi/grub-mkimage.c: Likewise.
36632
36633 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
36634 code to make path relative to its root into a separate function.
36635
36636 * util/i386/pc/grub-install.in: Use newly provided
36637 make_system_path_relative_to_its_root() to convert ${grubdir}, then
36638 pass the result to grub-install --prefix.
36639
baa574b4 366402007-06-13 Robert Millan <rmh@aybabtu.com>
36641
36642 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
36643 DEFAULT_DEVICE_MAP.
36644 * util/grub-emu.c: Use above definitions from misc.h instead of
36645 defining them.
36646 * util/grub-mkdevicemap.c: Likewise.
36647 * util/i386/pc/grub-setup.c: Likewise.
36648 * util/grub-probe.c: Likewise.
36649 (probe): Abort with grub_util_error() when either
36650 grub_guess_root_device or grub_util_get_grub_dev fails.
36651
0215dcbf 366522007-06-12 Robert Millan <rmh@aybabtu.com>
36653
36654 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
36655 "pager" assignment.
36656 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
36657 "pcdata".
36658 * util/grub-probe.c (probe): Likewise for "drive_name".
36659
8af2ab7b 366602007-06-11 Robert Millan <rmh@aybabtu.com>
36661
36662 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
36663 not just the cdrom one.
36664
59d31694 366652007-06-11 Robert Millan <rmh@aybabtu.com>
36666
36667 * util/i386/pc/grub-mkrescue.in: Add "set -e".
36668 Add --pkglibdir=DIR option to override pkglibdir.
36669 Mention --image-type=TYPE in help output.
36670 Fix --grub-mkimage (it was a no-op).
fe6b695a 36671 Abort gracefully when no parameter is given.
59d31694 36672
7ee367e4 366732007-06-11 Robert Millan <rmh@aybabtu.com>
36674
36675 * util/i386/pc/grub-mkrescue.in: New file.
36676 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
36677 * Makefile.in: Handle bin_SCRIPTS.
36678
29b0ed46 366792007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
36680
36681 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
36682 list of video modes.
36683
c0f90770 366842007-06-06 Robert Millan <rmh@aybabtu.com>
36685
36686 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
36687 file doesn't exist, or if it is in a filesystem grub can't read.
36688
36689 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
36690 not abort if GRUB_DRIVE could not be defined. Rearrange generated
36691 header comment to fit in 80 columns when the variables are resolved.
36692
36693 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
36694 could be identified by update-grub. Remove redundant check for
fe6b695a 36695 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 36696 handles that).
36697
fb36dc26 366982007-06-04 Robert Millan <rmh@aybabtu.com>
36699
36700 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
36701
36702 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
36703
36704 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
36705
0c68c93e 367062007-06-04 Robert Millan <rmh@aybabtu.com>
36707
36708 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
36709
36710 * include/grub/partition.h: Declare grub_apple_partition_map_init and
36711 grub_apple_partition_map_fini.
36712
36713 * util/biosdisk.c
36714 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
36715 to access >2 TiB disks).
36716
36717 Print disk->total_sectors with %llu instead of %lu, since this
36718 variable is always 64-bit (prevents wrong disk size from being displayed
36719 on either >2 TiB disk or big-endian CPU).
36720
36721 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
36722 into a generic case that supports all (sane) partition maps.
36723
36724 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
36725 breaks big-endian.
36726
36727 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
36728 and grub_apple_partition_map_fini() after that.
36729
0f23eb74 367302007-06-01 Robert Millan <rmh@aybabtu.com>
36731
36732 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
36733
36734 * util/grub.d/00_header.in: Only enable gfxterm when
36735 convert_system_path_to_grub_path() succeeds.
36736
42c71976 367372007-05-20 Robert Millan <rmh@aybabtu.com>
36738
36739 * util/update-grub_lib.in: New file.
36740 * DISTLIST: Add update-grub_lib.in.
36741 * conf/common.rmk: Generate update-grub_lib and install it in
36742 $(lib_DATA).
36743 * Makefile.in: Add install routine for $(lib_DATA).
36744
36745 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
36746 function provided by update-grub_lib to support arbitrary paths of
36747 unifont.pff.
36748 * util/update-grub.in: Use convert_system_path_to_grub_path() to
36749 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
36750
5beb2291 367512007-05-19 Robert Millan <rmh@aybabtu.com>
36752
36753 * commands/i386/cpuid.c: New module.
36754 * DISTLIST: Add it.
36755 * conf/i386-efi.rmk: Enable cpuid.mod.
36756 * conf/i386-pc.rmk: Likewise.
36757
7262eca1 367582007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
36759
36760 * kern/disk.c (grub_disk_read): Check return value of
36761 grub_realloc().
36762
260ba823 367632007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
36764
36765 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
36766 arrays.
36767 * disk/raid.c (grub_raid_open): Likewise.
36768
1ecb6cf2 367692007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
36770
36771 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
36772 stack instead of on the heap.
36773
36774 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
36775 before doing a read on it.
36776
36777 * configure.ac: Only use -fno-stack-protector for the target
36778 environment.
f19dbdb7 36779
21c8cbb1 367802007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
36781
36782 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
36783 __attribute_ ((unused)) to mode_type argument.
36784
36785 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 36786
21c8cbb1 36787 * kern/misc.c (memcmp): Fix prototype.
36788
36789 * include/grub/partition.h [GRUB_UTIL]
36790 (grub_gpt_partition_map_init): Add prototype.
36791 (grub_gpt_partition_map_fini): Likewise.
36792
36793 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
36794 at the right place.
36795
36796 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
36797 (grub_fat_read_data): Likewise.
36798 (grub_fat_find_dir): Likewise.
36799
36800 * font/manager.c (find_glyph): Make table a const.
36801 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 36802
849d55d3 368032007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
36804
36805 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
36806 code, first search for device in /dev/mapper, then in /dev.
36807 (grub_util_get_grub_dev): New function.
36808 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
36809 prototype.
36810 * util/grub-probe.c (probe): Remove check for RAID, call
36811 grub_util_get_grub_dev() instead of
36812 grub_util_biosdisk_get_grub_dev().
36813 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
36814 grub_util_biosdisk_get_grub_dev().
36815 * util/i386/pc/grub-setup.c (main): Likewise.
36816
8fff7c2f 368172007-05-16 Robert Millan <rmh@aybabtu.com>
36818
36819 * DISTLIST: Update for the latest changes.
36820 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
36821 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
36822 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
36823 grub/util/biosdisk.h.
36824 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
36825 grub/util/biosdisk.h.
36826
48e12b52 368272007-05-16 Robert Millan <rmh@aybabtu.com>
36828
36829 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
36830
46b9d128 368312007-05-16 Robert Millan <rmh@aybabtu.com>
36832
36833 * util/i386/efi/grub-install.in: New.
36834 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
36835 newly added grub-install.
36836 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
36837 include.
36838 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
36839 grub/util/biosdisk.h.
36840 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
36841 grub/util/biosdisk.h.
36842
2d1a40a9 368432007-05-16 Robert Millan <rmh@aybabtu.com>
36844
36845 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
36846 * include/grub/util/biosdisk.h: ... here.
36847 * util/i386/pc/biosdisk.c: Moved to ...
36848 * util/biosdisk.c: ... here.
36849 * util/i386/pc/getroot.c: Moved to ...
36850 * util/getroot.c: ... here.
36851 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
36852 * util/grub-mkdevicemap.c: ... here.
36853 * util/i386/pc/grub-probe.c: Moved to ...
36854 * util/grub-probe.c: ... here.
36855
9e26e3bc 368562007-05-15 Robert Millan <rmh@aybabtu.com>
36857
36858 * util/update-grub.in: Remove duplicated line in grub.cfg header
36859 message.
36860
57f96397 368612007-05-13 Robert Millan <rmh@aybabtu.com>
36862
36863 * util/update-grub.in: Fix a few assumptions about the devices holding
36864 /, /boot and /boot/grub being the same.
36865 * util/grub.d/00_header.in: Likewise.
36866 * util/grub.d/10_hurd.in: Likewise.
36867 * util/grub.d/10_linux.in: Likewise.
36868
36869 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
36870 patterns. Use that to define the `.old' suffix as older than `'.
36871
36872 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
36873
36874 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
36875 the grub.cfg header message.
36876
2e610d62 368772007-05-11 Robert Millan <rmh@aybabtu.com>
36878
36879 * util/update-grub.in: Create device.map if it doesn't already exist,
36880 before attempting to run grub-probe.
36881 Check for grub-probe and grub-mkdevicemap with the same code
36882 grub-install is using.
36883 Remove test mode.
36884
3f6a10ef 368852007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
36886
36887 * Makefile.in: Add the datarootdir autoconf variable.
36888
02e7b75e 368892007-05-09 Robert Millan <rmh@aybabtu.com>
36890
36891 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 36892 fail gracefully if dev->disk->partition == NULL.
02e7b75e 36893
75f396cc 368942007-05-07 Robert Millan <rmh@aybabtu.com>
36895
36896 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
36897 determine partition map module.
36898 * util/i386/pc/grub-install.in: Use this feature to decide which
36899 partition module to load, instead of hardcoding pc and gpt.
36900
da65cb36 369012007-05-07 Robert Millan <rmh@aybabtu.com>
36902
36903 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
36904 source directory differs from build directory.
36905
b57d6a91 369062007-05-05 Robert Millan <rmh@aybabtu.com>
36907
36908 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
36909 initialisation.
36910
509d00f1 369112007-05-05 Robert Millan <rmh@aybabtu.com>
36912
36913 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
36914
c48f23ef 369152007-05-05 Robert Millan <rmh@aybabtu.com>
36916
36917 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
36918 command-line arguments via ${GRUB_CMDLINE_LINUX}.
36919
20b97658 369202007-05-05 Robert Millan <rmh@aybabtu.com>
36921
36922 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
36923 (grub_probe_SOURCES): Likewise.
36924 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
36925 GPT and initialize dos_part and bsd_part accordingly.
36926 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
36927 install_bsd_part.
36928 (main): Activate gpt module for use during partition identification,
36929 and deactivate it afterwards.
36930 * util/i386/pc/grub-install.in: Add gpt module to core.img.
36931 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
36932 partition identification, and deactivate it afterwards.
36933
99123174 369342007-05-05 Robert Millan <rmh@aybabtu.com>
36935
36936 * term/i386/pc/console.c (grub_console_fini): Call
36937 grub_term_set_current() before grub_term_unregister().
36938
ebd97f6e 369392007-05-04 Robert Millan <rmh@aybabtu.com>
36940
36941 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
36942 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
36943 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
36944 and update-grub_DATA.
36945 * conf/common.rmk: Build and install update-grub components.
36946 * conf/common.mk: Regenerate.
36947 * util/update-grub.in: New. Core of update-grub.
36948 * util/grub.d/00_header.in: New. Generates grub.cfg header.
36949 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
36950 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
36951 * util/grub.d/README: New. Document grub.d directory layout.
36952
b06a264d 369532007-05-01 Robert Millan <rmh@aybabtu.com>
36954
36955 * util/grub-emu.c: Move initialization functions
36956 grub_util_biosdisk_init() and grub_init_all() before
36957 grub_util_biosdisk_get_grub_dev(), which relies on them.
36958
41f0050e 369592007-04-19 Robert Millan <rmh@aybabtu.com>
36960
36961 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
36962 it is used later.
36963
04582bb3 369642007-04-18 Jerone Young <jerone@gmail.com>
36965
f19dbdb7 36966 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 36967 stanza.
36968
08db4632 369692007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 36970
08db4632 36971 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
36972 continue on and look for device node with real device name.
36973
801b76be 369742007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 36975
fe6b695a 36976 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 36977 ability.
36978 * Makefile.in: Add autoconf package transformation code.
36979 * util/i386/pc/grub-install.in: Likewise.
36980 * util/powerpc/ieee1275/grub-install.in: Likewise.
36981
6795c4e1 369822007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
36983
36984 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
36985 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
36986 (EXT2_REVISION): Likewise.
36987 (EXT2_INODE_SIZE): Likewise.
36988 (struct grub_ext2_block_group): Added a missing member
36989 "used_dirs".
36990 (grub_ext2_read_inode): Divide by the inode size in a superblock
36991 instead of 128 to obtain INODES_PER_BLOCK.
36992 Use the macro EXT2_INODE_SIZE instead of directly using
36993 SBLOCK->INODE_SIZE.
36994
d70af616 369952007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
36996
36997 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
36998 superblock instead of the structure size to compute an
36999 offset. This fixes the problem that GRUB could not read a
37000 filesystem when inode size is different from 128-byte.
37001
3b801603 370022007-03-05 Marco Gerards <marco@gnu.org>
37003
37004 * normal/main.c (read_config_file): When "menu" is not set, create
37005 an initial context.
37006
4785bfe4 370072007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37008
37009 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
37010 (HEAP_LIMIT): New macro.
37011 (grub_claim_heap): Claim memory up to `heaplimit'.
37012
a0cbb023 370132007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37014
37015 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
37016 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
37017 (_start): Likewise.
37018 (grub_arch_modules_addr): Return address after `_end'.
37019 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
37020 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
37021 (add_segments): Calculate `_end' from phdr size and location.
37022 (ALIGN_UP): Moved to ...
37023 * include/grub/misc.h: here.
37024 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
37025 New macro.
37026 (GRUB_IEEE1275_MODULE_BASE): Removed.
37027
fd7d8eba 370282007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37029
37030 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
37031 loop boundary.
37032
9b09e6fc 370332007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37034
37035 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
37036 All users updated.
37037 (grub_elf64_load_hook_t): Likewise.
37038 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
37039 debug output.
37040
3ce27299 370412007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37042
37043 * kern/mm.c: Update copyright.
37044 (grub_mm_debug): Correct syntax error.
37045 (grub_mm_dump_free): New function.
37046 (grub_debug_free): Call `grub_free'.
37047 * include/grub/mm.h: Update copyright.
37048 (grub_mm_dump_free): Add declaration.
37049
077d5fee 370502007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37051
37052 * include/grub/ieee1275/ieee1275.h: Update copyright.
37053 * kern/powerpc/ieee1275/init.c: Likewise.
37054 * kern/powerpc/ieee1275/openfw.c: Likewise.
37055
37056 * loader/powerpc/ieee1275/linux.c: Likewise.
37057 * include/grub/elfload.h: Likewise.
37058 * kern/elf.c: Likewise.
37059 (grub_elf32_load): Pass `base' and `size' parameters. Update all
37060 callers.
37061 (grub_elf64_load): Likewise.
37062 (grub_elf32_load_segment): Move to a nested function.
37063 (grub_elf64_load_segment): Likewise.
37064
dc946850 370652007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37066
37067 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
37068 prototype.
37069 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
37070 (grub_heap_len): Likewise.
37071 (HEAP_SIZE): New macro.
37072 (grub_claim_heap): New function.
37073 (grub_machine_init): Don't claim heap directly. Call
37074 `grub_claim_heap'.
37075 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
37076 (grub_available_iterate): New function.
37077
baa2a121 370782007-02-03 Thomas Schwinge <tschwinge@gnu.org>
37079
37080 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
37081 * configure.ac: Use it for testing the HOST and TARGET compilers.
37082
4fe9862e 370832006-12-13 Thomas Schwinge <tschwinge@gnu.org>
37084
37085 * Makefile.in (enable_grub_emu): New variable.
37086 * configure.ac (--enable-grub-emu): New option.
37087 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
37088 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
37089 * conf/i386-pc.rmk: Likewise.
37090 * conf/powerpc-ieee1275.rmk: Likewise.
37091 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
37092
a8aa5762 370932006-12-12 Marco Gerards <marco@gnu.org>
37094
37095 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
37096
37097 * kern/env.c (grub_env_unset): Don't free the member `value' when
37098 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
37099 pointer.
37100
37101 * normal/main.c (current_menu): Removed.
37102 (free_menu): Unset the `menu' environment variable.
37103 (grub_normal_menu_addentry): Make use of the environment variable
37104 `menu', instead of using the global `current_menu'. Allocate
37105 memory for the sourcecode of this entry.
37106 (read_config_file): New argument `nested', changed all callers.
37107 Only in the case of a new context, initialize a new menu. Set the
37108 `menu' environment variable.
37109 (grub_normal_execute): Don't set and unset the environment
37110 variable `menu' here anymore. Only free the menu when leaving the
37111 context.
37112
37113 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
37114 leak.
37115
957b3a3e 371162006-12-11 Marco Gerards <marco@gnu.org>
37117
37118 * normal/menu_entry.c (run): Fix off by one bug so the last line
37119 is executed. Move the loader check to outside the loop.
37120
ef875714 371212006-12-08 Hollis Blanchard <hollis@penguinppc.org>
37122
37123 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
37124
4e739985 371252006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
37126
37127 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
37128 the number of sectors. Reported by Andrey Shuvikov
37129 <mr_hyro@yahoo.com>.
f19dbdb7 37130
790707f2 371312006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
37132
37133 * kern/disk.c (grub_disk_read): When there is a read error, always
37134 try to read only the necessary data.
f19dbdb7 37135
790707f2 37136 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
37137 disk/raid.c.
37138 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
37139 prototype.
37140 [GRUB_UTIL] (grub_raid_fini): Likewise.
37141 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 37142 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 37143 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
37144 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
37145 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
37146 and grub_raid_fini().
f19dbdb7 37147
03e58196 371482006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
37149
37150 * include/grub/types.h (__unused): Rename to UNUSED.
37151 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
37152 (grub_elf64_size): Likewise.
f19dbdb7 37153
ae4f23bf 371542006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37155
37156 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
37157 grub_error_push and grub_error_pop in the error-handling path.
37158 (grub_elf32_load_segment): Only call grub_file_read with non-zero
37159 length.
37160
2166cc83 371612006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37162
37163 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
37164 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37165 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37166 (kernel_elf_SOURCES): Likewise.
37167 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
37168 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
37169 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37170 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37171 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
37172 (elf_mod_SOURCES): New variable.
37173 (elf_mod_CFLAGS): Likewise.
37174 (elf_mod_LDFLAGS): Likewise.
37175 * include/grub/types.h (__unused): New macro.
37176 * include/grub/elfload.h: New file.
37177 * kern/elf.c: Likewise.
37178 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
37179 (ELF32_LOADMASK): New macro.
37180 (ELF64_LOADMASK): Likewise.
37181 (vmlinux): Removed.
37182 (grub_linux_load32): New function.
37183 (grub_linux_load64): Likewise.
37184 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
37185 Use grub_elf_t instead of grub_file_t.
37186
a09d5aa5 371872006-11-02 Hollis Blanchard <hollis@penguinppc.org>
37188
37189 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
37190 `catch_result' to struct set_color_args.
37191
d976fc51 371922006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
37193
37194 * normal/menu.c: Include grub/script.h.
37195 * normal/menu_entry.c: Likewise.
37196 * include/grub/normal.h: Do not include grub/script.h.
37197
67507549 371982006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37199
37200 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
37201
69203a99 372022006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37203
37204 * kern/disk.c (grub_disk_open): Print debug messages when opening a
37205 disk.
37206 (grub_disk_close): Print debug messages when closing a disk.
37207 (grub_disk_read): Print debug messages when disk read fails.
37208 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
37209 filesystem type.
37210 * kern/partition.c: Include misc.h.
37211 (grub_partition_iterate): Print debug messages when detecting
37212 partition type.
37213
e2b8278c 372142006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37215
37216 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
37217 is negative.
37218 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
37219
97b2f2ff 372202006-10-26 Hollis Blanchard <hollis@penguinppc.org>
37221
37222 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
37223 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
37224
6555d655 372252006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
37226
37227 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
37228 instead of sizeof(lv). Patch by Michael Guntsche.
37229
4d42b77f 372302006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
37231
37232 * disk/lvm.c: Rename VGS to VG_LIST.
37233 (grub_lvm_iterate): Change VGS->LV to VG-LV.
37234 (grub_lvm_open): Likewise.
37235 Thanks to Michael Guntsche for finding this bug.
37236
5d74d927 372372006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37238
37239 * configure.ac (AC_INIT): Bumped to 1.95.
37240
a1bb27e4 372412006-10-14 Robert Millan <rmh@aybabtu.com>
37242
37243 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
37244 with "/dev/.static/dev/md".
37245
e0994b8b 372462006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
37247
37248 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
37249 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
37250 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
37251 DRIVE_NAME are always freed.
37252
37253 * util/i386/pc/biosdisk.c (make_device_name): Add one into
37254 DOS_PART, as a DOS partition is counted from one instead of zero
37255 now. Reported by Robert Millan.
37256
ddd5cee9 372572006-10-14 Robert Millan <rmh@aybabtu.com>
37258
37259 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
37260 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
37261 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
37262 string returned by grub_guess_root_device.
37263 * util/i386/pc/grub-setup.c: Likewise.
37264 * util/i386/pc/grub-probefs.c: Likewise.
37265
37266 * util/i386/pc/grub-probefs.c: Rename to ...
37267 * util/i386/pc/grub-probe.c: ... this.
37268 * DISTLIST: Remove grub-probefs, add grub-probe.
37269 * conf/i386-efi.rmk: Likewise.
37270 * conf/i386-pc.rmk: Likewise.
37271 * util/i386/pc/grub-install.in: Likewise.
37272
37273 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
37274 choose which information we want to print.
37275
2b002173 372762006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
37277
37278 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
37279 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
37280 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
37281 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
37282 video/readers/tga.c and video/i386/pc/vbeutil.c.
37283
372842006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
37285
37286 Added support for RAID and LVM.
f19dbdb7 37287
2b002173 37288 * disk/lvm.c: New file.
37289 * disk/raid.c: Likewise.
37290 * include/grub/lvm.h: Likewise.
f19dbdb7 37291 * include/grub/raid.h: Likewise.
2b002173 37292 * include/grub/util/lvm.h: Likewise.
37293 * include/grub/util/raid.h: Likewise.
37294 * util/lvm.c: Likewise.
37295 * util/raid.c: Likewise.
37296
37297 * include/grub/disk.h (grub_disk_dev_id): Add
37298 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
37299 (grub_disk_get_size): New prototype.
37300 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
37301 returns a partition.
37302 (grub_disk_get_size): New function.
f19dbdb7 37303
2b002173 37304 * kern/i386/pc/init.c (make_install_device): Copy the prefix
37305 verbatim if grub_install_dos_part is -2.
37306
37307 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
37308 and LVM devices.
37309
37310 * util/i386/pc/grub-setup.c (setup): New argument
37311 MUST_EMBED. Force embedding of GRUB when the argument is
37312 true. Close FILE before returning.
37313 (main): Add support for RAID and LVM.
f19dbdb7 37314
2b002173 37315 * conf/common.rmk: Add RAID and LVM modules.
37316 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
37317 util/lvm.c.
37318 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
37319
37320 * kern/misc.c (grub_strstr): New function.
37321 * include/grub/misc.h (grub_strstr): New prototype.
37322
050548d0 373232006-10-10 Tristan Gingold <tristan.gingold@bull.net>
37324
37325 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
37326
da849d2d 373272006-10-05 Tristan Gingold <tristan.gingold@bull.net>
37328
37329 * kern/misc.c (grub_strtoull): Guess the base only if not
37330 specified.
37331
97b2f2ff 373322006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 37333
37334 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
37335 PowerMac support.
37336
97b2f2ff 373372006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 37338
37339 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
37340
37341 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
37342 Remove `flags' argument. All callers changed.
37343 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
37344 (IEEE1275_IHANDLE_INVALID): New variable.
37345 (IEEE1275_CELL_INVALID): New variable.
37346 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
37347 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
37348 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
37349 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
37350 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
37351 codes from Open Firmware. All callers updated.
37352 (grub_ieee1275_next_property): Directly return Open Firmware return
37353 code.
37354 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
37355 Standardize error checking from `grub_ieee1275_get_property'.
37356 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
37357 `devalias' to `aliases'. Correct comments. Consolidate error paths.
37358
97b2f2ff 373592006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 37360
37361 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
37362 `instance_to_package_args' to `instance_to_path_args'.
37363
37364 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
37365 `grub_ieee1275_chosen'.
37366
37367 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
37368 `grub_ieee1275_interpret'.
37369
97b2f2ff 373702006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 37371
37372 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
37373
97b2f2ff 373742006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 37375
37376 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
37377 (__cmpdi): Likewise.
37378
37379 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
37380 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
37381 `grub_ssize_t'.
37382
02bb8acc 37383 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 37384
37385 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
37386 to type `grub_ssize_t'.
37387 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
37388
7f9a8531 373892006-09-22 Marco Gerards <marco@gnu.org>
37390
37391 * normal/script.c (grub_script_create_cmdmenu): Skip leading
37392 newlines.
37393
b5ef1102 373942006-09-22 Marco Gerards <marco@gnu.org>
37395
37396 * commands/echo.c: New file.
37397
37398 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
37399
37400 * conf/common.rmk (echo_mod_SOURCES): New variable.
37401 (echo_mod_CFLAGS): Likewise.
37402 (echo_mod_LDFLAGS): Likewise.
37403
2cff3677 374042006-09-22 Marco Gerards <marco@gnu.org>
37405
37406 * normal/main.c (get_line): Malloc memory instead of using
37407 preallocated memory. Removed the arguments `cmdline' and
37408 `max_len'. Updated all callers.
37409
6ba4688b 374102006-09-22 Marco Gerards <marco@gnu.org>
37411
37412 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
37413 (normal_mod_DEPENDENCIES): Likewise.
37414
37415 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
37416 (normal_mod_DEPENDENCIES): Likewise.
37417
37418 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
37419
e02ac02c 374202006-09-22 Johan Rydberg <jrydberg@gnu.org>
37421
37422 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
37423 programs.
37424 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
37425 (normal_mod_DEPENDENCIES): Likewise.
37426 * conf/i386-pc.mk: Regenerate.
37427 * conf/i386-efi.mk: Likewise
37428 * conf/common.mk: Likewise.
37429 * conf/powerpc-ieee1275.mk: Likewise.
37430 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 37431
8d252e44 374322006-09-22 Robert Millan <rmh@aybabtu.com>
37433
37434 Sync with i386 version.
37435 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
37436 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
37437
209bf7ac 374382006-09-21 Robert Millan <rmh@aybabtu.com>
37439
37440 Import from GRUB Legacy (lib/device.c):
37441 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
37442 (init_device_map) [__linux__]: Add support for I2O devices.
37443
6b146090 374442006-09-14 Marco Gerards <marco@gnu.org>
37445
37446 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
37447 `-melf_i386'.
37448
e38600a8 374492006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 37450
37451 * util/i386/pc/grub-install.in: Skip menu.lst when removing
37452 /boot/grub/*.lst.
78fa1790 37453
2952da5d 37454 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 37455
2952da5d 37456 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
37457 before adding it to device.map.
37458
01b82a64 374592006-08-15 Johan Rydberg <jrydberg@gnu.org>
37460
fe6b695a 37461 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 37462 compiles a file; using the -MD option.
37463 * conf/common.mk: Regenerate.
37464 * conf/i386-pc.mk: Likewise.
37465 * conf/i386-efi.mk: Likewise.
37466 * conf/powerpc-ieee1275.mk: Likewise.
37467 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 37468
1064790d 374692006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
37470
37471 Move the prototypes of grub_setjmp and grub_longjmp to
37472 cpu/setjmp.h, so that each architecture may specify different
37473 attributes.
f19dbdb7 37474
1064790d 37475 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
37476 (grub_longjmp): Likewise.
37477 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
37478 (grub_longjmp): Likewise.
37479 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
37480 (grub_longjmp): Likewise.
37481
37482 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
37483 [!GRUB_UTIL] (grub_longjmp): Removed.
37484
29dda3ed 374852006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
37486
37487 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
37488 "color!" method does not return any value.
37489
ad2a06ed 374902006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37491
37492 * include/grub/bitmap.h: New file.
37493
37494 * include/grub/i386/pc/vbeutil.h: Likewise.
37495
37496 * video/bitmap.c: Likewise.
37497
37498 * video/readers/tga.c: Likewise.
37499
37500 * video/i386/pc/vbeutil.c: Likewise.
37501
37502 * commands/videotest.c: Code cleanup and updated to reflect to new
37503 video API.
37504
37505 * term/gfxterm.c: Likewise.
37506
37507 * video/video.c: Likewise.
37508
37509 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
37510 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
37511 (bitmap_mod_SOURCES): New entry.
37512 (bitmap_mod_CFLAGS): Likewise.
37513 (bitmap_mod_LDFLAGS): Likewise.
37514 (tga_mod_SOURCES): Likewise.
37515 (tga_mod_CFLAGS): Likewise.
37516 (tga_mod_LDFLAGS): Likewise.
37517
37518 * include/grub/video.h (grub_video_blit_operators): New enum type.
37519 (grub_video_render_target): Changed as forward declaration and moved
37520 actual definition to be video driver specific.
37521 (grub_video_adapter.blit_bitmap): Added blitting operator.
37522 (grub_video_adapter.blit_render_target): Likewise.
37523 (grub_video_blit_bitmap): Likewise.
37524 (grub_video_blit_render_target): Likewise.
37525
37526 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
37527 driver specific render target definition.
37528 (grub_video_vbe_map_rgba): Added driver internal helper.
37529 (grub_video_vbe_unmap_color): Updated to use
37530 grub_video_i386_vbeblit_info.
37531 (grub_video_vbe_get_video_ptr): Likewise.
37532
37533 * include/grub/i386/pc/vbeblit.h
37534 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
37535 grub_video_i386_vbeblit_info.
37536 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37537 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37538 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37539 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37540 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37541 (grub_video_i386_vbeblit_index_index): Likewise.
37542 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
37543 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37544 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37545 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
37546 operator.
37547 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
37548 operator.
37549
37550 * video/i386/pc/vbeblit.c: Updated to reflect changes on
37551 include/grub/i386/pc/vbeblit.h.
37552
37553 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
37554 Updated to use grub_video_i386_vbeblit_info.
37555 (grub_video_i386_vbefill_R8G8B8): Likewise.
37556 (grub_video_i386_vbefill_index): Likewise.
37557 (grub_video_i386_vbefill): Added generic filler.
37558
37559 * video/i386/pc/vbefill.c: Updated to reflect changes on
37560 include/grub/i386/pc/vbefill.h.
37561
37562 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
37563 grub_video_i386_vbeblit_info.
37564 (grub_video_vbe_unmap_color): Likewise.
37565 (grub_video_vbe_blit_glyph): Likewise.
37566 (grub_video_vbe_scroll): Likewise.
37567 (grub_video_vbe_draw_pixel): Removed function.
37568 (grub_video_vbe_get_pixel): Likewise.
37569 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
37570 updated code to use it.
37571 (common_blitter): Added common blitter for render target and bitmap.
37572 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
37573 (grub_video_vbe_blit_render_target): Likewise.
37574
bc8c036d 375752006-07-30 Johan Rydberg <jrydberg@gnu.org>
37576
37577 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
37578 is in text mode if there is no console control protocol instance
37579 available.
37580
684a8eff 375812006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37582
37583 * include/grub/video.h: Code cleanup.
37584
37585 * include/grub/i386/pc/vbe.h: Likewise.
37586
37587 * video/i386/pc/vbe.c: Likewise.
37588
37589 * video/i386/pc/vbeblit.c: Likewise.
37590
37591 * video/i386/pc/vbefill.c: Likewise.
37592
37593 * video/video.c: Likewise. Also added more comments.
37594
5915059b 375952006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37596
37597 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
37598 (struct grub_biosdisk_dap): Likewise.
37599
37600 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
37601 linkage settings for all functions.
37602
90ce5d56 376032006-07-12 Marco Gerards <marco@gnu.org>
37604
37605 * configure.ac (--enable-mm-debug): Fix typo.
37606
37607 * genkernsyms.sh.in: Use proper quoting for `CC'.
37608
43e7f879 376092006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
37610
37611 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
37612 (normal_mod_ASFLAGS): Remove "-m32".
37613
4889bdec 376142006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
37615
37616 * util/misc.c: Include config.h.
37617 [!HAVE_MEMALIGN]: Do not include malloc.h.
37618 (grub_memalign): Use posix_memalign, if present. Then, use
37619 memalign, if present. Otherwise, emit an error.
37620
37621 * util/grub-emu.c: Do not include malloc.h.
37622
37623 * include/grub/util/misc.h: Include unistd.h. This is required for
37624 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
37625 D. Eades III <hde@foobar-qux.org>.
37626
37627 * configure.ac (AC_GNU_SOURCE): Added.
37628 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
37629 type.
37630
fd39d4da 376312006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
37632
37633 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
37634 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
37635
b786f3b5 376362006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
37637
37638 * include/grub/types.h (grub_host_addr_t): Rename to
37639 grub_target_addr_t.
37640 (grub_host_off_t): Rename to grub_target_off_t.
37641 (grub_host_size_t): Rename to grub_target_size_t.
37642 (grub_host_ssize_t): Rename to grub_target_ssize_t.
37643 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
37644
37645 * include/grub/kernel.h (struct grub_module_header): Change type
37646 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
37647 (grub_module_info): Likewise.
f19dbdb7 37648
051988bb 376492006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
37650
37651 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
37652 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
37653 Velazquez <jesus.velazquez@gmail.com>.
37654
deae281b 376552006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
37656
37657 Count partitions from 1 instead of 0 in the string representation
37658 of partitions. Still use 0-based internally.
f19dbdb7 37659
deae281b 37660 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
37661 (sun_partition_map_iterate): Use grub_partition_t instead of
37662 struct grub_partition *. Cast DESC->START_CYLINDER to
37663 grub_uint64_t after converting the endian.
37664 (sun_partition_map_probe): Subtract 1 for PARTNUM.
37665 (sun_partition_map_get_name): Add 1 to P->INDEX.
37666
37667 * partmap/pc.c (grub_partition_parse): Subtract 1 for
37668 PCDATA->DOS_PART.
37669 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
37670
37671 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
37672 zero instead of one.
37673 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
37674 (gpt_partition_map_get_name): Add 1 into P->INDEX.
37675
37676 * partmap/apple.c (apple_partition_map_iterate): Change the type
37677 of POS to unsigned.
37678 (apple_partition_map_probe): Subtract 1 for PARTNUM.
37679 (apple_partition_map_get_name): Add 1 into P->INDEX.
37680
37681 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
37682 of POS to unsigned.
37683 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
37684 calculate the offset of a partition.
37685 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
37686 (amiga_partition_map_get_name): Add 1 into P->INDEX.
37687
37688 * partmap/acorn.c (acorn_partition_map_find): Change the type of
37689 SECTOR to grub_disk_addr_t.
37690 (acorn_partition_map_iterate): Likewise.
37691 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
37692 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
37693 top.
37694 (acorn_partition_map_get_name): Add 1 into P->INDEX.
37695
37696 * kern/i386/pc/init.c (make_install_device): Add 1 into
37697 GRUB_INSTALL_DOS_PART.
37698
37699 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
37700 conditional.
37701
524a1e6a 377022006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
37703
37704 Clean up the code to support 64-bit addressing in disks and
37705 files. This change is not enough for filesystems yet.
f19dbdb7 37706
524a1e6a 37707 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
37708 type of "start" to grub_uint64_t.
37709 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
37710 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
37711 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
37712 convert addresses.
37713
37714 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
37715 to grub_disk_addr_t.
37716
37717 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
37718 string.
37719
37720 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37721
37722 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
37723 to char *.
37724
37725 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
37726
37727 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
37728
37729 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
37730
37731 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
37732 to grub_off_t, to detect an error from grub_file_seek.
37733 (grub_multiboot_load_elf32): Likewise.
37734
37735 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
37736 maximum unsigned long value when an overflow is detected.
37737 (grub_strtoull): New function.
37738 (grub_divmod64): Likewise.
37739 (grub_lltoa): use grub_divmod64.
37740
37741 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
37742 grub_disk_addr_t.
37743 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
37744 the pointer to next character. Use grub_strtoull instead of
37745 grub_strtoul.
37746 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
37747 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
37748 respectively.
37749
fe6b695a 37750 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 37751 return value is signed.
37752 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
37753 test if OFFSET is less than zero, as OFFSET is unsigned now.
37754
37755 * kern/disk.c (struct grub_disk_cache): Change the type of
37756 "sector" to grub_disk_addr_t.
37757 (grub_disk_cache_get_index): Change the type of SECTOR to
37758 grub_disk_addr_t. Calculate the hash with SECTOR casted to
37759 unsigned after shifting.
37760 (grub_disk_cache_invalidate): Change the type of SECTOR to
37761 grub_disk_addr_t.
37762 (grub_disk_cache_unlock): Likewise.
37763 (grub_disk_cache_store): Likewise.
37764 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
37765 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
37766 grub_disk_addr_t and grub_uint64_t, respectively.
37767 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
37768 body, as the value of OFFSET is tweaked by
37769 grub_disk_check_range. Change the types of START_SECTOR, LEN and
37770 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
37771 respectively.
37772 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
37773 body, as the value of OFFSET is tweaked by
37774 grub_disk_check_range. Change the types of LEN and N to
37775 grub_size_t.
37776
37777 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
37778 and "saved_offset" to grub_off_t.
37779 (test_header): Cast BUF to char *.
37780 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
37781 to char *.
37782 (grub_gzio_read): Change the types of OFFSET and SIZE to
37783 grub_off_t and grub_size_t, respectively.
37784
37785 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
37786 Removed.
37787 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
37788 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
37789 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
37790 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
37791 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
37792
37793 * include/grub/types.h (grub_off_t): Unconditionally set to
37794 grub_uint64_t.
37795 (grub_disk_addr_t): Changed to grub_uint64_t.
37796
37797 * include/grub/partition.h (struct grub_partition): Change the
37798 types of "start", "len" and "offset" to grub_disk_addr_t,
37799 grub_uint64_t and grub_disk_addr_t, respectively.
37800 (grub_partition_get_start): Return grub_disk_addr_t.
37801 (grub_partition_get_len): Return grub_uint64_t.
37802
37803 * include/grub/misc.h (grub_strtoull): New prototype.
37804 (grub_divmod64): Likewise.
37805
37806 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
37807 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
37808 grub_off_t, respectively.
37809 All callers and references changed.
37810
37811 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
37812 grub_size_t in "read".
37813 All callers and references changed.
37814
37815 * include/grub/file.h (struct grub_file): Change the types of
37816 "offset" and "size" to grub_off_t and grub_off_t,
37817 respectively. Change the type of SECTOR to grub_disk_addr_t in
37818 "read_hook".
37819 (grub_file_read): Change the type of LEN to grub_size_t.
37820 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
37821 grub_off_t.
37822 (grub_file_size): Return grub_off_t.
37823 (grub_file_tell): Likewise.
37824 All callers and references changed.
37825
37826 * include/grub/disk.h (struct grub_disk_dev): Change the types of
37827 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
37828 "write".
37829 (struct grub_disk): Change the type of "total_sectors" to
37830 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 37831 "read_hook".
524a1e6a 37832 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
37833 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
37834 (grub_disk_write): Likewise.
37835 All callers and references changed.
37836
37837 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
37838 char * for grub_strncmp to silence gcc.
37839 (grub_iso9660_mount): Likewise.
37840 (grub_iso9660_mount): Likewise.
37841 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
37842 return statement.
37843 (grub_iso9660_iterate_dir): Likewise.
37844 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
37845
37846 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
37847 LEN to grub_disk_addr_t and grub_size_t, respectively.
37848
37849 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
37850
37851 * fs/jfs.c (grub_jfs_read_file): Likewise.
37852
37853 * fs/minix.c (grub_jfs_read_file): Likewise.
37854
37855 * fs/sfs.c (grub_jfs_read_file): Likewise.
37856
37857 * fs/ufs.c (grub_jfs_read_file): Likewise.
37858
37859 * fs/xfs.c (grub_jfs_read_file): Likewise.
37860
37861 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
37862 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
37863 respectively.
37864
37865 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
37866 BLKNR to -1 instead of returning GRUB_ERRNO.
37867 (grub_ext2_read_file): Change the types of SECTOR and
37868 LEN to grub_disk_addr_t and grub_size_t, respectively.
37869
37870 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
37871 LEN to grub_disk_addr_t and grub_size_t, respectively.
37872
37873 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
37874 grub_file_read.
37875
37876 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
37877 string. Do not cast SECTOR explicitly.
37878
37879 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
37880 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
37881 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
37882 grub_disk_addr_t and grub_size_t, respectively. If the sector is
37883 over 2TB and LBA mode is not supported, raise an error.
37884 (get_safe_sectors): New function.
37885 (grub_biosdisk_read): Use get_safe_sectors.
37886 (grub_biosdisk_write): Likewise.
37887
37888 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
37889 (grub_efidisk_write): Likewise.
37890
37891 * disk/loopback.c (delete_loopback): Cosmetic changes.
37892 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
37893 correctly.
37894 (grub_loopback_open): Likewise.
37895 (grub_loopback_read): Likewise. Also, change the type of POS to
37896 grub_off_t, and fix the usage of grub_memset.
37897
37898 * commands/i386/pc/play.c: Include grub/machine/time.h.
37899
37900 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
37901 print FILE->SIZE.
37902
37903 * commands/configfile.c: Include grub/env.h.
37904
37905 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
37906 GRUB_ERRNO directly instead. Change the type of POS to
37907 grub_off_t. Follow the coding standard.
37908
37909 * commands/blocklist.c: Include grub/partition.h.
37910 (grub_cmd_blocklist): Return an error if the underlying device is
37911 not a disk. Take the starting sector of a partition into account,
37912 if a partition is used.
37913
37914 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
37915 a length field.
37916 (lba_mode): Support 64-bit addresses.
37917 (chs_mode): Likewise.
37918 (copy_buffer): Adapted to the new offsets of a length field and a
37919 segment field.
37920 (blocklist_default_start): Allocate 64-bit space.
37921
37922 * boot/i386/pc/boot.S (force_lba): Removed.
37923 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 37924 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 37925 space.
37926 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
37927 is useless.
37928 (lba_mode): Refactored to support a 64-bit address. More size
37929 optimization.
37930 (setup_sectors): Likewise.
37931
53af98ad 379322006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
37933
37934 * DISTLIST: Added include/grub/i386/linux.h. Removed
37935 include/grub/i386/pc/linux.h
37936
37937 * configure.ac (AC_INIT): Bumped to 1.94.
37938
37939 * config.guess: Updated from gnulib.
37940 * config.sub: Likewise.
37941 * install-sh: Likewise.
37942 * mkinstalldirs: Likewise.
37943
b4c1940a 379442006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
37945
37946 * conf/common.rmk (grub_modules_init.lst): Depended on
37947 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
37948 MODSRCFILES.
37949
37950 * genmk.rb (PModule::rule): Reverted the previous change.
37951
cfca1cfd 379522006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
37953
37954 * conf/common.rmk (grub_modules_init.lst): Depends on
37955 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
37956 that the target does not exist before producing.
37957 (grub_modules_init.h): Remove the target before generating.
37958 (grub_emu_init.c): Likewise.
37959
37960 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
37961
aa6d7826 379622006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
37963
37964 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
37965 for the target-specific tests. Make sure that we also have the
37966 up-to-date target variables for those tests.
37967
26c607b9 379682006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
37969
37970 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
37971 (PModule::rule): Likewise.
37972
0162321a 379732006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
37974
37975 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
37976 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
37977 target-specific flags should be prefixed.
37978 (PModule::rule): Likewise.
37979
6c826348 379802006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
37981
37982 * configure.ac (CMP): Check if cmp is available explicitly.
37983
b977bf01 379842006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
37985
37986 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
37987 (target_cpu): New variable.
37988 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 37989
b977bf01 37990 * util/i386/pc/grub-install.in (host_cpu): Removed.
37991 (target_cpu): New variable.
37992 (pkglibdir): Use target_cpu instead of host_cpu.
37993
37994 * util/genmoddep.c: Removed.
f19dbdb7 37995
b977bf01 37996 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
37997 instead of GRUB_HOST_SIZEOF_VOID_P.
37998 * kern/dl.c: Likewise.
37999
38000 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
38001 ...
38002 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38003 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38004 (GRUB_TARGET_SIZEOF_LONG): ... this.
38005 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38006 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38007 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38008 to ...
38009 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38010 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38011 (GRUB_TARGET_SIZEOF_LONG): ... this.
38012 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38013 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38014 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38015 to ...
38016 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38017 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38018 (GRUB_TARGET_SIZEOF_LONG): ... this.
38019 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38020 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38021
38022 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
38023 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
38024 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
38025 instead of GRUB_HOST_SIZEOF_LONG.
38026 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
38027 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
38028 GRUB_CPU_WORDS_BIGENDIAN.
38029 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
38030 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
38031 grub_host_ssize_t.
38032
38033 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
38034 (genmoddep_SOURCES): Likewise.
38035 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
38036 (genmoddep_SOURCES): Likewise.
38037 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
38038 (genmoddep_SOURCES): Likewise.
38039 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
38040 Likewise.
38041 (genmoddep_SOURCES): Likewise.
38042
38043 * genmoddep.awk: New file.
38044
38045 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
38046 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
38047 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
38048 (PModule::rule): Likewise.
38049 (Program::rule): Likewise.
38050 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
38051 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
38052 respectively.
38053
38054 * configure.ac: Rewritten intensively to use host and target
38055 instead of build and host, respectively.
38056
38057 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
38058 (host_cpu): Removed.
38059 (target_cpu): New variable.
38060 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
38061 (BUILD_CC): Removed.
38062 (BUILD_CFLAGS): Likewise.
38063 (BUILD_CPPFLAGS): Likewise.
38064 (TARGET_CC): New variable.
38065 (TARGET_CFLAGS): Likewise.
38066 (TARGET_CPPFLAGS): Likewise.
38067 (TARGET_LDFLAGS): Likewise.
38068 (AWK): Likewise.
38069 (include): Use target_cpu instead of host_cpu.
38070 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 38071
b977bf01 38072 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
38073
f09771a1 380742006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
38075
38076 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
38077 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
38078 field 'false' to 'exec_on_false'.
38079 (grub_script_create_cmdif): Renamed argument names to reflect above
38080 changes.
38081
38082 * normal/execute.c (grub_script_execute_cmdif): Likewise.
38083
38084 * normal/script.c (grub_script_create_cmdif): Likewise.
38085
118f4fb3 380862006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
38087
38088 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
38089 top.
38090 (grub_hfsplus_btree_recptr): Likewise.
38091 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
38092 FILEBLOCK both to pass a block number and store next block
38093 number.
38094 (grub_hfsplus_read_block): Rewritten heavily to support an extent
38095 overflow file correctly. Specify errors appropriately, because
38096 fshelp expects that GRUB_ERRNO is set when fails. Reuse
38097 grub_hfsplus_btree_recptr to get the pointer to a found key.
38098 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
38099 is found.
38100
38101 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
38102 linux.mod.
38103 (_linux_mod_SOURCES): New variable.
38104 (_linux_mod_CFLAGS): Likewise.
38105 (_linux_mod_LDFLAGS): Likewise.
38106 (linux_mod_SOURCES): Likewise.
38107 (linux_mod_CFLAGS): Likewise.
38108 (linux_mod_LDFLAGS): Likewise.
38109
38110 * DISTLIST: Added loader/i386/efi/linux.c,
38111 loader/i386/efi/linux_normal.c and
38112 include/grub/i386/efi/loader.h.
38113
38114 * loader/i386/efi/linux.c: New file.
38115 * loader/i386/efi/linux_normal.c: Likewise.
38116 * include/grub/i386/efi/loader.h: Likewise.
38117
89a7d726 381182006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
38119
38120 * commands/blocklist.c: New file.
38121
38122 * DISTLIST: Added commands/blocklist.c.
38123
38124 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 38125 color for the background, and a darker color for the foreground.
89a7d726 38126 (grub_console_checkkey): Return READ_KEY.
38127 (grub_console_cls): Set the background to
38128 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
38129
38130 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
38131
38132 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
38133 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
38134
38135 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
38136 prototype.
38137
38138 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
38139 BG. The spec is wrong again.
38140
38141 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
38142 prototype.
38143 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
38144
38145 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38146 commands/blocklist.c.
38147 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 38148
89a7d726 38149 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
38150 (blocklist_mod_SOURCES): New variable.
38151 (blocklist_mod_CFLAGS): Likewise.
38152 (blocklist_mod_LDFLAGS): Likewise.
38153
75c8f258 381542006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
38155
38156 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
38157 duplication.
38158 (lba_mode): Use %eax more intensively to reduce the code size.
38159
da2eb181 381602006-05-20 Marco Gerards <marco@gnu.org>
38161
38162 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
38163
38164 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
38165 for `menuentry'.
38166 (script): Accept leading newlines.
38167 (newlines): New rule to describe 0 or more newlines.
38168 (commands): Accept `command' with trailing newline. Fixed the
38169 order in which arguments were passed to `grub_script_add_cmd'.
38170 Accept commands separated by newlines.
38171 (function): Changed to accept newlines.
38172 (menuentry) Rewritten.
38173
38174 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
38175 front of the list, instead of to the end.
38176
577b4050 381772006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
38178
38179 * util/i386/pc/grub-install.in (bindir): New variable.
38180 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
38181 Shaver <lbgwjl@gmail.com>.
38182
0d6e1189 381832006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
38184
38185 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
38186 grub/machine/linux.h
38187 * loader/i386/pc/linux.c: Likewise.
38188
38189 * include/grub/i386/pc/linux.h: Moved to ...
38190 * include/grub/i386/linux.h: ... here.
38191
38192 * include/grub/i386/linux.h (struct linux_kernel_params): New
38193 struct.
f19dbdb7 38194
31b86e9f 381952006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
38196
38197 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
38198 checking.
38199 (grub_video_vbe_blit_glyph): Likewise.
38200 (grub_video_vbe_blit_bitmap): Likewise.
38201 (grub_video_vbe_blit_render_target): Likewise.
38202
83b984de 382032006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
38204
38205 * configure.ac (--with-platform): Properly quote the square
38206 brackets.
38207
5f0413bd 382082006-05-08 Marco Gerards <marco@gnu.org>
38209
38210 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
38211 this...
38212 (kernel_elf_HEADERS): ...to this. Updated all users.
38213 (grubof_symlist.c): Renamed from this...
38214 (kernel_elf_symlist.c): ...to this. Updated all users.
38215 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38216 (grubof_SOURCES): Renamed from this...
38217 (kernel_elf_SOURCES): ...to this.
38218 (grubof_HEADERS): Renamed from this...
38219 (kernel_elf_HEADERS): ...to this.
38220 (grubof_CFLAGS): Renamed from this...
38221 (kernel_elf_CFLAGS): ...to this.
38222 (grubof_ASFLAGS): Renamed from this...
38223 (kernel_elf_ASFLAGS): ...to this.
38224 (grubof_LDFLAGS): Renamed from this...
38225 (kernel_elf_LDFLAGS): ...to this.
38226
38227 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
38228 this...
38229 (kernel_elf_HEADERS): ...to this. Updated all users.
38230 (grubof_symlist.c): Renamed from this...
38231 (kernel_elf_symlist.c): ...to this. Updated all users.
38232 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38233 (grubof_SOURCES): Renamed from this...
38234 (kernel_elf_SOURCES): ...to this.
38235 (grubof_HEADERS): Renamed from this...
38236 (kernel_elf_HEADERS): ...to this.
38237 (grubof_CFLAGS): Renamed from this...
38238 (kernel_elf_CFLAGS): ...to this.
38239 (grubof_ASFLAGS): Renamed from this...
38240 (kernel_elf_ASFLAGS): ...to this.
38241 (grubof_LDFLAGS): Renamed from this...
38242 (kernel_elf_LDFLAGS): ...to this.
38243
38244 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
38245 `kernel.elf' instead of `grubof'.
38246
05568c2e 382472006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
38248
38249 Add --with-platform to configure. Use pkglibdir instead of
38250 pkgdatadir. This is reported by Roger Leigh.
38251
38252 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
38253 (host_vendor): Likewise.
38254 (host_os): Likewise.
38255 (pkgdatadir): Likewise.
38256 (platform): New variable.
38257 (pkglibdir): Likewise.
38258 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 38259
05568c2e 38260 * util/i386/pc/grub-install.in (datadir): Removed.
38261 (host_vendor): Likewise.
38262 (host_os): Likewise.
38263 (pkgdatadir): Likewise.
38264 (platform): New variable.
38265 (pkglibdir): Likewise.
38266 Use PKGLIBDIR instead of PKGDATADIR.
38267
38268 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
38269 instead of GRUB_DATADIR.
38270 (main): Likewise.
38271 * util/i386/pc/grub-mkimage.c (usage): Likewise.
38272 (main): Likewise.
38273 * util/i386/efi/grub-mkimage.c (usage): Likewise.
38274 (main): Likewise.
38275
38276 * configure.ac (--with-platform): New option.
38277 Use PLATFORM instead of HOST_VENDOR to specify a platform.
38278
38279 * Makefile.in: Include a makefile based on PLATFORM instead of
38280 HOST_VENDOR.
38281 (pkgdatadir): Not appended by the machine type.
38282 (pkglibdir): Appended by the machine type.
38283 (host_vendor): Removed.
38284 (platform): New variable.
38285 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
38286 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
38287 (uninstall): Likewise.
38288
4e93851c 382892006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
38290
38291 Use the environment context in the menu. Remove the commands
38292 "default" and "timeout", and use variables instead.
f19dbdb7 38293
4e93851c 38294 * normal/menu.c: Include grub/env.h.
38295 (print_entry): Cast TITLE to silence gcc.
38296 (get_timeout): New function.
38297 (set_timeout): Likewise.
38298 (get_entry_number): Likewise.
38299 (run_menu): Use a default entry, a fallback entry and a timeout
38300 in the environment variables "default", "fallback" and
38301 "timeout". Also, tweak the default entry if it is not within the
38302 current menu entries.
38303 (grub_menu_run): Use a fallback entry in the environment variable
38304 "fallback".
38305
38306 * normal/main.c (read_config_file): Do not initialize
38307 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
38308 NEWMENU->TIMEOUT.
38309 (grub_normal_execute): Use a data slot to store the menu.
38310
38311 * include/grub/normal.h (struct grub_menu): Removed default_entry,
38312 fallback_entry and timeout.
38313 (struct grub_menu_list): Removed.
38314 (grub_menu_list_t): Likewise.
38315 (struct grub_context): Likewise.
38316 (grub_context_t): Likewise.
38317 (grub_context_get): Likewise.
38318 (grub_context_get_current_menu): Likewise.
38319 (grub_context_push_menu): Likewise.
38320 (grub_context_pop_menu): Likewise.
38321 (grub_default_init): Likewise.
38322 (grub_default_fini): Likewise.
38323 (grub_timeout_init): Likewise.
38324 (grub_timeout_fini): Likewise.
38325
38326 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
38327 and timeout.mod.
38328 (normal_mod_SOURCES): Removed normal/context.c.
38329
38330 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
38331 commands/default.c, commands/timeout.c and normal/context.c.
38332 (normal_mod_SOURCES): Removed normal/context.c.
38333
38334 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
38335 commands/timeout.c and normal/context.c.
38336 (normal_mod_SOURCES): Removed normal/context.c.
38337
38338 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
38339 commands/default.c, commands/timeout.c and normal/context.c.
38340 (normal_mod_SOURCES): Removed normal/context.c.
38341
38342 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
38343 timeout.mod.
38344 (default_mod_SOURCES): Removed.
38345 (default_mod_CFLAGS): Likewise.
38346 (default_mod_LDFLAGS): Likewise.
38347 (timeout_mod_SOURCES): Removed.
38348 (timeout_mod_CFLAGS): Likewise.
38349 (timeout_mod_LDFLAGS): Likewise.
38350
38351 * DISTLIST: Removed commands/default.c, commands/timeout.c and
38352 normal/context.c.
38353
38354 * commands/default.c: Removed.
38355 * commands/timeout.c: Likewise.
38356 * normal/context.c: Likewise.
38357
1eb9cc1d 383582006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
38359
38360 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
38361
385bd9c1 383622006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
38363
38364 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
38365 "next" to "prev" for readability.
38366 (struct grub_env_sorted_var): New struct.
38367 (grub_env_context): Renamed to ...
38368 (initial_context): ... this.
38369 (grub_env_var_context): Renamed to ...
38370 (current_context): ... this.
38371 (grub_env_find): Look only at CURRENT_CONTEXT.
38372 (grub_env_context_open): Rewritten to copy exported variables from
38373 previous context.
38374 (grub_env_context_close): Rewritten according to the new
38375 scheme. Also, add an assertion to prevent the initial context from
38376 removed.
38377 (grub_env_insert): Removed the code for the sorted list.
38378 (grub_env_remove): Likewise.
38379 (grub_env_export): Simply mark the variable with
38380 GRUB_ENV_VAR_GLOBAL.
38381 (grub_env_set): A cosmetic change for naming consistency.
38382 (grub_env_get): Likewise.
38383 (grub_env_unset): Likewise.
38384 (grub_env_iterate): Rewritten to sort variables within this
38385 function.
38386 (grub_register_variable_hook): Fixed for naming consistency. Call
38387 grub_env_find again, only if NAME is not found at the first time.
38388 (mangle_data_slot_name): New function.
38389 (grub_env_set_data_slot): Likewise.
38390 (grub_env_get_data_slot): Likewise.
38391 (grub_env_unset_data_slot): Likewise.
38392
38393 * include/grub/env.h (grub_env_var_type): New enum.
38394 (GRUB_ENV_VAR_LOCAL): New constant.
38395 (GRUB_ENV_VAR_GLOBAL): Likewise.
38396 (GRUB_ENV_VAR_DATA): Likewise.
38397 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
38398 "type".
38399 (grub_env_set): Replace VAR with NAME for consistency.
38400 (grub_register_variable_hook): Likewise.
38401 (grub_env_export): Specify the name of the argument.
38402 (grub_env_set_data_slot): New prototype.
38403 (grub_env_get_data_slot): Likewise.
38404 (grub_env_unset_data_slot): Likewise.
38405
7f362539 384062006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
38407
38408 Extend the loader so that GRUB can accept a loader which comes
38409 back to GRUB when a loaded image exits. Also, this change adds
38410 support for a chainloader on EFI.
f19dbdb7 38411
7f362539 38412 * term/efi/console.c: Include grub/misc.h.
38413 (grub_console_checkkey): Display a scan code on the top for
38414 debugging. This will be removed once the EFI port gets stable.
38415 Correct the scan code mapping.
38416
38417 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
38418 allocate memory from larger regions, in order to reduce the number
38419 of allocated regions. Otherwise, the MacOSX loader panics.
38420 (filter_memory_map): Avoid less than 1MB for compatibility with
38421 other loaders.
38422 (add_memory_regions): Allocate from the tail of a region, if
38423 possible, to avoid allocating a region near to 1MB, for the MacOSX
38424 loader.
38425
38426 * kern/efi/init.c (grub_efi_set_prefix): Specify
38427 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
38428
38429 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
38430 argument IMAGE_HANDLE and specify it to get a loaded image.
38431 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
38432 grub_efi_get_loaded_image.
fe6b695a 38433 (grub_efi_get_filename): Divide the length by the size of
7f362539 38434 grub_efi_char16_t.
38435 (grub_efi_get_device_path): New function.
38436 (grub_efi_print_device_path): Print End Device Path nodes. Divide
38437 the length by the size of grub_efi_char16_t for a file path device
38438 path node.
38439
38440 * kern/loader.c (grub_loader_noreturn): New variable.
38441 (grub_loader_set): Accept a new argument NORETURN. Set
38442 GRUB_LOADER_NORETURN to NORETURN.
38443 All callers changed.
38444 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
38445 grub_machine_fini.
38446
38447 * include/grub/efi/efi.h (grub_efi_get_device_path): New
38448 prototype.
38449 (grub_efi_get_loaded_image): Take an argument to specify an image
38450 handle.
38451
38452 * include/grub/loader.h (grub_loader_set): Added one more argument
38453 NORETURN.
38454
38455 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
38456 instead of grub_efi_open_protocol.
38457 (grub_efidisk_get_device_name): Likewise.
38458 (grub_efidisk_close): Print a newline.
38459 (grub_efidisk_get_device_handle): Fixed to use
38460 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
38461 GRUB_EFI_DEVICE_PATH_TYPE.
38462
38463 * disk/efi/efidisk.c (device_path_guid): Moved to ...
38464 * kern/efi/efi.c (device_path_guid): ... here.
38465
38466 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
38467 chain.mod.
38468 (kernel_mod_HEADERS): Added efi/disk.h.
38469 (_chain_mod_SOURCES): New variable.
38470 (_chain_mod_CFLAGS): Likewise.
38471 (_chain_mod_LDFLAGS): Likewise.
38472 (chain_mod_SOURCES): Likewise.
38473 (chain_mod_CFLAGS): Likewise.
38474 (chain_mod_LDFLAGS): Likewise.
38475
38476 * DISTLIST: Added include/grub/efi/chainloader.h,
38477 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
38478
38479 * include/grub/efi/chainloader.h: New file.
38480 * loader/efi/chainloader.c: Likewise.
38481 * loader/efi/chainloader_normal.c: Likewise.
38482
c0111d6e 384832006-04-30 Marco Gerards <marco@gnu.org>
38484
38485 * commands/configfile.c (grub_cmd_source): New function.
38486 (GRUB_MOD_INIT): Register the commands `source' and `.'.
38487 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
38488
df5341da 384892006-04-30 Marco Gerards <marco@gnu.org>
38490
38491 * normal/execute.c (grub_script_execute_cmd): Change the return
38492 type to `grub_err_t'. Correctly return the error.
38493 (grub_script_execute_cmdline): In case a command line is not a
38494 command or a function, try to interpret it as an assignment.
38495
f85934bd 384962006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
38497
38498 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
38499 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
38500 skip a node whose name is obviously invalid as UTF-16,
38501 i.e. contains a NUL character. Stop the iteration when the last
38502 directory entry is found. Instead of using the return value of
38503 grub_hfsplus_btree_iterate_node, store the value in RET and use
38504 it, because the iterator can be stopped by the last directory
38505 entry.
38506
8f8a2cf8 385072006-04-30 Marco Gerards <marco@gnu.org>
38508
38509 * include/grub/env.h (grub_env_export): New prototype. Reported
38510 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
38511
a27e84ce 385122006-04-30 Marco Gerards <marco@gnu.org>
38513
38514 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
38515 size of the extents in a catalog file record.
38516
eaef0553 385172006-04-29 Marco Gerards <marco@gnu.org>
38518
38519 * commands/configfile.c (grub_cmd_configfile): Execute the
38520 configfile within its own context.
38521
38522 * include/grub/env.h (grub_env_context_open): New prototype.
38523 (grub_env_context_close): Likewise.
38524
38525 * kern/env.c (grub_env): Removed.
38526 (grub_env_sorted): Likewise.
38527 (grub_env_context): New variable.
38528 (grub_env_var_context): Likewise.
38529 (grub_env_find): Search both the active context and the global
38530 context.
38531 (grub_env_context_open): New function.
38532 (grub_env_context_close): Likewise.
38533 (grub_env_insert): Likewise.
38534 (grub_env_remove): Likewise.
38535 (grub_env_export): Likewise.
38536 (grub_env_set): Changed to use helper functions to avoid code
38537 duplication.
38538 (grub_env_iterate): Rewritten so both the current context and the
38539 global context are being used.
38540
38541 * normal/command.c (export_command): New function.
38542 (grub_command_init): Register the `export' function.
38543
7b455f4d 385442006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
38545
38546 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
38547 explicitly to suppress gcc's warnings.
38548 * fs/fat.c (grub_fat_find_dir): Likewise.
38549 (grub_fat_label): Likewise.
38550 * fs/xfs.c (grub_xfs_read_inode): Likewise.
38551 (grub_xfs_mount): Likewise.
38552 (grub_xfs_label): Likewise.
38553 * fs/affs.c (grub_affs_mount): Likewise.
38554 (grub_affs_label): Likewise.
38555 (grub_affs_iterate_dir): Likewise.
38556 * fs/sfs.c (grub_sfs_mount): Likewise.
38557 (grub_sfs_iterate_dir): Likewise.
38558 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
38559 * fs/hfs.c (grub_hfs_mount): Likewise.
38560 (grub_hfs_cmp_catkeys): Likewise.
38561 (grub_hfs_find_dir): Likewise.
38562 (grub_hfs_dir): Likewise.
38563 (grub_hfs_label): Likewise.
38564 * fs/jfs.c (grub_jfs_mount): Likewise.
38565 (grub_jfs_opendir): Likewise.
38566 (grub_jfs_getent): Likewise.
38567 (grub_jfs_lookup_symlink): Likewise.
38568 (grub_jfs_label): Likewise.
38569 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
38570 (grub_hfsplus_iterate_dir): Likewise.
38571 (grub_hfsplus_btree_iterate_node): Made static.
38572
38573 * util/grub-emu.c (prefix): New variable.
38574 (grub_machine_set_prefix): New function.
38575 (main): Do not set the environment variable "prefix" here. Only
38576 set PREFIX, which is used later by grub_machine_set_prefix.
38577
38578 * include/grub/video.h: Do not include grub/symbol.h.
38579 (grub_video_register): Not exported. This symbol is not defined in
38580 the kernel.
38581 (grub_video_unregister): Likewise.
38582 (grub_video_iterate): Likewise.
38583 (grub_video_setup): Likewise.
38584 (grub_video_restore): Likewise.
38585 (grub_video_get_info): Likewise.
38586 (grub_video_get_blit_format): Likewise.
38587 (grub_video_set_palette): Likewise.
38588 (grub_video_get_palette): Likewise.
38589 (grub_video_set_viewport): Likewise.
38590 (grub_video_get_viewport): Likewise.
38591 (grub_video_map_color): Likewise.
38592 (grub_video_map_rgb): Likewise.
38593 (grub_video_map_rgba): Likewise.
38594 (grub_video_fill_rect): Likewise.
38595 (grub_video_blit_glyph): Likewise.
38596 (grub_video_blit_bitmap): Likewise.
38597 (grub_video_blit_render_target): Likewise.
38598 (grub_video_scroll): Likewise.
38599 (grub_video_swap_buffers): Likewise.
38600 (grub_video_create_render_target): Likewise.
38601 (grub_video_delete_render_target): Likewise.
38602 (grub_video_set_active_render_target): Likewise.
38603
38604 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
38605 Undefined.
38606 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
38607
38608 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
38609 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38610 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38611 instead of $(srcdir)/genkernsyms.sh.
38612
38613 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
38614 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38615 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38616 instead of $(srcdir)/genkernsyms.sh.
38617
38618 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
38619 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38620 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38621 instead of $(srcdir)/genkernsyms.sh.
38622
38623 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
38624 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38625 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38626 instead of $(srcdir)/genkernsyms.sh.
38627
38628 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
38629 genkernsyms.sh.
38630
38631 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
38632 genkernsyms.sh.
38633 (gensymlist.sh): New target.
38634 (genkernsyms.sh): Likewise.
38635
38636 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
38637 genkernsyms.sh.in and gensymlist.sh.in.
38638
38639 * genkernsyms.sh: Removed.
38640 * gensymlist.sh: Likewise.
f19dbdb7 38641
7b455f4d 38642 * genkernsyms.sh.in: New file.
38643 * gensymlist.sh.in: Likewise.
38644
1885bb27 386452006-04-25 Hollis Blanchard <hollis@penguinppc.org>
38646
38647 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
38648 clobber "prefix", since we may have already set it manually.
38649
71538dff 386502006-04-25 Hollis Blanchard <hollis@penguinppc.org>
38651
38652 * kern/misc.c (abort): New alias for grub_abort.
38653
2965c7cc 386542006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
38655
38656 A new machine-specific function "grub_machine_set_prefix" is
38657 defined. This is called after loading modules, so that a prefix
38658 initialization can use modules. Also, this change adds an
38659 intensive debugging feature for the memory manager via the
38660 configure option "--enable-mm-debug".
f19dbdb7 38661
2965c7cc 38662 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
38663 PART.LEN.
38664
38665 * kern/sparc64/ieee1275/init.c (abort): Removed.
38666 (grub_stop): Likewise.
38667 (grub_exit): New function.
38668 (grub_set_prefix): Renamed to ...
38669 (grub_machine_set_prefix): ... this.
38670 (grub_machine_init): Do not call grub_set_prefix.
38671
38672 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
38673 (grub_machine_set_prefix): ... this.
38674 (grub_machine_init): Do not call grub_set_prefix.
38675
38676 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
38677 (grub_machine_init): Do not set the prefix here.
38678
38679 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
38680
38681 * kern/efi/init.c: Include grub/mm.h.
38682 (grub_efi_set_prefix): New function.
38683
38684 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
38685 (grub_efi_get_filename): New function.
38686 (grub_print_device_path): Renamed to ...
38687 (grub_efi_print_device_path): ... this.
38688
38689 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
38690 [MM_DEBUG] (grub_realloc): Likewise.
38691 [MM_DEBUG] (grub_free): Likewise.
38692 [MM_DEBUG] (grub_memalign): Likewise.
38693 [MM_DEBUG] (grub_mm_debug): New variable.
38694 [MM_DEBUG] (grub_debug_malloc): New function.
38695 [MM_DEBUG] (grub_debug_free): New function.
38696 [MM_DEBUG] (grub_debug_realloc): New function.
38697 [MM_DEBUG] (grub_debug_memalign): New function.
38698
38699 * kern/misc.c (grub_abort): Print a newline to distinguish
38700 the message.
38701
38702 * kern/main.c (grub_main): Call grub_machine_set_prefix and
38703 grub_set_root_dev after loading modules. This is necessary when
38704 setting a prefix depends on modules.
38705
38706 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
38707 (grub_efi_print_device_path): ... this.
38708 (grub_efi_get_filename): New prototype.
38709 (grub_efi_set_prefix): Likewise.
38710
38711 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
38712 and grub/disk.h.
38713 (grub_efidisk_get_device_handle): New prototype.
38714 (grub_efidisk_get_device_name): Likewise.
38715
38716 * include/grub/mm.h: Include config.h.
38717 (MM_DEBUG): Removed.
38718 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
38719 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
38720 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
38721 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
38722 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
38723 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
38724 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
38725 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
38726 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
38727
38728 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
38729
38730 * disk/efi/efidisk.c: Include grub/partition.h.
38731 (iterate_child_devices): New function.
38732 (add_device): First, compare only last device path nodes, so that
38733 devices are sorted by the types.
38734 (grub_efidisk_get_device_handle): New function.
38735 (grub_efidisk_get_device_name): Likewise.
38736
38737 * configure.ac (--enable-mm-debug): New option to enable the
38738 memory manager debugging feature. This makes the binary much
38739 bigger, so is disabled by default.
38740
9cacaa17 387412006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
38742
38743 Use grub_abort instead of grub_stop, and grub_exit must be
38744 define in each architecture now. Also, this change adds support
38745 for EFI disks.
f19dbdb7 38746
9cacaa17 38747 * util/i386/pc/grub-probefs.c: Include grub/term.h.
38748 (grub_getkey): New function.
38749 (grub_term_get_current): Likewise.
38750
38751 * util/i386/pc/grub-setup.c: Include grub/term.h.
38752 (grub_getkey): New function.
38753 (grub_term_get_current): Likewise.
38754
38755 * util/misc.c (grub_stop): Renamed to ...
38756 (grub_exit): ... this.
38757
38758 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
38759 (grub_exit): ... this.
38760 (grub_machine_init): Use grub_abort instead of abort.
38761 (grub_stop): Removed.
38762
38763 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
38764 abort.
38765
38766 * kern/i386/pc/startup.S (grub_exit): New function.
38767 (cold_reboot): New label.
38768
38769 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
38770 (grub_efi_init): Call grub_efidisk_init.
38771 (grub_efi_fini): Call grub_efidisk_fini.
38772
38773 * kern/efi/efi.c: Include grub/mm.h.
38774 (grub_efi_console_control_guid): Renamed to ...
38775 (console_control_guid): ... this.
38776 (grub_efi_loaded_image_guid): Renamed to ...
38777 (loaded_image_guid): ... this.
38778 (grub_efi_locate_handle): New function.
38779 (grub_efi_open_protocol): Likewise.
38780 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
38781 GRUB_EFI_CONSOLE_CONTROL_GUID.
38782 (grub_efi_exit): Removed.
38783 (grub_stop): Likewise.
38784 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
38785 (grub_exit): New function.
38786 (grub_print_device_path): Likewise.
38787
38788 * kern/rescue.c (grub_rescue_cmd_exit): New function.
38789 (grub_enter_rescue_mode): Register "exit".
38790
38791 * kern/misc.c (grub_real_dprintf): A cosmetic change.
38792 (grub_abort): New function.
38793
38794 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
38795
38796 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
38797
38798 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
38799
38800 * include/grub/efi/efi.h (grub_efi_exit): Removed.
38801 (grub_print_device_path): New prototype.
38802 (grub_efi_locate_handle): Likewise.
38803 (grub_efi_open_protocol): Likewise.
38804
38805 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
38806 * disk/efi/efidisk.c: Likewise.
38807
38808 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
38809
38810 * include/grub/efi/console_control.h
38811 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
38812
38813 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
38814 last 8 bytes as an array.
38815 (GRUB_EFI_DISK_IO_GUID): New macro.
38816 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
38817 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
38818 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
38819 grub_uint8_t.
38820 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
38821 (struct grub_efi_device_path): Rename the member "sub_type" to
38822 "subtype".
38823 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
38824 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
38825 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
38826 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
38827 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
38828 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
38829 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
38830 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
38831 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
38832 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
38833 (struct grub_efi_pci_device_path): New structure.
38834 (grub_efi_pci_device_path_t): New type.
38835 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
38836 (struct grub_efi_pccard_device_path): New structure.
38837 (grub_efi_pccard_device_path_t): New type.
38838 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
38839 (struct grub_efi_memory_mapped_device_path): New structure.
38840 (grub_efi_memory_mapped_device_path_t): New type.
38841 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
38842 (struct grub_efi_vendor_device_path): New structure.
38843 (grub_efi_vendor_device_path_t): New type.
38844 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
38845 (struct grub_efi_controller_device_path): New structure.
38846 (grub_efi_controller_device_path_t): New type.
38847 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
38848 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
38849 (struct grub_efi_acpi_device_path): New structure.
38850 (grub_efi_acpi_device_path_t): New type.
38851 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
38852 (struct grub_efi_expanded_acpi_device_path): New structure.
38853 (grub_efi_expanded_acpi_device_path_t): New type.
38854 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
38855 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
38856 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
38857 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
38858 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
38859 (struct grub_efi_atapi_device_path): New structure.
38860 (grub_efi_atapi_device_path_t): New type.
38861 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
38862 (struct grub_efi_fibre_channel_device_path): New structure.
38863 (grub_efi_fibre_channel_device_path_t): New type.
38864 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
38865 (struct grub_efi_1394_device_path): New structure.
38866 (grub_efi_1394_device_path_t): New type.
38867 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
38868 (struct grub_efi_usb_device_path): New structure.
38869 (grub_efi_usb_device_path_t): New type.
38870 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
38871 (struct grub_efi_usb_class_device_path): New structure.
38872 (grub_efi_usb_class_device_path_t): New type.
38873 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
38874 (struct grub_efi_i2o_device_path): New structure.
38875 (grub_efi_i2o_device_path_t): New type.
38876 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
38877 (struct grub_efi_mac_address_device_path): New structure.
38878 (grub_efi_mac_address_device_path_t): New type.
38879 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
38880 (struct grub_efi_ipv4_device_path): New structure.
38881 (grub_efi_ipv4_device_path_t): New type.
38882 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
38883 (struct grub_efi_ipv6_device_path): New structure.
38884 (grub_efi_ipv6_device_path_t): New type.
38885 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
38886 (struct grub_efi_infiniband_device_path): New structure.
38887 (grub_efi_infiniband_device_path_t): New type.
38888 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
38889 (struct grub_efi_uart_device_path): New structure.
38890 (grub_efi_uart_device_path_t): New type.
38891 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
38892 (struct grub_efi_vendor_messaging_device_path): New structure.
38893 (grub_efi_vendor_messaging_device_path_t): New type.
38894 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
38895 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
38896 (struct grub_efi_hard_drive_device_path): New structure.
38897 (grub_efi_hard_drive_device_path_t): New type.
38898 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
38899 (struct grub_efi_cdrom_device_path): New structure.
38900 (grub_efi_cdrom_device_path_t): New type.
38901 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
38902 (struct grub_efi_vendor_media_device_path): New structure.
38903 (grub_efi_vendor_media_device_path_t): New type.
38904 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
38905 (struct grub_efi_file_path_device_path): New structure.
38906 (grub_efi_file_path_device_path_t): New type.
38907 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
38908 (struct grub_efi_protocol_device_path): New structure.
38909 (grub_efi_protocol_device_path_t): New type.
38910 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
38911 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
38912 (struct grub_efi_bios_device_path): New structure.
38913 (grub_efi_bios_device_path_t): New type.
38914 (struct grub_efi_disk_io): New structure.
38915 (grub_efi_disk_io_t): New type.
38916 (struct grub_efi_block_io_media): New structure.
38917 (grub_efi_block_io_media_t): New type.
38918 (struct grub_efi_block_io): New structure.
38919 (grub_efi_block_io_t): New type.
38920
38921 * include/grub/misc.h (grub_stop): Removed.
38922 (grub_exit): New prototype.
38923 (grub_abort): Likewise.
38924
38925 * include/grub/disk.h (enum grub_disk_dev_id): Added
38926 GRUB_DISK_DEVICE_EFIDISK_ID.
38927
38928 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
38929 disk/efi/efidisk.c.
38930 (kernel_syms.lst): Remove the target if an error occurs.
38931
49986a9f 389322006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
38933
38934 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
38935 as it was simply too buggy.
38936
970d3b8a 389372006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
38938
38939 * kern/misc.c (grub_lltoa): New function.
38940 (grub_vsprintf): Added support for the long long suffix,
38941 i.e. "ll".
38942
ff04ec24 389432006-04-20 Hollis Blanchard <hollis@penguinppc.org>
38944
38945 * Makefile.in (LDFLAGS): Add variable.
38946 (LD): Remove variable.
38947 * configure.ac: Add -m32 to LDFLAGS.
38948 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
38949 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
38950 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
38951 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
38952 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
38953 variables.
38954 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
38955 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
38956 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
38957
37e5e1a4 389582006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
38959
38960 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
38961 length for unknown glyph.
38962
c352d8dd 389632006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
38964
2eab1c0d 38965 Add support for pre-loaded modules into the EFI port.
f19dbdb7 38966
2eab1c0d 38967 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
38968 completely. Accept one more argument DIR. The caller has changed.
38969
38970 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
38971
38972 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
38973 (grub_efi_loaded_image_guid): New variable.
38974 (grub_efi_get_loaded_image): New function.
38975 (grub_arch_modules_addr): Likewise.
38976
38977 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
38978 prototype.
38979
38980 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
38981 (struct grub_efi_loaded_image): New structure.
38982 (grub_efi_loaded_image_t): New type.
38983
389842006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 38985
c352d8dd 38986 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
38987 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
38988 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
38989
6d01d6b4 389902006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
38991
38992 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
38993
976a4ea0 389942006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
38995
38996 * DISTLIST: Added include/grub/efi/console.h,
38997 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
38998 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
38999
39000 * include/grub/efi/console.h: New file.
39001 * include/grub/efi/time.h: Likewise.
39002 * include/grub/i386/efi/kernel.h: Likewise.
39003 * kern/efi/init.c: Likewise.
39004 * kern/efi/mm.c: Likewise.
39005 * term/efi/console.c: Likewise.
f19dbdb7 39006
976a4ea0 39007 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
39008 (grub_stop): Removed.
39009 (grub_get_rtc): Likewise.
39010 (grub_machine_init): Simply call grub_efi_init.
39011 (grub_machine_fini): Call grub_efi_fini.
39012
39013 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
39014 (grub_efi_output_string): Removed.
39015 (grub_efi_stall): New function.
39016 (grub_stop): Likewise.
39017 (grub_get_rtc): Likewise.
39018
39019 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
39020 (grub_efi_stall): New prototype.
39021 (grub_efi_allocate_pages): Likewise.
39022 (grub_efi_free_pages): Likewise.
39023 (grub_efi_get_memory_map): Likewise.
39024 (grub_efi_mm_init): Likewise.
39025 (grub_efi_mm_fini): Likewise.
39026 (grub_efi_init): Likewise.
39027 (grub_efi_fini): Likewise.
39028
39029 * include/grub/i386/efi/time.h: Do not include
39030 grub/symbol.h. Include grub/efi/time.h.
39031 (GRUB_TICKS_PER_SECOND): Removed.
39032 (grub_get_rtc): Likewise.
39033
39034 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
39035 Added padding. The EFI spec is buggy.
39036 (GRUB_EFI_BLACK): New macro.
39037 (GRUB_EFI_BLUE): Likewise.
39038 (GRUB_EFI_GREEN): Likewise.
39039 (GRUB_EFI_CYAN): Likewise.
39040 (GRUB_EFI_RED): Likewise.
39041 (GRUB_EFI_MAGENTA): Likewise.
39042 (GRUB_EFI_BROWN): Likewise.
39043 (GRUB_EFI_LIGHTGRAY): Likewise.
39044 (GRUB_EFI_BRIGHT): Likewise.
39045 (GRUB_EFI_DARKGRAY): Likewise.
39046 (GRUB_EFI_LIGHTBLUE): Likewise.
39047 (GRUB_EFI_LIGHTGREEN): Likewise.
39048 (GRUB_EFI_LIGHTCYAN): Likewise.
39049 (GRUB_EFI_LIGHTRED): Likewise.
39050 (GRUB_EFI_LIGHTMAGENTA): Likewise.
39051 (GRUB_EFI_YELLOW): Likewise.
39052 (GRUB_EFI_WHITE): Likewise.
39053 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
39054 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
39055 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
39056 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
39057 (GRUB_EFI_BACKGROUND_RED): Likewise.
39058 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
39059 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
39060 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
39061 (GRUB_EFI_TEXT_ATTR): Likewise.
39062
39063 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
39064 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39065 (kernel_mod_HEADERS): Added efi/time.h.
39066
83709125 390672006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
39068
39069 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
39070 include/grub/efi/api.h, include/grub/efi/console_control.h,
39071 include/grub/efi/efi.h, include/grub/efi/pe32.h,
39072 include/grub/i386/efi/time.h, kern/efi/efi.c,
39073 kern/i386/efi/init.c, kern/i386/efi/startup.S,
39074 and util/i386/efi/grub-mkimage.c.
39075
39076 * Makefile.in (RMKFILES): Added i386-efi.rmk.
39077
39078 * genmk.rb (PModule#rule): Do not export symbols if
39079 #{prefix}_EXPORTS is set to "no".
39080
39081 * conf/i386-efi.mk: New file.
39082 * conf/i386-efi.rmk: Likewise.
39083 * include/grub/efi/api.h: Likewise.
39084 * include/grub/efi/console_control.h: Likewise.
39085 * include/grub/efi/efi.h: Likewise.
39086 * include/grub/efi/pe32.h: Likewise.
39087 * include/grub/i386/efi/time.h: Likewise.
39088 * kern/efi/efi.c: Likewise.
39089 * kern/i386/efi/init.c: Likewise.
39090 * kern/i386/efi/startup.S: Likewise.
39091 * util/i386/efi/grub-mkimage.c: Likewise.
39092
390932006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 39094
39095 * include/grub/script.h: Include <grub/parser.h> and
39096 "grub_script.tab.h".
39097 (struct grub_lexer_param): New struct.
39098 (struct grub_parser_param): Likewise.
39099 (grub_script_create_arglist): Pass the state in an argument.
39100 (grub_script_add_arglist): Likewise.
39101 (grub_script_create_cmdline): Likewise.
39102 (grub_script_create_cmdblock): Likewise.
39103 (grub_script_create_cmdif): Likewise.
39104 (grub_script_create_cmdmenu): Likewise.
39105 (grub_script_add_cmd): Likewise.
39106 (grub_script_arg_add): Likewise.
39107 (grub_script_lexer_ref): Likewise.
39108 (grub_script_lexer_deref): Likewise.
39109 (grub_script_lexer_record_start): Likewise.
39110 (grub_script_lexer_record_stop): Likewise.
39111 (grub_script_mem_record): Likewise.
39112 (grub_script_mem_record_stop): Likewise.
39113 (grub_script_malloc): Likewise.
39114 (grub_script_yylex): Likewise.
39115 (grub_script_yyparse): Likewise.
39116 (grub_script_yyerror): Likewise.
39117 (grub_script_yylex): Likewise.
39118 (grub_script_lexer_init): Return the state.
39119
39120 * normal/lexer.c (grub_script_lexer_state): Removed variable.
39121 (grub_script_lexer_done): Likewise.
39122 (grub_script_lexer_getline): Likewise.
39123 (grub_script_lexer_refs): Likewise.
39124 (script): Likewise.
39125 (newscript): Likewise.
39126 (record): Likewise.
39127 (recording): Likewise.
39128 (recordpos): Likewise.
39129 (recordlen): Likewise.
39130 (grub_script_lexer_init): Return the state instead of setting
39131 global variables.
39132 (grub_script_lexer_ref): Use the newly added argument for state
39133 instead of globals.
39134 (grub_script_lexer_deref): Likewise.
39135 (grub_script_lexer_record_start): Likewise.
39136 (grub_script_lexer_record_stop): Likewise.
39137 (recordchar): Likewise.
39138 (nextchar): Likewise.
39139 (grub_script_yylex2): Likewise.
39140 (grub_script_yylex): Likewise.
39141 (grub_script_yyerror): Likewise.
39142
39143 * normal/parser.y (func_mem): Removed variable.
39144 (menu_entry): Likewise.
39145 (err): Likewise.
39146 (%lex-param): New parser option.
39147 (%parse-param): Likewise.
39148 (script): Always return the AST.
39149 (argument): Pass the state around.
39150 (arguments): Likewise.
39151 (grubcmd): Likewise.
39152 (commands): Likewise.
39153 (function): Likewise.
39154 (menuentry): Likewise.
39155 (if_statement): Likewise.
39156 (if): Likewise.
39157
39158 * normal/script.c (grub_script_memused): Removed variable.
39159 (grub_script_parsed): Likewise.
39160 (grub_script_malloc): Added a state argument. Use that instead of
39161 global variables.
39162 (grub_script_mem_record): Likewise.
39163 (grub_script_mem_record_stop): Likewise.
39164 (grub_script_arg_add): Likewise.
39165 (grub_script_add_arglist): Likewise.
39166 (grub_script_create_cmdline): Likewise.
39167 (grub_script_create_cmdif): Likewise.
39168 (grub_script_create_cmdmenu): Likewise.
39169 (grub_script_add_cmd): Likewise.
39170 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 39171
e2a8c904 391722006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 39173
39174 * normal/command.c (grub_command_init): Remove the title command.
39175
39176 * normal/lexer.c (grub_script_yylex): Renamed from this...
39177 (grub_script_yylex2): ... to this.
39178 (grub_script_yylex): New function. Temporary
39179 introduced to filter some tokens.
39180 (grub_script_yyerror): Print a newline.
39181
39182 * normal/main.c (read_config_file): Output information about the
39183 lines that contain errors. Wait for a key after all lines have
39184 been processed. Don't return an empty menu.
39185
39186 * normal/parser.y (func_mem): Don't initialize.
39187 (menu_entry): Likewise.
39188 (err): New variable.
39189 (script): Don't return anything when an error was encountered.
39190 (ws, returns): Removed rules.
39191 (argument): Disabled concatenated variable support.
39192 (arguments): Remove explicit separators.
39193 (grubcmd): Likewise.
39194 (function): Likewise.
39195 (menuentry): Likewise.
39196 (if): Likewise.
39197 (commands): Likewise. Add error handling.
39198
39199 * normal/script.c (grub_script_create_cmdline): If
39200 `grub_script_parsed' is 0, assume the parser encountered an error.
39201
c9a86192 392022006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
39203
39204 * configure.ac: Add support for EFI. Fix the typo
39205 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
39206
70f3b243 392072006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39208
39209 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
39210 foreign multibyte characters should be shown correctly.
39211
65f201ad 392122006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39213
39214 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
39215 calculation.
39216 (read_config_file): Made it to close file before returning.
39217
b4b93674 392182006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
39219
39220 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
39221 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
39222 video/i386/pc/vbefill.c.
39223
39224 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
39225 video/i386/pc/vbefill.c.
39226
39227 * include/grub/video.h (grub_video_blit_format): New enum.
39228 (grub_video_mode_info): Added new member blit_format.
39229 (grub_video_get_blit_format): New function prototype.
39230
39231 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
39232 function prototype.
39233 (grub_video_vbe_map_rgb): Likewise.
39234 (grub_video_vbe_unmap_color): Likewise.
39235
39236 * include/grub/i386/pc/vbeblit.h: New file.
39237
39238 * include/grub/i386/pc/vbefill.h: New file.
39239
39240 * video/video.c (grub_video_get_blit_format): New function.
39241 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
39242 (grub_video_vbe_map_rgb): Likewise.
39243 (grub_video_vbe_unmap_color): Likewise.
39244
39245 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
39246 optimized fills.
39247 (grub_video_vbe_blit_render_target): Changed to use more optimized
39248 blits.
39249 (grub_video_vbe_setup): Added detection for optimized settings.
39250 (grub_video_vbe_create_render_target): Likewise.
39251
39252 * video/i386/pc/vbeblit.c: New file.
39253
39254 * video/i386/pc/vbefill.c: New file.
39255
c2379b9c 392562006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
39257
39258 * font/manager.c (grub_font_get_glyph): Removed font fixup from
39259 here...
39260
39261 * util/unifont2pff.rb: ... and moved it to here. Improved argument
39262 parsing to support both hex and dec ranges. If filename was missing
39263 show usage information.
39264
bd0d7896 392652006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
39266
39267 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
39268 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
39269
39270 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
39271 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
39272 (video_mod_SOURCES): Added.
39273 (video_mod_CFLAGS): Likewise.
39274 (video_mod_LDFLAGS): Likewise.
39275 (gfxterm_mod_SOURCES): Likewise.
39276 (gfxterm_mod_CFLAGS): Likewise.
39277 (gfxterm_mod_LDFLAGS): Likewise.
39278 (videotest_mod_SOURCES): Likewise.
39279 (videotest_mod_CFLAGS): Likewise.
39280 (videotest_mod_LDFLAGS): Likewise.
39281 (vesafb_mod_SOURCES): Removed.
39282 (vesafb_mod_CFLAGS): Likewise.
39283 (vesafb_mod_LDFLAGS): Likewise.
39284 (vga_mod_SOURCES): Likewise.
39285 (vga_mod_CFLAGS): Likewise.
39286 (vga_mod_LDFLAGS): Likewise.
39287
39288 * commands/videotest.c: New file.
39289
39290 * font/manager.c (fill_with_default_glyph): Modified to use
39291 grub_font_glyph.
39292 (grub_font_get_glyph): Likewise.
39293 (fontmanager): Renamed from this...
39294 (font_manager): ... to this.
39295
39296 * include/grub/font.h (grub_font_glyph): Added new structure.
39297 (grub_font_get_glyph): Modified to use grub_font_glyph.
39298
39299 * include/grub/misc.h (grub_abs): Added as inline function.
39300
39301 * include/grub/video.h: New file.
39302
39303 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
39304 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
39305 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
39306 (grub_vbe_get_controller_info): Renamed from this...
39307 (grub_vbe_bios_get_controller_info): ... to this.
39308 (grub_vbe_get_mode_info): Renamed from this...
39309 (grub_vbe_bios_get_mode_info): ... to this.
39310 (grub_vbe_set_mode): Renamed from this...
39311 (grub_vbe_bios_set_mode): ... to this.
39312 (grub_vbe_get_mode): Renamed from this...
39313 (grub_vbe_bios_get_mode): ... to this.
39314 (grub_vbe_set_memory_window): Renamed from this...
39315 (grub_vbe_bios_set_memory_window): ... to this.
39316 (grub_vbe_get_memory_window): Renamed from this...
39317 (grub_vbe_bios_get_memory_window): ... to this.
39318 (grub_vbe_set_scanline_length): Renamed from this...
39319 (grub_vbe_set_scanline_length): ... to this.
39320 (grub_vbe_get_scanline_length): Renamed from this...
39321 (grub_vbe_bios_get_scanline_length): ... to this.
39322 (grub_vbe_set_display_start): Renamed from this...
39323 (grub_vbe_bios_set_display_start): ... to this.
39324 (grub_vbe_get_display_start): Renamed from this...
39325 (grub_vbe_bios_get_display_start): ... to this.
39326 (grub_vbe_set_palette_data): Renamed from this...
39327 (grub_vbe_bios_set_palette_data): ... to this.
39328 (grub_vbe_set_pixel_rgb): Removed.
39329 (grub_vbe_set_pixel_index): Likewise.
39330
39331 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
39332 from this...
39333 (grub_vbe_bios_get_controller_info): ... to this.
39334 (grub_vbe_get_mode_info): Renamed from this...
39335 (grub_vbe_bios_get_mode_info): ... to this.
39336 (grub_vbe_set_mode): Renamed from this...
39337 (grub_vbe_bios_set_mode): ... to this.
39338 (grub_vbe_get_mode): Renamed from this...
39339 (grub_vbe_bios_get_mode): ... to this.
39340 (grub_vbe_set_memory_window): Renamed from this...
39341 (grub_vbe_bios_set_memory_window): ... to this.
39342 (grub_vbe_get_memory_window): Renamed from this...
39343 (grub_vbe_bios_get_memory_window): ... to this.
39344 (grub_vbe_set_scanline_length): Renamed from this...
39345 (grub_vbe_set_scanline_length): ... to this.
39346 (grub_vbe_get_scanline_length): Renamed from this...
39347 (grub_vbe_bios_get_scanline_length): ... to this.
39348 (grub_vbe_set_display_start): Renamed from this...
39349 (grub_vbe_bios_set_display_start): ... to this.
39350 (grub_vbe_get_display_start): Renamed from this...
39351 (grub_vbe_bios_get_display_start): ... to this.
39352 (grub_vbe_set_palette_data): Renamed from this...
39353 (grub_vbe_bios_set_palette_data): ... to this.
39354 (grub_vbe_bios_get_controller_info): Fixed problem with registers
39355 getting corrupted after calling it. Added more pushes and pops.
39356 (grub_vbe_bios_set_mode): Likewise.
39357 (grub_vbe_bios_get_mode): Likewise.
39358 (grub_vbe_bios_get_memory_window): Likewise.
39359 (grub_vbe_bios_set_scanline_length): Likewise.
39360 (grub_vbe_bios_get_scanline_length): Likewise.
39361 (grub_vbe_bios_get_display_start): Likewise.
39362 (grub_vbe_bios_set_palette_data): Likewise.
39363
39364 * normal/cmdline.c (cl_set_pos): Refresh the screen.
39365 (cl_insert): Likewise.
39366 (cl_delete): Likewise.
39367
39368 * term/gfxterm.c: New file.
39369
39370 * term/i386/pc/vesafb.c: Removed file.
39371
39372 * video/video.c: New file.
39373
39374 * video/i386/pc/vbe.c (real2pm): Added new function.
39375 (grub_video_vbe_draw_pixel): Likewise.
39376 (grub_video_vbe_get_video_ptr): Likewise.
39377 (grub_video_vbe_get_pixel): Likewise
39378 (grub_video_vbe_init): Likewise.
39379 (grub_video_vbe_fini): Likewise.
39380 (grub_video_vbe_setup): Likewise.
39381 (grub_video_vbe_get_info): Likewise.
39382 (grub_video_vbe_set_palette): Likewise.
39383 (grub_video_vbe_get_palette): Likewise.
39384 (grub_video_vbe_set_viewport): Likewise.
39385 (grub_video_vbe_get_viewport): Likewise.
39386 (grub_video_vbe_map_color): Likewise.
39387 (grub_video_vbe_map_rgb): Likewise.
39388 (grub_video_vbe_map_rgba): Likewise.
39389 (grub_video_vbe_unmap_color): Likewise.
39390 (grub_video_vbe_fill_rect): Likewise.
39391 (grub_video_vbe_blit_glyph): Likewise.
39392 (grub_video_vbe_blit_bitmap): Likewise.
39393 (grub_video_vbe_blit_render_target): Likewise.
39394 (grub_video_vbe_scroll): Likewise.
39395 (grub_video_vbe_swap_buffers): Likewise.
39396 (grub_video_vbe_create_render_target): Likewise.
39397 (grub_video_vbe_delete_render_target): Likewise.
39398 (grub_video_vbe_set_active_render_target): Likewise.
39399 (grub_vbe_set_pixel_rgb): Remove function.
39400 (grub_vbe_set_pixel_index): Likewise.
39401 (index_color_mode): Remove static variable.
39402 (active_mode): Likewise.
39403 (framebuffer): Likewise.
39404 (bytes_per_scan_line): Likewise.
39405 (grub_video_vbe_adapter): Added new static variable.
39406 (framebuffer): Likewise.
39407 (render_target): Likewise.
39408 (initial_mode): Likewise.
39409 (mode_in_use): Likewise.
39410 (mode_list): Likewise.
39411
5f97350b 394122006-03-10 Marco Gerards <marco@gnu.org>
39413
39414 * configure.ac (AC_INIT): Bumped to 1.93.
39415
39416 * DISTLIST: Added `include/grub/hfs.h'.
39417
a3c5c6f8 394182006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
39419
39420 * boot/i386/pc/boot.S (general_error): Before looping, try INT
39421 18H, which might help the BIOS falling back to next boot media.
39422
6de53d26 394232006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
39424
39425 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
39426 Poe Chen <poe.poechen@gmail.com>.
39427
77c4a393 394282006-01-17 Marco Gerards <marco@gnu.org>
39429
39430 * include/grub/normal.h: Include <grub/script.h>.
39431 (grub_command_list): Removed struct.
39432 (grub_command_list_t): Removed type.
39433 (grub_menu_entry): Remove members `num' and `command_list'. Add
39434 members `commands' and `sourcecode'.
39435 * include/grub/script.h: Add inclusion guards.
39436 (grub_script_cmd_menuentry): New struct.
39437 (grub_script_execute_menuentry): New prototype.
39438 (grub_script_lexer_record_start): Likewise.
39439 (grub_script_lexer_record_stop): Likewise.
39440 * normal/execute.c (grub_script_execute_menuentry): New function.
39441 * normal/lexer.c (record, recording, recordpos, recordlen): New
39442 variables.
39443 (grub_script_lexer_record_start): New function.
39444 (grub_script_lexer_record_stop): Likewise.
39445 (recordchar): Likewise.
39446 (nextchar): Likewise.
39447 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
39448 2048 as the buffer size. Add the tokens `menuentry' and `@'.
39449 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
39450 (current_menu): New variable.
39451 (free_menu): Mainly rewritten.
39452 (grub_normal_menu_addentry): New function.
39453 (read_config_file): Rewritten.
39454 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 39455 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 39456 the menu entry.
39457 (run): Mainly rewritten.
39458 * normal/parser.y (menu_entry): New variable.
39459 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
39460 (menuentry): New rule.
39461 (command): Add `menuentry'.
39462 (if_statement): Allow additional returns before `fi'.
39463 * normal/script.c (grub_script_create_cmdmenu): New function.
39464
144f1f98 394652006-01-03 Marco Gerards <marco@gnu.org>
39466
39467 * INSTALL: GNU Bison is required.
39468 * configure.ac: Rewritten the test to detect Bison.
39469 * Makefile.in (YACC): New variable. Reported by Xun Sun
39470 <xun.sun.cn@gmail.com>.
39471
af4b2d89 394722006-01-03 Marco Gerards <marco@gnu.org>
39473
39474 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
39475 the HFS+ filesystem to filesystem blocks.
39476 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
39477 GCC warning is silenced.
39478
15643b71 394792006-01-03 Marco Gerards <marco@gnu.org>
39480
39481 * partmap/apple.c (apple_partition_map_iterate): Convert the data
39482 read from disk from big endian to host byte order.
39483
00905879 394842006-01-03 Hollis Blanchard <hollis@penguinppc.org>
39485
39486 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
39487 documentation.
39488 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
39489 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
39490 embedded HFS+ filesystem.
39491 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
39492 (grub_hfs_sblock): Move from here...
39493 * include/grub/hfs.h: To here... New file.
39494 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
39495 documentation.
39496 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
39497 New macros.
39498 (grub_hfsplus_volheader): Change type of member `magic' to
39499 `grub_uint16_t'.
39500 (grub_hfsplus_data): Add new member `embedded_offset'.
39501 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
39502 returned block.
39503 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
39504 Calculate the offset.
39505
8899bc3e 395062005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39507
39508 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
39509 Removed.
39510 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
39511
ae8c0277 395122005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39513
39514 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
39515 ENV->NAME is NULL after allocating ENV->VALUE.
39516
07084456 395172005-12-25 Marco Gerards <marco@gnu.org>
39518
39519 * kern/env.c (grub_env_set): Rewritten the error handling code.
39520
4750f5f1 395212005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39522
39523 * geninit.sh: Made more robust, and more portable.
39524
50214199 395252005-12-25 Marco Gerards <marco@gnu.org>
39526
39527 Add support for Apple HFS+ filesystems.
f19dbdb7 39528
50214199 39529 * fs/hfsplus.c: New file.
39530
39531 * DISTLIST: Added `fs/hfsplus.c'.
39532
39533 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
39534 (hfsplus_mod_SOURCES): New variable.
39535 (hfsplus_mod_CFLAGS): Likewise.
39536 (hfsplus_mod_LDFLAGS): Likewise.
39537 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
39538 (grub_setup_SOURCES): Likewise.
39539 (grub_mkdevicemap_SOURCES): Likewise.
39540 (grub_emu_SOURCES): Likewise.
39541 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39542
39543 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
39544
39545 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
39546
befaed6c 395472005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39548
39549 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
39550 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
39551 include/grub/parser.h, include/grub/script.h, kern/parser.c,
39552 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
39553 normal/lexer.c, normal/parser.y, normal/script.c, and
39554 partmap/gpt.c.
39555 Removed kern/sparc64/cache.c.
39556
39557 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
39558 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
39559 grub_emu_init.c.
39560
39561 * configure.ac (AC_INIT): Bumped to 1.92.
39562
6a124103 395632005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
39564
39565 * kern/err.c (grub_error_push): Added new function to support error
39566 stacks.
39567 (grub_error_pop): Likewise.
39568 (grub_error_stack_items): New local variable to support error stacks.
39569 (grub_error_stack_pos): Likewise.
39570 (grub_error_stack_assert): Likewise.
39571 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
39572 stack depth.
39573 (grub_print_error): Added support to print errors from error stack.
39574
39575 * include/grub/err.h (grub_error_push): Added function prototype.
39576 (grub_error_pop): Likewise.
39577
be973c1b 395782005-12-09 Hollis Blanchard <hollis@penguinppc.org>
39579
39580 * configure.ac: Accept `powerpc64' as host_cpu.
39581 (amd64): Rename to `biarch32'.
39582
39583 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
39584 non-cacheline-aligned addresses.
39585
39586 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
39587 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
39588 if `size' is non-zero.
39589
b04216ab 395902005-12-03 Marco Gerards <mgerards@xs4all.nl>
39591
39592 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
39593 and `cd' to make sure the filename is not prefixed with a
39594 directory name.
39595 (pkgdata_MODULES): Add `gpt.mod'.
39596 (gpt_mod_SOURCES): New variable.
39597 (gpt_mod_CFLAGS): Likewise.
39598 (gpt_mod_LDFLAGS): Likewise.
39599
39600 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
39601
39602 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
39603 New macro.
39604
39605 * partmap/gpt.c: New file.
39606
39607 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
39608 GPT partition map is detected.
39609
41730ed9 396102005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
39611
39612 * commands/i386/pc/play.c: New file.
39613 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
39614 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
39615 macros.
f19dbdb7 39616
95dc3643 396172005-11-27 Marco Gerards <mgerards@xs4all.nl>
39618
39619 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
39620 ((unused))' to silence gcc warning.
39621
1569ec51 396222005-11-26 Hollis Blanchard <hollis@penguinppc.org>
39623
39624 * configure.ac: Correct `AC_PROG_YACC' test.
39625
9abde152 396262005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39627
39628 * util/powerpc/ieee1275/grub-install.in: Run the mount point
39629 check before installing files.
39630
44b83271 396312005-11-22 Mike Small <smallm@panix.com>
39632
39633 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
39634 number regex so multidigit numbers are recognized correctly.
39635
396362005-11-22 Mike Small <smallm@panix.com>
39637
39638 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
39639 debugging message before attempting to claim memory.
39640 (grub_rescue_cmd_initrd): Add a claim debugging message and try
39641 multiple addresses in case of failure.
39642
9c12956b 396432005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39644
39645 * term/tparm.c (get_space): Remove empty `if' statement.
39646
39647 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
39648
39649 * kern/parser.c (check_varstate): Rename `state' to 's'.
39650
aeaf81d9 396512005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39652
39653 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
39654 variable definitions to the beginning of each function. Sort stack
39655 variables by size.
39656 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
39657 `buf' argument to `char *'.
39658
79bbb63f 396592005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39660
39661 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
39662 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 39663 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 39664 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
39665 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
39666 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
39667 configfile.mod, search.mod, gzio.mod and test.mod.
39668 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
39669 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
39670 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
39671 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
39672 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
39673 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
39674 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
39675 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
39676 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
39677 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
39678 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
39679 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
39680 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
39681 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
39682 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
39683 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
39684 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
39685 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
39686 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
39687 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
39688 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
39689 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
39690 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
39691
39692 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
39693 `grep --include'.
39694 (pkgdata_MODULES): Add test.mod.
39695
233b1628 396962005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39697
39698 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
39699 appending to variables with "+=".
39700 (PModule): Use full pathname to generate *.lst filenames.
39701
39702 * Makefile.in: Fixed list rules moved from genmk.rb.
39703 (.DELETE_ON_ERROR): New special target.
39704 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
39705
39706 * conf/i386-pc.rmk: Include conf/common.mk.
39707 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 39708 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 39709 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
39710 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
39711 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
39712 configfile.mod, search.mod, gzio.mod and test.mod.
39713 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
39714 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
39715 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
39716 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
39717 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
39718 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
39719 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
39720 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
39721 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
39722 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
39723 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
39724 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
39725 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
39726 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
39727 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
39728 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
39729 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
39730 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
39731 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
39732 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
39733 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
39734 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
39735 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
39736 here...
39737 * conf/common.rmk: ... to here. New file.
39738
39739 * conf/common.mk: New file.
39740
16f820c8 397412005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
39742
39743 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
39744 (grub_script.tab.c): ... here.
39745
39746 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
39747 (grub_script.tab.c): ... here.
39748
39749 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
39750 (grub_script.tab.c): ... here.
39751
39752 * normal/command.c (grub_command_find): Fixed a memory leak of
39753 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
39754
63ba1554 397552005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39756
39757 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
39758 "@" which marks the start of a comment on ARM.
39759 (VARIABLE): Likewise.
39760
7f67dc13 397612005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39762
79bbb63f 39763 Add support for Linux/ADFS partition tables.
7f67dc13 39764
39765 * partmap/acorn.c: New file.
39766
39767 * include/grub/acorn_filecore.h: Likewise.
39768
39769 * DISTLIST: Added `partmap/acorn.c' and
39770 `include/grub/acorn_filecore.h'.
f19dbdb7 39771
7f67dc13 39772 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39773 `partmap/acorn.c'.
39774 (pkgdata_MODULES): Add `acorn.mod'.
39775 (acorn_mod_SOURCES): New variable.
39776 (acorn_mod_CFLAGS): Likewise.
39777
39778 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
39779 `partmap/acorn.c'.
39780 (pkgdata_MODULES): Add `acorn.mod'.
39781 (acorn_mod_SOURCES): New variable.
39782 (acorn_mod_CFLAGS): Likewise.
39783
39784 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
39785 (pkgdata_MODULES): Add `acorn.mod'.
39786 (acorn_mod_SOURCES): New variable.
39787 (acorn_mod_CFLAGS): Likewise.
39788 (acorn_mod_LDFLAGS): Likewise.
39789
39790 * include/types.h (grub_disk_addr_t): New typedef.
39791
6d099807 397922005-11-13 Marco Gerards <mgerards@xs4all.nl>
39793
39794 * geninit.sh: New file.
39795
39796 * geninitheader.sh: Likewise.
39797
39798 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
39799 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
39800 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
39801 * commands/configfile.c (grub_configfile_init)
39802 (grub_configfile_fini): Likewise.
39803 * commands/default.c (grub_default_init, grub_default_fini):
39804 Likewise.
39805 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
39806 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
39807 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
39808 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
39809 Likewise.
39810 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
39811 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
39812 Likewise.
39813 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 39814 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 39815 Likewise.
39816 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
39817 Likewise.
fe6b695a 39818 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 39819 Likewise.
39820 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
39821 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
39822 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
39823 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
39824 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
39825 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
39826 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
39827 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
39828 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
39829 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
39830 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
39831 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
39832 * partmap/amiga.c (grub_amiga_partition_map_init)
39833 (grub_amiga_partition_map_fini): Likewise.
39834 * partmap/apple.c (grub_apple_partition_map_init)
39835 (grub_apple_partition_map_fini): Likewise.
39836 * partmap/pc.c (grub_pc_partition_map_init)
39837 (grub_pc_partition_map_fini): Likewise.
39838 * partmap/sun.c (grub_sun_partition_map_init,
39839 grub_sun_partition_map_fini): Likewise.
39840 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
39841 Likewise.
39842
39843 * util/grub-emu.c: Include <grub_modules_init.h>.
39844 (main): Don't initialize and de-initialize any modules directly,
39845 use `grub_init_all' and `grub_fini_all' instead.
39846
39847 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
39848 `grub_vesafb_mod_init'.
39849 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
39850 all users.
39851 * term/i386/pc/vga.c (grub_vga_init): Renamed to
39852 `grub_vga_mod_init'. Updated all users.
39853 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 39854
6d099807 39855 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
39856 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
39857 rules.
39858
39859 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
39860 Generate a function to initialize the module in utilities.
39861 Updated all callers.
39862 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
39863 initialize the module in utilities. Updated all callers.
39864
9046bcf0 398652005-11-09 Hollis Blanchard <hollis@penguinppc.org>
39866
39867 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
39868 escape sequence and a literal ^L to clear the screen.
39869
39870 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
39871 when returning from Open Firmware.
39872
d13ea639 398732005-11-09 Hollis Blanchard <hollis@penguinppc.org>
39874
39875 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
39876 (grub_ofconsole_height): Likewise.
39877 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
39878 manually insert a '\n'.
39879 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
39880 `grub_ofconsole_height'. Return early if these are already set.
39881
a8fcf206 398822005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
39883
39884 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
39885 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
39886 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
39887 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
39888 and `normal/script.c'.
39889 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
39890 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
39891 (test_mod_SOURCES): New variable.
39892 (test_mod_CFLAGS): Likewise.
39893 (test_mod_LDFLAGS): Likewise.
39894 (pkgdata_MODULES): Add `test.mod'.
39895 (grub_script.tab.c): New rule.
39896 (grub_script.tab.h): Likewise.
39897
b6b32745 398982005-11-07 Marco Gerards <mgerards@xs4all.nl>
39899
39900 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39901 `commands/test.c', `normal/execute.c', `normal/lexer.c',
39902 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
39903 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
39904 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
39905 (test_mod_SOURCES): New variable.
39906 (test_mod_CFLAGS): Likewise.
39907 (pkgdata_MODULES): Add `test.mod'.
39908 (grub_script.tab.c): New rule.
39909 (grub_script.tab.h): Likewise.
39910
daac212a 399112005-11-06 Marco Gerards <mgerards@xs4all.nl>
39912
39913 Add initial scripting support.
39914
39915 * commands/test.c: New file.
39916 * include/grub/script.h: Likewise.
39917 * normal/execute.c: Likewise.
39918 * normal/function.c: Likewise.
39919 * normal/lexer.c: Likewise.
39920 * normal/parser.y: Likewise.
39921 * normal/script.c: Likewise.
39922
39923 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 39924
daac212a 39925 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
39926 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
39927 `normal/function.c' and `normal/script.c'.
39928 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
39929 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 39930 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
39931 variables.
daac212a 39932 (pkgdata_MODULES): Add `test.mod'.
39933 (grub_script.tab.c): New rule.
39934 (grub_script.tab.h): Likewise.
39935
39936 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
39937
39938 * include/grub/normal.h (grub_test_init): New prototype.
39939 (grub_test_fini): Likewise.
f19dbdb7 39940
daac212a 39941 * normal/command.c: Include <grub/script.h>.
39942 (grub_command_execute): Rewritten.
f19dbdb7 39943
daac212a 39944 * util/grub-emu.c (main): Call `grub_test_init' and
39945 `grub_test_fini'.
39946
77500b2b 399472005-11-03 Hollis Blanchard <hollis@penguinppc.org>
39948
39949 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
39950 to 0.
39951 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
39952 there are no pending characters.
39953
e45deb9e 399542005-11-03 Hollis Blanchard <hollis@penguinppc.org>
39955
39956 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
39957 `grub_strndup' to drop device arguments. Replace unnecessary
39958 `grub_strndup' with `grub_strdup'.
39959
4ce32619 399602005-11-03 Hollis Blanchard <hollis@penguinppc.org>
39961
39962 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
39963 `debug' environment variable has been set.
39964
399652005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 39966
4ce32619 39967 * Makefile.in (install-local): Use $(DATA).
39968 (uninstall): Likewise.
39969 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
39970 (sbin_UTILITIES): ... to here.
39971 (sbin_SCRIPTS): New variable.
39972 (grub_install_SOURCES): New variable.
39973 * util/powerpc/ieee1275/grub-install.in: New file.
39974 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
39975 variable.
39976 (add_segments): Call `grub_util_get_path'.
39977
25fe6f03 399782005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
39979
39980 From Timothy Baldwin:
39981 * commands/ls.c (grub_ls_list_files): Close FILE with
39982 grub_file_close.
39983 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
39984
04ccf3ec 399852005-10-24 Marco Gerards <mgerards@xs4all.nl>
39986
39987 * include/grub/parser.h: New file.
39988
39989 * kern/parser.c: Likewise.
39990
39991 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
39992 (grub_setup_SOURCES): Likewise.
39993 (grub_probefs_SOURCES): Likewise.
39994 (grub_emu_SOURCES): Likewise.
39995 (kernel_img_HEADERS): Add `parser.h'.
39996
39997 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
39998 (grub_emu_SOURCES): Add `kern/parser.c'.
39999 (grubof_SOURCES): Likewise.
40000
40001 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40002 (grubof_SOURCES): Add `kern/parser.c'.
40003
40004 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
40005
40006 * kern/misc.c (grub_split_cmdline): Removed function.
40007
40008 * kern/rescue.c: Include <grub/parser.h>.
40009 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
40010 of `grub_split_cmdline'.
40011
40012 * normal/command.c: Include <grub/parser.h>.
40013 (grub_command_execute): Use `grub_parser_split_cmdline' instead
40014 of `grub_split_cmdline'.
40015
40016 * normal/completion.c: Include <grub/parser.h>.
40017 (cmdline_state): New variable.
40018 (iterate_dir): End the filename with a quote depending on the
40019 command line state.
40020 (get_state): new function.
40021 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
40022 split the arguments and determine the current argument. When the
40023 argument string is not quoted, escape all spaces.
40024
6d8f4b0e 400252005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40026
40027 * normal/sparc64/setjmp.S: New file.
40028
15cf03ed 400292005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40030
40031 * include/grub/sparc64/libgcc.h: New file.
40032 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
40033 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
40034 normal/sparc64/setjmp.c.
40035
03e8661a 400362005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40037
40038 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
40039 * kern/sparc64/cache.S: New file.
40040 * kern/sparc64/cache.c: Removed.
40041 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
40042 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
40043 -mtune=ultrasparc.
40044 (COMMON_LDFLAGS): Add -melf64_sparc.
40045 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
40046 (grubof_SOURCES): Use cache.S instead of cache.c.
40047 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
40048 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
40049 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
40050 commented though.
40051 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
40052 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
40053 (linux_mod_CFLAGS): Commented out.
40054 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
40055 out because module isn't built.
40056 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
40057 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
40058 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
40059 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
40060 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
40061 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40062 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40063 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
40064 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
40065 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
40066 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40067 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40068 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
40069 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
40070
34eeec8a 400712005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
40072
40073 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
40074 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
40075 longer, because HFS should not be used on PC.
40076
708367a3 400772005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40078
40079 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
40080 consistently within the loop.
40081
6fa1251a 400822005-10-15 Marco Gerards <mgerards@xs4all.nl>
40083
40084 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
40085 directory can not be read.
40086
4801580b 400872005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40088
40089 * configure.ac (AC_INIT): Increase the version number to 1.91.
40090
40091 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
40092 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
40093 term/i386/pc/serial.c.
40094
219ad426 400952005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40096
40097 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
40098 file size must be permitted.
40099
40100 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
40101 between %ah and %al.
40102
688e5699 401032005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40104
40105 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
40106 grub_uint64_t.
40107 Call the hook with a NUL-terminated filename.
40108 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
40109 grub_cpu_to_be32.
40110
40111 * kern/term.c (cursor_state): New variable.
40112 (grub_term_set_current): Reset the cursor state on a new
40113 terminal.
40114 (grub_setcursor): Rewritten to use CURSOR_STATE.
40115 (grub_getcursor): New function.
40116
40117 * include/grub/term.h (grub_getcursor): New prototype.
40118
40119 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
40120 integers on ARM. Reported by Timothy Baldwin
40121 <T.E.Baldwin99@members.leeds.ac.uk>.
40122
bb34586c 401232005-10-11 Marco Gerards <mgerards@xs4all.nl>
40124
40125 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
40126 allocated.
40127 (grub_sfs_dir): Likewise.
40128
9a909877 401292005-10-09 Marco Gerards <mgerards@xs4all.nl>
40130
40131 Add support for the SFS filesystem.
40132
40133 * fs/sfs.c: New file.
40134
40135 * DISTLIST: Added `fs/sfs.c'.
40136
40137 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
40138 (grub_probefs_SOURCES): Likewise.
40139 (grub_emu_SOURCES): Likewise.
40140 (pkgdata_MODULES): Add `sfs.mod'.
40141 (sfs_mod_SOURCES): New variable.
40142 (sfs_mod_CFLAGS): Likewise.
40143 (sfs_mod_LDFLAGS): Likewise.
40144
40145 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
40146 (pkgdata_MODULES): Add `sfs.mod'.
40147 (sfs_mod_SOURCES): New variable.
40148 (sfs_mod_CFLAGS): Likewise.
40149
40150 * util/grub-emu.c (main): Call `grub_sfs_init' and
40151 `grub_sfs_fini'.
40152
40153 * include/grub/fs.h (grub_sfs_init): New prototype.
40154 (grub_sfs_fini): Likewise.
40155
57bdbde3 401562005-10-07 Marco Gerards <mgerards@xs4all.nl>
40157
40158 Add support for the AFFS filesystem.
40159
40160 * fs/affs.c: New file.
40161
40162 * DISTLIST: Added `fs/affs.c'.
40163
40164 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
40165 (grub_probefs_SOURCES): Likewise.
40166 (grub_emu_SOURCES): Likewise.
40167 (pkgdata_MODULES): Add `affs.mod'.
40168 (affs_mod_SOURCES): New variable.
40169 (affs_mod_CFLAGS): Likewise.
40170 (affs_mod_LDFLAGS): Likewise.
40171
40172 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
40173 (pkgdata_MODULES): Add `affs.mod'.
40174 (affs_mod_SOURCES): New variable.
40175 (affs_mod_CFLAGS): Likewise.
40176
40177 * util/grub-emu.c (main): Call `grub_affs_init' and
40178 `grub_affs_fini'.
40179
40180 * include/grub/fs.h (grub_affs_init): New prototype.
40181 (grub_affs_fini): Likewise.
40182
047b67e0 401832005-10-01 Marco Gerards <mgerards@xs4all.nl>
40184
40185 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
40186
59b8208a 401872005-10-01 Marco Gerards <mgerards@xs4all.nl>
40188
40189 * configure.ac: Accept `x86_64' as host_cpu. In that case add
40190 `-m32' to CFLAGS.
40191
40192 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
40193 linking.
f19dbdb7 40194
59b8208a 40195 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
40196 (COMMON_LDFLAGS): New variable.
40197 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
40198 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
40199 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
40200 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
40201 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
40202 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
40203 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
40204 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
40205 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
40206 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
40207 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40208 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40209 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
40210 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
40211 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
40212 variables.
40213 (normal_mod_ASFLAGS): Add `-m32'.
40214
40215 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
40216 (grub_host_size_t, grub_host_ssize_t): New types.
40217 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 40218 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 40219 `GRUB_HOST_SIZEOF_VOID_P'.
40220
40221 * include/grub/kernel.h (struct grub_module_header): Type of
40222 member offset changed to `grub_host_off_t'. Type of member size
40223 changed to `grub_host_size_t'.
40224 (struct grub_module_info): Type of member offset changed to
40225 `grub_host_off_t'. Type of member size changed to
40226 `grub_host_size_t'.
40227
b4093103 402282005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
40229
40230 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 40231
b4093103 40232 * kern/i386/pc/startup.S (multiboot_header): New label.
40233 (multiboot_entry): Likewise.
40234 (multiboot_trampoline): Likewise.
40235
40236 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40237 Increased to 0x4A0.
40238
40239 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
40240 put parentheses after a question mark.
40241 [!GRUB_UTIL] (my_mod): New variable.
40242
40243 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
40244
b2499b29 402452005-09-28 Marco Gerards <mgerards@xs4all.nl>
40246
40247 Adds support for the XFS filesystem. Btrees are not supported
40248 yet.
40249
40250 * fs/xfs.c: New file.
40251
40252 * DISTLIST: Added `fs/xfs.c'.
40253
40254 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
40255 (grub_probefs_SOURCES): Likewise.
40256 (grub_emu_SOURCES): Likewise.
40257 (pkgdata_MODULES): Add `xfs.mod'.
40258 (xfs_mod_SOURCES): New variable.
40259 (xfs_mod_CFLAGS): Likewise.
40260
40261 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
40262 (pkgdata_MODULES): Add `xfs.mod'.
40263 (xfs_mod_SOURCES): New variable.
40264 (xfs_mod_CFLAGS): Likewise.
40265
40266 * util/grub-emu.c (main): Call `grub_xfs_init' and
40267 `grub_xfs_fini'.
40268
40269 * include/grub/fs.h (grub_xfs_init): New prototype.
40270 (grub_xfs_fini): Likewise.
40271
f19dbdb7 40272
83d37a62 402732005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
40274
40275 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
40276 color modes, allow greater than 16 colors to be configured as
40277 a default palette.
40278
47d2d65e 402792005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
40280
40281 * normal/completion.c (complete_arguments): Add the qualifier
40282 const into OPTIONS.
40283
40284 From Omniflux <omniflux+lists@omniflux.com>:
40285 * include/grub/terminfo.h: New file.
40286 * include/grub/tparm.h: Likewise.
40287 * include/grub/i386/pc/serial.h: Likewise.
40288 * term/terminfo.c: Likewise.
40289 * term/tparm.c: Likewise.
40290 * term/i386/pc/serial.c: Likewise.
40291 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
40292 serial.mod.
40293 (terminfo_mod_SOURCES): New variable.
40294 (terminfo_mod_CFLAGS): Likewise.
40295 (serial_mod_SOURCES): Likewise.
40296 (serial_mod_CFLAGS): Likewise.
40297
48b671ff 402982005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
40299
40300 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
40301 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
40302 and kern/powerpc/ieee1275/cmain.c, respectively.
40303
40304 * boot/powerpc/ieee1275/crt0.S: Moved to ...
40305 * kern/powerpc/ieee1275/crt0.S: ... here.
40306
40307 * boot/powerpc/ieee1275/cmain.c: Moved to ...
40308 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 40309
48b671ff 40310 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
40311 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
40312 instead of boot/powerpc/ieee1275/crt0.S and
40313 boot/powerpc/ieee1275/cmain.c, respectively.
40314
40315 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
40316 sectors. It was not used anyway.
40317
09fc77a7 403182005-08-30 Hollis Blanchard <hollis@penguinppc.org>
40319
40320 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
40321 `unused parameter' warning.
40322
003789c7 403232005-08-30 Hollis Blanchard <hollis@penguinppc.org>
40324
40325 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
40326 function.
40327 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
40328 getcharwidth.
40329
67f44c86 403302005-08-28 Marco Gerards <metgerards@student.han.nl>
40331
40332 * include/grub/normal.h (enum grub_completion_type): Added
40333 `GRUB_COMPLETION_TYPE_ARGUMENT'.
40334
40335 * normal/cmdline.c (print_completion): Handle
40336 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
40337 * normal/menu_entry.c (store_completion): Likewise.
40338
40339 * normal/completion.c (complete_arguments): New function.
40340 (grub_normal_do_completion): Call `complete_arguments' when the
40341 current words start with a dash.
40342
0b5abe02 403432005-08-27 Marco Gerards <metgerards@student.han.nl>
40344
40345 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
40346 `gzio.mod' instead of `io.mod').
40347
d9864ee1 403482005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
40349
40350 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
40351 (DISTDIRS): Added io and video.
40352 Rewrite the search routine to make an output consistently.
40353
40354 * DISTLIST: Added conf/sparc64-ieee1275.mk,
40355 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
40356 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
40357 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
40358 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
40359 util/powerpc/ieee1275/misc.c.
f19dbdb7 40360
d9864ee1 40361 * include/grub/gzio.h: New file.
40362 * io/gzio.c: Likewise.
f19dbdb7 40363
d9864ee1 40364 * kern/file.c (grub_file_close): Call grub_device_close only if
40365 FILE->DEVICE is not NULL.
40366
40367 * include/grub/mm.h [!NULL] (NULL): New macro.
40368
40369 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
40370
40371 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
40372 (pkgdata_MODULES): Added gzio.mod.
40373 (gzio_mod_SOURCES): New variable.
40374 (gzio_mod_CFLAGS): Likewise.
40375
40376 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
40377 (pkgdata_MODULES): Added gzio.mod.
40378 (gzio_mod_SOURCES): New variable.
40379 (gzio_mod_CFLAGS): Likewise.
40380
40381 * commands/cat.c: Include grub/gzio.h.
40382 (grub_cmd_cat): Use grub_gzfile_open instead of
40383 grub_file_open.
f19dbdb7 40384
d9864ee1 40385 * commands/cmp.c: Include grub/gzio.h.
40386 (grub_cmd_cmp): Use grub_gzfile_open instead of
40387 grub_file_open.
40388
40389 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
40390 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
40391 grub_file_open.
40392 (grub_rescue_cmd_module): Likewise.
40393
fa46f4b5 403942005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
40395
40396 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
40397 kern/sparc64/ieee1275/init.c because it contains _start.
40398 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
40399
e9211b5d 404002005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
40401
40402 * configure.ac: Add support for sparc64 host with ieee1275
40403 firmware.
40404 * configure: Generated from configure.ac.
40405 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
40406 instead of int.
40407 (grub_ofdisk_read): Likewise.
40408 (grub_ofdisk_open): Use %p to print pointer values, and cast the
40409 pointers as (void *) to remove a warning.
40410 (grub_ofdisk_close): Likewise.
40411 (grub_ofdisk_read): Likewise.
40412 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
40413 returns, so make it return void to remove a warning.
40414 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
40415 Corresponding prototype change.
40416 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
40417 values, and cast the pointers as (void *) to remove a warning.
40418 (grub_mm_dump): Likewise.
40419 * conf/sparc64-ieee1275.mk: New file.
40420 * conf/sparc64-ieee1275.rmk: Likewise.
40421 * include/grub/sparc64/setjmp.h: Likewise.
40422 * include/grub/sparc64/types.h: Likewise.
40423 * include/grub/sparc64/ieee1275/console.h: Likewise.
40424 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
40425 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
40426 * include/grub/sparc64/ieee1275/time.h: Likewise.
40427 * kern/sparc64/cache.c: Likewise.
40428 * kern/sparc64/dl.c: Likewise.
40429 * kern/sparc64/ieee1275/init.c: Likewise.
40430 * kern/sparc64/ieee1275/openfw.c: Likewise.
40431
385c6a92 404322005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
40433
40434 * util/console.c (grub_ncurses_putchar): If C is greater than
40435 0x7f, set C to a question mark.
40436 (grub_ncurses_getcharwidth): New function.
40437 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
40438 getcharwidth.
40439
40440 * normal/menu.c (print_entry): Made aware of Unicode. First,
40441 convert TITLE to UCS-4, and predict the cursor position by
40442 grub_getcharwidth.
40443
40444 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
40445 const to SRC.
40446 * kern/misc.c (grub_utf16_to_utf8): Likewise.
40447
16ccb8b1 404482005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40449
40450 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
40451 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
40452 grub_strcat.
40453
40454 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
40455 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
40456 grub_strcpy and grub_strlen. Take it into account that a space
40457 character is inserted as a delimiter.
40458
6a85ce79 404592005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40460
40461 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 40462 invalid magic in the error.
6a85ce79 40463
40464 * commands/search.c: New file.
f19dbdb7 40465
6a85ce79 40466 * util/grub-emu.c (main): Call grub_search_init and
40467 grub_search_fini.
40468
40469 * kern/rescue.c (grub_rescue_print_disks): Removed.
40470 (grub_rescue_print_devices): New function.
40471 (grub_rescue_cmd_ls): Use grub_device_iterate with
40472 grub_rescue_print_devices instead of grub_disk_dev_iterate with
40473 grub_rescue_print_disks.
40474
40475 * kern/partition.c (grub_partition_iterate): Return the result of
40476 PARTMAP->ITERATE instead of GRUB_ERRNO.
40477
40478 * kern/device.c: Include grub/partition.h.
40479 (grub_device_iterate): New function.
40480
40481 * include/grub/partition.h (grub_partition_iterate): Return int
40482 instead of grub_err_t.
40483
40484 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
40485 prototype.
40486 [GRUB_UTIL] (grub_search_fini): Likewise.
40487
40488 * include/grub/device.h (grub_device_iterate): New prototype.
40489
40490 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40491 commands/search.c.
40492 (pkgdata_MODULES): Added search.mod.
40493 (search_mod_SOURCES): New variable.
40494 (search_mod_CFLAGS): Likewise.
40495
40496 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
40497 (pkgdata_MODULES): Added search.mod.
40498 (search_mod_SOURCES): New variable.
40499 (search_mod_CFLAGS): Likewise.
40500
40501 * commands/ls.c (grub_ls_list_disks): Renamed to ...
40502 (grub_ls_list_devices): ... this, and use grub_device_iterate.
40503 All callers changed.
40504
40505 * DISTLIST: Added commands/search.c.
40506
ef095434 405072005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40508
40509 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
40510 conversion.
40511 (grub_getcharwidth): New function.
40512
40513 * kern/misc.c (grub_utf8_to_ucs4): New function.
40514
40515 * include/grub/term.h (struct grub_term): Added a new member
40516 "getcharwidth".
40517 (grub_getcharwidth): New prototype.
40518
40519 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
40520
40521 * term/i386/pc/console.c (map_char): New function. Segregated from
40522 grub_console_putchar.
40523 (grub_console_putchar): Use map_char.
40524 (grub_console_getcharwidth): New function.
40525 (grub_console_term): Specified grub_console_getcharwidth as
40526 getcharwidth.
40527
40528 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
40529 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
40530
40531 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
40532 GRUB_ERRNO.
40533 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
40534 on grub_strtoul completely.
40535 (write_char): Declare local variables in the beginning of the
40536 function.
40537 (grub_vesafb_getcharwidth): New function.
40538 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
40539 getcharwidth.
40540
1f0a95e4 405412005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
40542
40543 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
40544 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
40545 commands/i386/pc/vbetest.c.
40546
40547 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
40548 call grub_vbe_get_controller_info again, because the returned
40549 information is volatile.
40550 (grub_vbe_set_video_mode): Mostly rewritten.
40551 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
40552 grub_vbe_status_t correctly.
40553 (grub_vbe_get_video_mode_info): Likewise.
40554 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
40555 several if statements.
40556
40557 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
40558 * commands/i386/pc/vbeinfo.c: ... this.
40559
40560 * commands/i386/pc/vbe_test.c: Renamed to ...
40561 * commands/i386/pc/vbetest.c: ... this.
40562
40563 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
40564 ...
40565 (grub_cmd_vbeinfo): ... this. Save video modes before
40566 iterating. Skip a video mode, if it is not available, not enough
40567 information is given or it is monochrome. Show the memory
40568 model. Leave the interpretation of MODEVAR to grub_strtoul
40569 completely.
40570 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
40571 (GRUB_MOD_FINI): Likewise.
40572
40573 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
40574 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
40575 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
40576 duplicated grub_env_get. Leave the interpretation of MODEVAR to
40577 grub_strtoul completely.
40578 (real2pm): Removed.
40579 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
40580 (GRUB_MOD_FINI): Likewise.
40581
40582 * normal/misc.c: Include grub/mm.h.
40583
40584 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
40585 vbe_list_modes with vbetest.mod and vbeinfo.mod.
40586 (vbe_list_modes_mod_SOURCES): Removed.
40587 (vbe_list_modes_mod_CFLAGS): Likewise.
40588 (vbe_test_mod_SOURCES): Likewise.
40589 (vbe_test_mod_CFLAGS): Likewise.
40590 (vbeinfo_mod_SOURCES): New variable.
40591 (vbeinfo_mod_CFLAGS): Likewise.
40592 (vbetest_mod_SOURCES): Likewise.
40593 (vbetest_mod_CFLAGS): Likewise.
40594
992ffbbe 405952005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
40596
40597 * normal/misc.c: New file.
40598
40599 * DISTLIST: Added normal/misc.c.
f19dbdb7 40600
992ffbbe 40601 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
40602 DISK to HOOK. Call HOOK with DISK.
40603 * partmap/apple.c (apple_partition_map_iterate): Likewise.
40604 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40605 * partmap/sun.c (sun_partition_map_iterate): Likewise.
40606
40607 * normal/menu_entry.c (struct screen): Added a new member
40608 "completion_shown".
40609 (completion_buffer): New global variable.
40610 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
40611 (store_completion): New function.
40612 (complete): Likewise.
40613 (clear_completions): Likewise.
40614 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
40615 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
40616 a tab, call complete.
40617
40618 * normal/completion.c (disk_dev): Removed.
40619 (print_simple_completion): Likewise.
40620 (print_partition_completion): Likewise.
40621 (print_func): New global variable.
40622 (add_completion): Do not take the arguments WHAT or PRINT any
40623 longer. Added a new argument TYPE. Instead of printing directly,
40624 call PRINT_FUNC if not NULL.
40625 All callers changed.
40626 (complete_device): Use a local variable DEV instead of
40627 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
40628 (grub_normal_do_completion): Take a new argument HOOK. Do not
40629 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
40630 empty string, return NULL instead.
40631 All callers changed.
40632
40633 * normal/cmdline.c (print_completion): New function.
40634
40635 * kern/partition.c (grub_partition_iterate): Add an argument DISK
40636 to HOOK.
40637 All callers changed.
40638
40639 * kern/disk.c (grub_print_partinfo): Removed.
40640
40641 * include/grub/partition.h (struct grub_partition_map): Add a new
40642 argument DISK into HOOK of ITERATE.
40643 (grub_partition_iterate): Add a new argument DISK to HOOK.
40644
40645 * include/grub/normal.h (enum grub_completion_type): New enum.
40646 (grub_completion_type_t): New type.
40647 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
40648 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
40649 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
40650 (GRUB_COMPLETION_TYPE_FILE): Likewise.
40651 (grub_normal_do_completion): Added a new argument HOOK.
40652 (grub_normal_print_device_info): New prototype.
40653
40654 * include/grub/disk.h (grub_print_partinfo): Removed.
40655
40656 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
40657 (normal_mod_SOURCES): Likewise.
40658 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40659 (normal_mod_SOURCES): Likewise.
40660
40661 * commands/ls.c (grub_ls_list_disks): Use
40662 grub_normal_print_device_info instead of grub_print_partinfo. Free
40663 PNAME.
40664 (grub_ls_list_files): Use grub_normal_print_device_info instead of
40665 duplicating the code.
40666
0bd41162 406672005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
40668
40669 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 40670 follow GCS more precisely.
40671 * commands/i386/pc/vbe_test.c: Likewise.
40672 * include/grub/i386/pc/vbe.h: Likewise.
40673 * term/i386/pc/vesafb.c: Likewise.
40674 * video/i386/pc/vbe.c: Likewise.
0bd41162 40675
6323696a 406762005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
40677
40678 * DISTLIST: Added term/i386/pc/vesafb.c
40679 DISTLIST: Added video/i386/pc/vbe.c
40680 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
40681 DISTLIST: Added commands/i386/pc/vbe_test.c.
40682 * commands/i386/pc/vbe_list_modes.c: New file.
40683 * commands/i386/pc/vbe_test.c: Likewise.
40684 * term/i386/pc/vesafb.c: Likewise.
40685 * video/i386/pc/vbe.c: Likewise.
40686 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
40687 (grub_vbe_probe) Added prototype.
40688 (grub_vbe_set_video_mode) Likewise.
40689 (grub_vbe_get_video_mode) Likewise.
40690 (grub_vbe_get_video_mode_info) Likewise.
40691 (grub_vbe_set_pixel_rgb) Likewise.
40692 (grub_vbe_set_pixel_index) Likewise.
40693 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
40694 (pkgdata_MODULES): Added vesafb.mod.
40695 (pkgdata_MODULES): Added vbe_list_modes.mod.
40696 (pkgdata_MODULES): Added vbe_test.mod.
40697 (vbe_mod_SOURCES): Added.
40698 (vbe_mod_CFLAGS): Likewise.
40699 (vesafb_mod_SOURCES): Likewise.
40700 (vesafb_mod_CFLAGS): Likewise.
40701 (vbe_list_modes_mod_SOURCES): Likewise.
40702 (vbe_list_modes_mod_CFLAGS): Likewise.
40703 (vbe_test_mod_SOURCES): Likewise.
40704 (vbe_test_mod_CFLAGS): Likewise.
40705
0a74e62f 407062005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
40707
0a74e62f 40708 * normal/command.c (grub_command_execute): If INTERACTIVE is
40709 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
40710 CMDLINE. Disable the pager if INTERACTIVE is true.
40711 All callers are changed.
40712
40713 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
40714 before reading a config file.
40715 * normal/main.c (read_config_file): Even if a command is not
40716 found, register it if it is within an entry.
40717
40718 * util/grub-emu.c: Include sys/types.h and unistd.h.
40719 (options): Added --hold.
40720 (struct arguments): Added a new member "hold".
40721 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
40722 missing.
40723 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
40724 cleared by a debugger, if it is not zero.
40725
40726 * include/grub/normal.h (grub_command_execute): Add an argument
40727 INTERACTIVE.
40728
e51f85ae 407292005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
40730
40731 * DISTLIST: Added include/grub/i386/pc/vbe.h.
40732
e9c6f39b 407332005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
40734
40735 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
40736 program with another one, because the old one didn't detect a bug
40737 in gcc-3.4. Always use regparm 2, because the new test is still
40738 not enough for gcc-4.0. Someone must investigate a simple test
40739 case which detects a bug in gcc-4.0.
40740
8de3495c 407412005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
40742
40743 * DISTLIST: Added normal/completion.c.
40744
40745 * normal/completion.c: New file.
f19dbdb7 40746
8de3495c 40747 * term/i386/pc/console.c (grub_console_getwh): New function.
40748 (grub_console_term): Assign grub_console_getwh to getwh.
40749
40750 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
40751 function is defined in normal/completion.c as
40752 grub_normal_do_completion.
40753 (grub_cmdline_get): Use grub_normal_do_completion instead of
40754 grub_tab_complete.
40755
40756 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
40757 returns non-zero, otherwise return 0.
40758 (grub_partition_iterate): First, probe the partition map. Then,
40759 call ITERATE only for this partition map.
40760
40761 * kern/misc.c (grub_strncmp): Rewritten.
40762
40763 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
40764 returns non-zero. Otherwise return 0.
40765
40766 * include/grub/partition.h (grub_partition_map_iterate): Return
40767 int instead of void.
40768
40769 * include/grub/normal.h (grub_normal_do_completion): New prototype.
40770
40771 * include/grub/misc.h (grub_strncmp): Change the type of N to
40772 grub_size_t.
40773
40774 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
40775 of void.
40776
40777 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 40778 unsigned explicitly before comparing it with I.
8de3495c 40779
40780 * kern/main.c (grub_env_write_root): Add the attribute unused into
40781 VAR.
40782
40783 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40784 normal/completion.c.
40785 (normal_mod_SOURCES): Likewise.
40786 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40787 (normal_mod_SOURCES): Likewise.
40788
40789 * normal/command.c (grub_iterate_commands): If ITERATE returns
40790 non-zero, return one immediately.
40791
e85e144b 407922005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
40793
40794 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
40795 * kern/i386/pc/startup.S: Updated Global Descriptor table's
40796 descriptions.
40797 (grub_vbe_get_controller_info): New function.
40798 (grub_vbe_get_mode_info): Likewise.
40799 (grub_vbe_set_mode): Likewise.
40800 (grub_vbe_get_mode): Likewise.
40801 (grub_vbe_set_memory_window): Likewise.
40802 (grub_vbe_get_memory_window): Likewise.
40803 (grub_vbe_set_scanline_length): Likewise.
40804 (grub_vbe_get_scanline_length): Likewise.
40805 (grub_vbe_set_display_start): Likewise.
40806 (grub_vbe_get_display_start): Likewise.
40807 (grub_vbe_set_palette_data): Likewise.
40808 * include/grub/i386/pc/vbe.h: New file.
40809
c46153d2 408102005-08-08 Hollis Blanchard <hollis@penguinppc.org>
40811
40812 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
40813 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
40814 * DISTLIST: Likewise.
40815 * kern/ieee1275/of.c: Moved to ...
40816 * kern/ieee1275/ieee1275.c: ... here.
40817
0cb90c45 408182005-08-08 Hollis Blanchard <hollis@penguinppc.org>
40819
40820 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
40821 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
40822 Pass 0 as `end' parameter to grub_strtoul().
40823
a19fb360 408242005-08-08 Hollis Blanchard <hollis@penguinppc.org>
40825
40826 * include/grub/powerpc/ieee1275/console.h: Do not include
40827 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
40828 ifdef.
40829 (grub_console_cur_color): Remove i386-specific prototype.
40830 (grub_console_real_putchar): Likewise.
40831 (grub_console_checkkey): Likewise.
40832 (grub_console_getkey): Likewise.
40833 (grub_console_getxy): Likewise.
40834 (grub_console_gotoxy): Likewise.
40835 (grub_console_cls): Likewise.
40836 (grub_console_setcursor): Likewise.
40837 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
40838 Include <grub/machine/console.h>.
40839 * term/ieee1275/ofconsole.c: Likewise.
40840
4ac9bd04 408412005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
40842
40843 * Makefile.in (LIBLZO): New variable.
40844
40845 * configure.ac: Check for LZO version 2.
40846
40847 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
40848 lzo/lzo1x.h instead of lzo1x.h.
40849
40850 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
40851 of -llzo.
40852
40853 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
40854 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
40855
40856 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
40857 copying the data from PARTITION to P.
40858
f4917dfd 408592005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
40860
40861 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
40862 negative, unload the module.
40863
40864 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
40865 map is "pc_partition_map" but not "pc".
40866 (usage): Fix the description. The options are --boot-image and
40867 --core-image but not --boot-file or --core-file.
40868 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
40869 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
40870 DEFAULT_DIRECTORY.
40871
40872 * util/i386/pc/grub-install.in: Do not specify --boot-file or
40873 --core-file. Specify INSTALL_DEVICE as an argument.
40874
40875 * util/console.c: Include config.h.
40876 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
40877 [HAVE_NCURSES_H]: Include ncurses.h.
40878 [HAVE_CURSES_H]: Include curses.h.
40879 [!A_NORMAL] (A_NORMAL): Defined as zero.
40880 [!A_STANDOUT] (A_STANDOUT): Likewise.
40881
40882 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
40883 -lncurses.
40884 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
40885
40886 * configure.ac: Check for curses libraries and headers.
40887
40888 * Makefile.in (LIBCURSES): New variable.
40889
40890 * genmk.rb (Script::rule): Set the executable bits.
40891
40892 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
40893 name of the PC partition map is "pc_partition_map" but not "pc".
40894
0e143073 408952005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
40896
40897 * util/i386/pc/grub-install.in (grub_probefs): New variable.
40898 (modules): Likewise.
40899 (usage): Added descriptions for --modules and --grub-probefs.
40900 Handle --modules and --grub-probefs. Save the arguments in MODULES
40901 and GRUB_PROBEFS, respectively.
40902 Auto-detect a filesystem module against GRUBDIR. If the result is
40903 empty and modules are not specified explicitly, abort the
40904 installation. Add the result to MODULES.
40905
40906 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
40907 disk/powerpc/ieee1275/ofdisk.c,
40908 include/grub/powerpc/ieee1275/init.h and
40909 term/powerpc/ieee1275/ofconsole.c.
40910 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
40911 term/ieee1275/ofconsole.c.
40912
40913 * include/grub/powerpc/ieee1275/console.h: Resurrected.
40914
40915 * COPYING: Upgraded to the latest version. Only the address of the
40916 FSF office has changed.
f19dbdb7 40917
efd6e6d5 409182005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
40919
40920 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
40921 kern/ieee1275.c with kern/ieee1275/of.c.
40922
40923 * kern/ieee1275.c: Moved to ...
40924 * kern/ieee1275/of.c: ... here.
40925
8ceafda2 409262005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
40927
40928 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 40929 readability.
8ceafda2 40930
40931 * config.guess: Updated to the latest version from gnulib.
40932 * config.sub: Likewise.
40933 * install.sh: Likewise.
40934 * mkinstalldirs: Likewise.
40935
40936 * include/grub/console.h: Removed. This file is arch-specific. Do
40937 not put this in include/grub.
40938
40939 * include/grub/i386/pc/console.h: Resurrected.
40940
40941 * util/console.c: Include grub/machine/console.h instead of
40942 grub/console.h.
40943 * util/grub-emu.c: Likewise.
40944
267f6cd9 409452005-08-04 Marco Gerards <metgerards@student.han.nl>
40946
40947 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
40948 hardcoded value.
f19dbdb7 40949
267f6cd9 40950 From Vincent Pelletier <subdino2004@yahoo.fr>
40951 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
40952 Redefined to use grub_getwh.
40953 (grub_term): New member named getwh.
40954 (grub_getwh): New prototype.
40955 * kern/term.c (grub_getwh): New function.
40956 * term/i386/pc/console.c (grub_console_getwh): New function.
40957 (grub_console_term): New member `getwh'.
40958 * term/i386/pc/vga.c (grub_vga_getwh): New function.
40959 (grub_vga_term): New member `getwh'.
0b5abe02 40960 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 40961 grub_ssize_t.
40962 (grub_ofconsole_getw): New function.
40963 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
40964 (grub_ofconsole_term): New field named getwh and new initial
40965 value.
40966
3be7266d 409672005-08-03 Hollis Blanchard <hollis@penguinppc.org>
40968
40969 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
40970 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
40971 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
40972 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
40973 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
40974 of <grub/machine/ieee1275.h>.
40975 * commands/ieee1275/reboot.c: Likewise.
40976 * boot/powerpc/ieee1275/ieee1275.c: Move ...
40977 * kern/ieee1275.c: ... to here. All users updated. Change all
40978 parameter structs to use new type `grub_ieee1275_cell_t'.
40979 * term/powerpc/ieee1275/ofconsole.c: Move ...
40980 * term/ieee1275/ofconsole.c: ... to here. All users updated.
40981 * disk/powerpc/ieee1275/ofdisk.c: Move ...
40982 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
40983 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
40984 to return int.
40985 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
40986 Remove unused prototypes. All users updated.
40987 * include/grub/powerpc/ieee1275/console.h: Removed.
40988 * include/grub/powerpc/ieee1275/ieee1275.h: Define
40989 `grub_ieee1275_cell_t'.
40990 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
40991 Cast comparisons with -1 to the correct type.
40992 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
40993 type to match `grub_ieee1275_entry_fn'.
40994
8b5f3938 409952005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
40996
40997 * DISTLIST: Added util/i386/pc/grub-probefs.c.
40998
40999 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
41000 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
41001 partmap/sun.c.
41002 (grub_probefs_SOURCES): New variable.
41003
41004 * util/i386/pc/grub-probefs.c: New file.
41005
41006 * util/i386/pc/grub-setup.c (main): Call
41007 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
41008 grub_hfs_init and grub_jfs_init to initialize the system. Call
41009 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
41010 grub_pc_partition_map_fini to finish the system.
41011
ea409713 410122005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
41013
41014 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
41015 function.
41016 (grub_multiboot_load_elf32): Likewise.
41017 (grub_multiboot_is_elf64): Likewise.
41018 (grub_multiboot_load_elf64): Likewise.
41019 (grub_multiboot_load_elf): Likewise.
41020 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
41021 an ELF32 or ELF64 file.
41022 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
41023
41024 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
41025 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
41026 NULL before calling FS->LABEL.
41027 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
41028 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
41029 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
41030 before calling FS->LABEL.
41031
141a288b 410322005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
41033
41034 * util/i386/pc/grub-install.in (datadir): New variable.
41035 (libdir): Removed.
41036 (pkgdatadir): New variable.
41037 (pkglibdir): Removed.
41038
0d5f8a54 410392005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
41040
41041 * DISTLIST: Added util/i386/pc/grub-install.in.
41042
41043 * util/i386/pc/grub-install.in: New file.
41044
41045 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
41046 (grub_install_SOURCES): Likewise.
41047
41048 * genmk.rb: Added support for scripts.
41049 (Script): New class.
41050 (scripts): New variable.
41051
41052 * Makefile.in (install-local): Install sbin_SCRIPTS by
41053 INSTALL_SCRIPT.
41054 (uninstall): Remove sbin_SCRIPTS.
41055
41056 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
41057 device, try to get a GRUB device by
41058 grub_util_biosdisk_get_grub_dev.
41059 Free DEST_DEV.
41060
41061 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
41062 description for --device-map.
41063
5f968e1e 410642005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41065
41066 Change the semantics of variable hooks. They now return strings
41067 instead of error values.
f19dbdb7 41068
5f968e1e 41069 * util/i386/pc/grub-setup.c: Include grub/env.h.
41070 (setup): Use grub_device_set_root instead of grub_env_set.
41071
41072 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
41073 grub_env_get instead of grub_device_set_root and
41074 grub_device_get_root, respectively.
41075
41076 * kern/main.c (grub_env_write_root): New function.
41077 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
41078 grub_env_set instead of grub_device_set_root.
41079
41080 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
41081 many variables.
41082 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
41083 rather than calling ENV->WRITE_HOOK afterwards.
41084 (grub_env_get): Return the result of ENV->READ_HOOK rather than
41085 passing a pointer of a pointer.
41086 (grub_register_variable_hook): Change the types of "read_hook" and
41087 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
41088 respectively.
41089 Allocate the default empty string on the heap, because this string
41090 may be freed later.
41091
41092 * kern/device.c: Include grub/env.h.
41093 (grub_device_set_root): Removed.
41094 (grub_device_get_root): Likewise.
41095 (grub_device_open): Use grub_env_get instead of
41096 grub_device_get_root.
41097
41098 * include/grub/env.h (grub_env_read_hook_t): New type.
41099 (grub_env_write_hook_t): Likewise.
41100 (grub_env_var): Change the types of "read_hook" and "write_hook"
41101 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
41102 (grub_register_variable_hook): Likewise.
41103
41104 * include/grub/device.h (grub_device_set_root): Removed.
41105 (grub_device_set_root): Likewise.
41106
41107 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
41108 make sure that DIRNAME terminates with '/', so that
41109 grub_fat_find_dir will fail if PATH is not a directory.
41110
41111 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
41112 from DIRNAME.
41113 Use the qualifier auto for print_files and print_files_long.
41114 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
41115 as a regular file.
41116 Put a newline only if there is no error.
41117 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
41118 used.
41119
896f0afd 411202005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41121
41122 * kern/partition.c (grub_partition_probe): Initialize PART to
41123 NULL. Otherwise, when no partition map is registered, this returns
41124 a garbage.
41125
b28b81b2 411262005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
41127
41128 * partmap/apple.c (apple_partition_map_iterate): Check if POS
41129 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
41130 valid.
41131
5f3607e0 411322005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
41133
41134 * commands/ls.c (grub_ls_list_disks): Print the filesystem
41135 information on each device, if it does not have partitions. Print
41136 "Device" instead of "Disk", because this function is not specific
41137 to disk devices.
41138
41139 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
41140 static to ensure that it is put on the memory rather than a
41141 register.
41142
502c87e8 411432005-07-17 Yoshinori Okuji <okuji@enbug.org>
41144
41145 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
41146 (grub_cat_init): Likewise.
41147 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
41148 (options): Likewise.
41149 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
41150 (grub_configfile_init): Likewise.
41151 * font/manager.c (GRUB_MOD_INIT): Likewise.
41152 * commands/help.c (GRUB_MOD_INIT): Likewise.
41153 (grub_help_init): Likewise.
41154 * normal/command.c (grub_command_init): Likewise.
41155 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
41156 * disk/loopback.c (grub_loop_init): Likewise.
41157 (GRUB_MOD_INIT): Likewise.
41158 * commands/ls.c (grub_ls_init): Likewise.
41159 (GRUB_MOD_INIT): Likewise.
41160 (options): Likewise.
41161 * commands/boot.c (grub_boot_init): Likewise.
41162 (GRUB_MOD_INIT): Likewise.
41163 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
41164 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
41165 (GRUB_MOD_INIT): Likewise.
41166 * commands/cmp.c (grub_cmp_init): Likewise.
41167 (GRUB_MOD_INIT): Likewise.
41168
41169 * normal/arg.c: Use <> instead of "" to include header files.
41170 (SHORT_ARG_HELP): New macro.
41171 (SHORT_ARG_USAGE): Likewise.
41172 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
41173 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
41174 descriptions.
41175 (find_short): Check if C is 'h' or 'u' explicitly.
41176 (grub_arg_show_help): Use space characters instead of tabs. Treat
41177 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
41178 are shown with --help and --usage only if they are not used for
41179 the command itself.
41180 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
41181 'h' and 'u'.
41182
41183 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
41184 const into "longarg". Change the type of "shortarg" to int.
41185
f806d18e 411862005-07-17 Yoshinori Okuji <okuji@enbug.org>
41187
41188 * boot/i386/pc/boot.S (boot_drive_check): New label.
41189
41190 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
41191 macro.
41192
41193 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
41194 which do not pass a boot drive correctly. Copied from GRUB Legacy.
41195
e293232b 411962005-07-17 Yoshinori Okuji <okuji@enbug.org>
41197
41198 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
41199 When turning off Gate A20, skip the check and return immediately,
41200 because this is not fatal usually.
41201
ebedfd00 412022005-07-17 Yoshinori Okuji <okuji@enbug.org>
41203
41204 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
41205 be 0x7C00 instead of 0x8000.
41206
41207 * boot/i386/pc/pxeboot.S: Rewritten.
41208
41209 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
41210 EXT_C.
41211 (gate_a20_check_state): Read a byte from 0x108000. Invert the
41212 result.
41213
654fc59f 412142005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
41215
41216 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
41217 robustness. This routine now supports a BIOS call and System
41218 Control Port A to modify the gate A20.
41219
41220 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41221 Increased to 0x440.
41222
09f9923f 412232005-07-12 Hollis Blanchard <hollis@penguinppc.org>
41224
41225 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
41226 device path and resulting ihandle.
41227 (grub_ofdisk_close): dprintf the ihandle being closed.
41228 (grub_ofdisk_read): dprintf function parameters.
41229 * kern/mm.c (grub_mm_init_region): Likewise.
41230 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
41231 (grub_linux_boot): dprintf the Linux entry point, initrd address and
41232 size, and boot arguments.
41233 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
41234 before loading into memory.
41235 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
41236 before loading into memory.
41237
7ef504d8 412382005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
41239
41240 * kern/mm.c: Added much documentation.
41241 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
41242 8, set to 5 instead of 8.
41243
e0f050c2 412442005-07-10 Yoshinori Okuji <okuji@enbug.org>
41245
41246 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
41247
41248 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
41249 (grub_mkdevicemap_SOURCES): New variable.
41250
41251 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
41252 lib/device.c of GRUB Legacy.
41253
7224189a 412542005-07-10 Yoshinori Okuji <okuji@enbug.org>
41255
41256 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
41257 instead of PATH is NULL.
41258
68c864eb 412592005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
41260
41261 * commands/cmp.c (BUFFER_SIZE): New macro.
41262 (grub_cmd_cmp): Close the right file at the right time. Compare
41263 only data just read. Don't report files of different size as
41264 identical. Dynamically allocate buffers. Move variable
41265 declarations at the beginning of function.
41266
e6f3e614 412672005-07-09 Yoshinori Okuji <okuji@enbug.org>
41268
41269 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
41270 reverse.
41271
f8f1559a 412722004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
41273
41274 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
41275 when backspace is pressed at beginning of line.
41276
39c9d41d 412772005-07-03 Yoshinori Okuji <okuji@enbug.org>
41278
41279 * DISTLIST: Added genfslist.sh.
41280
41281 * normal/main.c (fs_module_list): New variable.
41282 (autoload_fs_module): New function.
41283 (read_fs_list): Likewise.
41284 (grub_normal_execute): Call read_fs_list.
41285
41286 * kern/fs.c (grub_fs_autoload_hook): New variable.
41287 (grub_fs_probe): Added support for auto-loading.
41288
41289 * include/grub/normal.h (struct grub_fs_module_list): New struct.
41290 (grub_fs_module_list_t): New type.
41291
41292 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
41293 (grub_fs_autoload_hook): New prototype.
41294
41295 * genfslist.sh: New file.
f19dbdb7 41296
39c9d41d 41297 * genmk.rb: Added a rule to generate a filesystem list.
41298
121c1d83 412992005-06-30 Marco Gerards <metgerards@student.han.nl>
41300
41301 * configure.ac: Fix the test for cross-compiling.
41302
41303 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
41304 define GRUB_UTIL anymore.
41305
41306 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
41307 so this function works on other systems than just big endian.
41308 (load_modules): Likewise.
41309 (add_segments): Likewise.
41310
e75d76e1 413112005-06-23 Hollis Blanchard <hollis@penguinppc.org>
41312
41313 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
41314 contains `l' modifier, get a long from va_arg().
41315
50b5a0a7 413162005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
41317
41318 * kern/mm.c (grub_free): If the next free block which is being
41319 merged is the first free block, set the first block to the block
41320 being freed.
41321 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
41322
89371b20 413232005-05-08 Hollis Blanchard <hollis@penguinppc.org>
41324
41325 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
41326 `grub_ieee1275_chosen'.
41327
168d6e58 413282005-05-08 Hollis Blanchard <hollis@penguinppc.org>
41329
41330 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
41331 (grub_ieee1275_chosen): New variable.
41332 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
41333 `chosen'.
41334 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
41335 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
41336 Rename first argument to `phandle' for consistency.
41337 (grub_ieee1275_get_property_length): Likewise.
41338 (grub_ieee1275_next_property): Likewise. Change type of first argument
41339 to grub_ieee1275_phandle_t.
41340 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
41341 Move export next to declaration.
41342 (grub_ieee1275_chosen): New variable.
41343 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
41344 Correct cosmetic typo.
41345 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
41346 `grub_ieee1275_chosen'.
41347 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
41348 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
41349 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
41350 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
41351 `grub_ieee1275_chosen'.
41352
ca5baa3f 413532005-05-10 Hollis Blanchard <hollis@penguinppc.org>
41354
41355 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
41356 /chosen/bootargs.
41357 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
41358 /chosen/bootargs as "variable=value" pairs.
41359
708b345f 413602005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
41361
41362 * include/grub/misc.h (grub_dprintf): New macro.
41363 (grub_real_dprintf): New prototype.
41364 (grub_strword): Likewise.
41365 (grub_iswordseparator): Likewise.
41366 * kern/misc.c (grub_real_dprintf): New function.
41367 (grub_strword): Likewise.
41368 (grub_iswordseparator): Likewise.
41369
f4c5e67c 413702005-04-30 Hollis Blanchard <hollis@penguinppc.org>
41371
41372 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
41373 (roundup): Remove macro.
41374 (grub_ieee1275_flags): Make static.
41375 (grub_ieee1275_realmode): Remove.
41376 (grub_ieee1275_test_flag): New function.
41377 (grub_ieee1275_set_flag): Likewise.
41378 (find_options): Rename to `grub_ieee1275_find_options'; update
41379 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
41380 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
41381 (cmain): New prototype.
41382 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
41383 `grub_ieee1275_flags' directly.
41384 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
41385 machine/biosdisk.h.
41386 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
41387 Don't include grub/machine/init.h.
41388 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
41389 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
41390 Remove prototype.
41391 (grub_ieee1275_realmode): Likewise.
41392 (grub_ieee1275_flag): New enum.
41393 (grub_ieee1275_test_flag): New prototype.
41394 (grub_ieee1275_set_flag): New prototype.
41395 * include/grub/powerpc/ieee1275/init.h: Remove file.
41396 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
41397 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
41398 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
41399 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
41400 comment.
41401 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
41402 `grub_ieee1275_test_flag'.
41403 (grub_ieee1275_encode_devname): Likewise.
41404
ed16607e 414052005-04-21 Hollis Blanchard <hollis@penguinppc.org>
41406
41407 * include/grub/powerpc/ieee1275/ieee1275.h
41408 (grub_ieee1275_encode_devname): New prototype.
41409 (grub_ieee1275_get_filename): Likewise.
41410 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
41411 function.
41412 (grub_set_prefix): Likewise.
41413 (grub_machine_init): Call grub_set_prefix.
41414 * kern/powerpc/ieee1275/openfw.c: Fix typos.
41415 (grub_parse_type): New enum.
41416 (grub_ieee1275_get_devargs): New function.
41417 (grub_ieee1275_get_devname): Likewise.
41418 (grub_ieee1275_parse_args): Likewise.
41419 (grub_ieee1275_get_filename): Likewise.
41420 (grub_ieee1275_encode_devname): Likewise.
41421
be369920 414222005-03-30 Marco Gerards <metgerards@student.han.nl>
41423
41424 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
41425 `grub_loader_unset'.
41426
a5ce3a4a 414272005-03-26 Hollis Blanchard <hollis@penguinppc.org>
41428
41429 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
41430 instead of grub_ieee1275_interpret.
41431 (grub_halt_init): New function.
41432 (grub_halt_fini): Likewise.
41433 (GRUB_MOD_INIT): Correct message grammar.
41434 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
41435 instead of grub_ieee1275_interpret.
41436 (grub_reboot_init): New function.
41437 (grub_reboot_fini): Likewise.
41438 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
41439 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
41440 util/i386/pc/misc.c with commands/ieee1275/halt.c,
41441 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
41442 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
41443 function.
41444 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
41445 Add prototype.
41446 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
41447 prototype.
41448 (grub_halt): Likewise.
41449 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
41450 (cmain): Remove __attribute__((unused)).
41451 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
41452 (grub_heap_len): Likewise.
41453 (grub_machine_fini): New function.
41454 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
41455 (grub_halt): Likewise.
41456 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
41457 function.
41458 * util/powerpc/ieee1275/misc.c: New file.
41459
0058f771 414602005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
41461
41462 * DISTLIST: New file.
41463 * gendistlist.sh: Likewise.
f19dbdb7 41464
0058f771 41465 * Makefile.in (COMMON_DISTFILES): Removed.
41466 (BOOT_DISTFILES): Likewise.
41467 (CONF_DISTFILES): Likewise.
41468 (DISK_DISTFILES): Likewise.
41469 (FS_DISTFILES): Likewise.
41470 (INCLUDE_DISTFILES): Likewise.
41471 (KERN_DISTFILES): Likewise.
41472 (LOADER_DISTFILES): Likewise.
41473 (TERM_DISTFILES): Likewise.
41474 (UTIL_DISTFILES): Likewise.
41475 (DISTFILES): Likewise.
41476 (uninstall): Uninstall files in $(pkgdata_DATA).
41477 (DISTLIST): New target.
41478 (distdir): Use the contents of the file DISTLIST to get a list of
41479 distributed files.
41480
46b3b8a5 414812005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
41482
41483 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
41484 descriptor. This is ported from GRUB Legacy.
41485
41486 * gencmdlist.sh: Added an extra semicolon to make it work with
41487 old sed versions. Reported by Robert Bihlmeyer
41488 <robbe@orcus.priv.at>.
41489
5822ff87 414902005-03-08 Yoshinori Okuji <okuji@enbug.org>
41491
41492 Automatic loading of commands is supported.
f19dbdb7 41493
5822ff87 41494 * normal/main.c (read_command_list): New function.
41495 (grub_normal_execute): Call read_command_list.
41496
41497 * normal/command.c (grub_register_command): Return zero or CMD.
41498 Allocate CMD->NAME from the heap.
41499 Initialize CMD->MODULE_NAME to zero.
41500 Find the same name as well. If the same command is found and it is
41501 a dummy command, overwrite members. If it is not a dummy command,
41502 return zero.
41503 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
41504 (grub_command_find): If a dummy command is found, load a module
41505 and retry to find a command only once.
41506
41507 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
41508 make sure that each command is loaded.
41509
41510 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
41511 macro.
41512 (struct grub_command): Remove const from the member `name'.
41513 Add a new member `module_name'.
41514 (grub_register_command): Return grub_command_t.
41515
41516 * commands/help.c (grub_cmd_help): Call grub_command_find to make
41517 sure that each command is loaded.
41518
41519 * genmk.rb (PModule::rule): Specify a module name without the
41520 suffix ".mod" to gencmdlist.sh.
41521
7b1f4b57 415222005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
41523
41524 * gencmdlist.sh: New file.
f19dbdb7 41525
7b1f4b57 41526 * genmk.rb (PModule::rule): Generate a rule for a command list.
41527 Clean command.lst.
41528 Generate command.lst from $(COMMANDFILES).
41529
41530 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
41531 (DATA): Added $(pkgdata_DATA).
41532 (install-local): Install files in $(pkgdata_DATA).
41533
062aaf39 415342005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
41535
41536 * term/i386/pc/vga.c (debug_command): Removed.
41537 (GRUB_MOD_INIT): Do not register the command "debug".
41538
41539 From Hollis Blanchard:
41540 * commands/configfile.c: New file.
41541 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41542 commands/configfile.c.
41543 (pkgdata_MODULES): Added configfile.mod.
41544 (configfile_mod_SOURCES): New variable.
41545 (configfile_mod_CFLAGS): Likewise.
41546 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41547 commands/configfile.c.
41548 (pkgdata_MODULES): Added configfile.mod.
41549 (configfile_mod_SOURCES): New variable.
41550 (configfile_mod_CFLAGS): Likewise.
41551 * util/grub-emu.c (main): Call grub_configfile_init and
41552 grub_configfile_fini.
41553 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
41554 prototype.
41555 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 41556
cee01aa6 415572005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
41558
41559 * normal/arg.c (grub_arg_show_help): Do not show the bug report
41560 address.
41561
41562 * commands/help.c (grub_cmd_help): Do not print newlines after
41563 the last command in print_command_help.
41564
93f3a1d8 415652005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
41566
41567 * commands/default.h: New file.
41568 * commands/timeout.h: Likewise.
41569 * normal/context.c: Likewise.
f19dbdb7 41570
93f3a1d8 41571 * util/misc.c: Do not include sys/times.h.
41572 Include sys/time.h and grub/machine/time.h.
41573 (grub_get_rtc): Rewritten with gettimeofday.
41574
41575 * util/grub-emu.c (main): Call grub_default_init and
41576 grub_timeout_init before grub_normal_init, and call
41577 grub_timeout_fini and grub_default_fini after grub_main.
41578
41579 * util/console.c (grub_ncurses_checkkey): Return the read
41580 character or -1.
41581
41582 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
41583 timeouts.
41584
41585 * normal/main.c (read_config_file): Push MENU. If this fails,
41586 print an error and wait for a user input.
41587 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
41588 If a menu is empty or an error occurs, pop MENU.
41589 (grub_normal_execute): Pop and free MENU after grub_menu_run
41590 returns.
41591
41592 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
41593
41594 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
41595 include time.h.
41596 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
41597 without GRUB_UTIL.
41598 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
41599 time.h.
41600 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
41601 without GRUB_UTIL.
41602
41603 * include/grub/normal.h (struct grub_menu_list): New struct.
41604 (grub_menu_list_t): New type.
41605 (struct grub_context): New struct.
41606 (grub_context_t): New type.
41607 (grub_register_command): Got rid of EXPORT_FUNC.
41608 (grub_unregister_command): Likewise.
41609 (grub_context_get): New prototype.
41610 (grub_context_get_current_menu): Likewise.
41611 (grub_context_push_menu): Likewise.
41612 (grub_context_pop_menu): Likewise.
41613 [GRUB_UTIL] (grub_default_init): Likewise.
41614 [GRUB_UTIL] (grub_default_fini): Likewise.
41615 [GRUB_UTIL] (grub_timeout_init): Likewise.
41616 [GRUB_UTIL] (grub_timeout_fini): Likewise.
41617
41618 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
41619 commands/timeout.c and normal/context.c.
41620 (pkgdata_MODULES): Added default.mod and timeout.mod.
41621 (normal_mod_SOURCES): Added normal/context.c.
41622 (default_mod_SOURCES): New variable.
41623 (default_mod_CFLAGS): Likewise.
41624 (timeout_mod_SOURCES): Likewise.
41625 (timeout_mod_CFLAGS): Likewise.
41626 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
41627 conf/i386-pc.rmk.
41628 (pkgdata_MODULES): Added default.mod and timeout.mod.
41629 (normal_mod_SOURCES): Added normal/context.c.
41630 (default_mod_SOURCES): New variable.
41631 (default_mod_CFLAGS): Likewise.
41632 (timeout_mod_SOURCES): Likewise.
41633 (timeout_mod_CFLAGS): Likewise.
41634
41635 * Makefile.in (all-local): Added $(MKFILES).
41636
4ed2e1dd 416372005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
41638
41639 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
41640 (grub_emu_SOURCES): Likewise.
41641 (pkgdata_MODULES): Add `sun.mod'.
41642 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
41643 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41644 `partmap/sun.c'.
41645 (pkgdata_MODULES): Add `sun.mod'.
41646 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
41647 * include/grub/partition.h (grub_sun_partition_map_init): New
41648 prototype.
41649 (grub_sun_partition_map_fini): Likewise.
41650 * partmap/sun.c: New file.
41651 * util/grub-emu.c (main): Initialize and de-initialize the sun
41652 partitionmap support.
41653
4d4e372e 416542005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
41655
41656 This implements an Emacs-like menu entry editor.
f19dbdb7 41657
4d4e372e 41658 * normal/menu_entry.c: New file.
f19dbdb7 41659
4d4e372e 41660 * util/console.c (grub_ncurses_putchar): Translate some Unicode
41661 characters to ASCII.
41662 (saved_char): New variable.
41663 (grub_ncurses_checkkey): Rewritten completely.
41664 (grub_ncurses_getkey): Likewise.
41665 (grub_ncurses_init): Call raw instead of cbreak.
41666
41667 * normal/menu.c (print_entry): Do not put a space.
41668 (init_page): Renamed to ...
41669 (grub_menu_init_page): ... this. All callers changed.
41670 (edit_menu_entry): Removed.
41671 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
41672
41673 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
41674
41675 * kern/misc.c (grub_vprintf): Call grub_refresh.
41676
41677 * normal/menu.c (DISP_LEFT): Renamed to ...
41678 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
41679 * normal/menu.c (DISP_UP): Renamed to ...
41680 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
41681 * normal/menu.c (DISP_RIGHT): Renamed to ...
41682 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
41683 * normal/menu.c (DISP_DOWN): Renamed to ...
41684 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
41685 * normal/menu.c (DISP_HLINE): Renamed to ...
41686 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
41687 * normal/menu.c (DISP_VLINE): Renamed to ...
41688 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
41689 * normal/menu.c (DISP_UL): Renamed to ...
41690 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
41691 * normal/menu.c (DISP_UR): Renamed to ...
41692 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
41693 * normal/menu.c (DISP_LL): Renamed to ...
41694 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
41695 * normal/menu.c (DISP_LR): Renamed to ...
41696 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
41697 * normal/menu.c (TERM_WIDTH): Renamed to ...
41698 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
41699 * normal/menu.c (TERM_HEIGHT): Renamed to ...
41700 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
41701 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
41702 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
41703 * normal/menu.c (TERM_MARGIN): Renamed to ...
41704 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
41705 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
41706 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
41707 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
41708 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
41709 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
41710 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
41711 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
41712 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
41713 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
41714 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
41715 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
41716 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
41717 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
41718 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
41719 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
41720 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
41721 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
41722 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
41723 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
41724 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
41725 All callers changed.
41726
41727 * include/grub/normal.h: New prototype.
41728
41729 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41730 normal/menu_entry.c.
41731 (normal_mod_SOURCES): Likewise.
41732 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41733 (normal_mod_SOURCES): Likewise.
41734
e6b92c8a 417352005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
41736
41737 * include/grub/normal.h (grub_halt_init): New prototype.
41738 (grub_halt_fini): Likewise.
41739 (grub_reboot_init): Likewise.
41740 (grub_reboot_fini): Likewise.
41741
41742 * util/grub-emu.c: Include signal.h.
41743 (main_env): New global variable.
41744 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
41745 catch C-c.
41746 (grub_machine_fini): New function.
41747 (main): Call grub_halt_init and grub_reboot_init before
41748 grub_main, and grub_reboot_fini and grub_halt_fini after it.
41749 Call setjmp with MAIN_ENV to go back afterwards.
41750 Call grub_machine_fini right before return.
41751
41752 * include/grub/util/misc.h: Include setjmp.h.
41753 (main_env): New prototype.
41754
41755 * include/grub/kernel.h (grub_machine_fini): New prototype.
41756 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
41757 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
41758
41759 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
41760 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
41761 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 41762
e6b92c8a 41763 * util/i386/pc/misc.c: New file.
f19dbdb7 41764
e6b92c8a 41765 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41766 util/i386/pc/misc.c, commands/i386/pc/halt.c and
41767 commands/i386/pc/reboot.c.
41768
c642636f 417692005-02-14 Guillem Jover <guillem@hadrons.org>
41770
41771 * include/grub/dl.h (grub_dl_check_header): New prototype.
41772 (grub_arch_dl_check_header): Change return type to grub_err_t,
41773 remove size parameter and export function. Update all callers.
41774 * kern/dl.c (grub_dl_check_header): New function.
41775 (grub_dl_load_core): Use `grub_dl_check_header' instead of
41776 `grub_arch_dl_check_header'. Check ELF type. Check if sections
41777 are inside the core.
41778 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
41779 independent ELF header checks.
41780 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
41781 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
41782 `grub_dl_check_header' instead of explicit checks. Check for the
41783 ELF type.
41784 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
41785 `grub_dl_check_header' instead of explicit checks. Remove arch
41786 specific ELF header checks.
41787
e6b92c8a 41788 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
41789 argument SIZE.
41790
5eabe94b 417912005-02-13 Hollis Blanchard <hollis@penguinppc.org>
41792
41793 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
41794 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
41795
1b14a681 417962005-02-12 Hollis Blanchard <hollis@penguinppc.org>
41797
41798 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 41799 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 41800 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 41801 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 41802 * partmap/amiga.c (amiga_partition_map_iterate): Return
41803 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
41804 * partmap/apple.c (apple_partition_map_iterate): Likewise.
41805
aca108aa 418062005-02-01 Guillem Jover <guillem@hadrons.org>
41807
41808 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
41809 help info.
41810
c9f9c556 418112005-01-31 Marco Gerards <metgerards@student.han.nl>
41812
41813 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
41814 Removed prototype.
41815 (grub_rescue_cmd_linux): New prototype.
41816 (grub_rescue_cmd_initrd): Likewise.
41817 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
41818 `bi_rec'.
41819 (grub_linux_release_mem): Release the memory for the initrd.
41820 (grub_load_linux): Renamed from this...
41821 (grub_rescue_cmd_linux): ...To this. Changed all callers.
41822 Changed `entry' not to be static. Loop over memory regions to
41823 find another one when the default fails.
41824 (grub_rescue_cmd_initrd): New function.
41825 (grub_linux_init): Remove function.
41826 (grub_linux_fini): Likewise.
41827 (GRUB_MOD_INIT): Register `initrd'.
41828 (GRUB_MOD_FINI): Unregister `initrd'.
41829 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
41830 Function removed.
41831 (grub_linux_normal_fini): Likewise.
41832 (GRUB_MOD_INIT): Register `initrd'.
41833 (GRUB_MOD_FINI): Unregister `initrd'.
41834
990cf3aa 418352005-01-31 Marco Gerards <metgerards@student.han.nl>
41836
41837 * commands/help.c: New file.
41838 * normal/arg.c (show_help): Renamed to...
41839 (grub_arg_show_help): ... this.
41840 * commands/i386/pc/halt.c: New file.
41841 * commands/i386/pc/reboot.c: Likewise.
41842 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
41843 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
41844 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
41845 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
41846 variables.
41847 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41848 `commands/help.c'.
41849 (pkgdata_MODULES): Add `help.mod'.
41850 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
41851 * grub/i386/pc/init.h (grub_reboot): New prototype.
41852 (grub_halt): Likewise.
41853 * include/grub/normal.h (grub_arg_show_help): New prototype.
41854 (grub_help_init): Likewise.
41855 (grub_help_fini): Likewise.
41856 * util/grub-emu.c (main): Initialize and deinitialize the help
41857 command.
41858
41859 * normal/cmdline.c (grub_cmdline_get): Doc fix.
41860
41861 * normal/command.c (grub_command_init): Fixed the description of
41862 the `set' and `unset' commands.
41863
418642005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 41865
41866 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
41867 function.
41868 * commands/ieee1275/halt.c: New file.
41869 * commands/ieee1275/reboot.c: Likewise.
41870 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
41871 `__attribute__ ((unused))'. Some GCS related fixed.
41872 (grub_suspend_init) [GRUB_UTIL]: Function removed.
41873 (grub_suspend_fini): Likewise.
41874 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
41875 and `halt.mod'.
41876 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
41877 (halt_mod_CFLAGS): New variables.
41878 * include/grub/powerpc/ieee1275/ieee1275.h
41879 (grub_ieee1275_interpret): New prototype.
41880
1ab09cc7 418812005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
41882
41883 * include/grub/misc.h (memmove): New prototype.
41884 (memcpy): Likewise.
41885
8b8cbdb2 418862005-01-22 Hollis Blanchard <hollis@penguinppc.org>
41887
41888 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
41889 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
41890
e3741a27 418912005-01-22 Marco Gerards <metgerards@student.han.nl>
41892
41893 * kern/misc.c (grub_strndup): Function rewritten.
41894
776bd780 418952005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
41896
41897 * normal/menu.c (TERM_WIDTH): Macro redefined.
41898 (TERM_TOP_BORDER_Y): Likewise.
41899 (draw_border): Replaced while-loop by a for-loop. Make the number
41900 of lines consistent with the number of lines displayed in
41901 print_entries. Added a margin below the rectangle.
41902 (print_entry): Make the entry fit in the rectangle.
41903 (print_entries): Display the scroll arrows next to the right
41904 border.
41905
78026bce 419062005-01-21 Marco Gerards <metgerards@student.han.nl>
41907
41908 * fs/minix.c (grub_minix_find_file): Reserve more space for
41909 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
41910 `grub_strncpy' to copy `path' into it.
41911
67bbaf0f 419122005-01-21 Marco Gerards <metgerards@student.han.nl>
41913
41914 Add the loopback device, a device via which files can be accessed
41915 as devices.
f19dbdb7 41916
67bbaf0f 41917 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
41918 (pkgdata_MODULES): Add loopback.mod.
41919 (loopback_mod_SOURCES): New variable.
41920 (loopback_mod_CFLAGS): Likewise.
41921 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41922 `disk/loopback.c'.
41923 (pkgdata_MODULES): Add loopback.mod.
41924 (loopback_mod_SOURCES): New variable.
41925 (loopback_mod_CFLAGS): Likewise.
41926 * disk/loopback.c: new file.
41927 * include/grub/normal.h (grub_loop_init): New prototype.
41928 (grub_loop_fini): New prototype.
41929 * util/grub-emu.c (main): Initialize and de-initialize loopback
41930 support.
41931 * include/grub/disk.h (grub_disk_dev_id): Add
41932 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
41933
6f1c18bd 419342005-01-20 Hollis Blanchard <hollis@penguinppc.org>
41935
41936 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
41937 function.
41938 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
41939 (suspend_mod_SOURCES): New variable.
41940 (suspend_mod_CFLAGS): Likewise.
41941 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
41942 New prototype.
41943 * commands/ieee1275/suspend.c: New file.
41944
b38551da 419452005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
41946
41947 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 41948 ((unused))' to `__attribute__ ((used))'.
b38551da 41949 (GRUB_MOD_FINI): Likewise.
41950 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
41951 * genmk.rb (PModule): Assign space to common symbols when linking
41952 modules.
41953
777aff39 419542005-01-20 Marco Gerards <metgerards@student.han.nl>
41955
41956 * include/grub/mm.h (grub_mm_init_region): Change the type of the
41957 `unsigned' arguments to `grub_size_t'.
41958 (grub_malloc): Likewise.
41959 (grub_realloc): Likewise.
41960 (grub_memalign): Likewise.
41961 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
41962 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
41963 * util/misc.c (grub_malloc): Likewise.
41964 (grub_realloc): Likewise.
41965 * kern/mm.c (get_header_from_pointer): Change the casts to
41966 `unsigned' into a cast to `grub_size_t'.
41967
41968 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
41969 point to `currnode' when `currnode' is changed.
41970
41971 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
41972 Schottelius <nico-linux@schottelius.org>.
41973
d0ff18e1 419742005-01-09 Hollis Blanchard <hollis@penguinppc.org>
41975
41976 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
41977 (note_path): Remove variable.
41978 (GRUB_IEEE1275_NOTE_NAME): New macro.
41979 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
41980 (grub_ieee1275_note_hdr): New structure.
41981 (grub_ieee1275_note_desc): Likewise.
41982 (grub_ieee1275_note): Likewise.
41983 (load_note): Remove `dir' argument. All callers updated. Remove
41984 `note_img' and `path'. Do not load a file from `note_path'.
41985 Initialize a struct grub_ieee1275_note and write that to `out'.
41986 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
41987
4ca7004c 419882005-01-05 Marco Gerards <metgerards@student.han.nl>
41989
41990 * util/misc.c (grub_util_read_image): Revert last change. It
41991 called `grub_util_read_at', which seeks from the beginning of the
41992 file.
41993
0b412211 419942005-01-04 Hollis Blanchard <hollis@penguinppc.org>
41995
41996 * TODO: Add note about endianness in grub-mkimage.
41997 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
41998 section.
41999 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
42000 (grub_mkimage_SOURCES): New target.
42001 * include/grub/kernel.h (grub_start_addr): Remove variable.
42002 (grub_end_addr): Likewise.
42003 (grub_total_module_size): Likewise.
42004 (grub_kernel_image_size): Likewise.
42005 (GRUB_MODULE_MAGIC): New constant.
42006 (grub_module_info): New structure.
42007 (grub_arch_modules_addr): New prototype.
42008 (grub_get_end_addr): Remove prototype.
42009 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
42010 * include/grub/powerpc/ieee1275/kernel.h: New file.
42011 * include/grub/util/misc.h (grub_util_get_fp_size): New
42012 prototype.
42013 (grub_util_read_at): Likewise.
42014 (grub_util_write_image_at): Likewise.
42015 * kern/main.c (grub_get_end_addr): Remove function.
42016 (grub_load_modules): Call grub_arch_modules_addr instead of using
42017 grub_end_addr. Look for a grub_module_info struct in memory. Use
42018 the grub_module_info fields instead of calling grub_get_end_addr
42019 as loop conditions. Move grub_add_unused_region code here.
42020 (grub_add_unused_region): Remove function.
42021 * kern/i386/pc/init.c: Include grub/cache.h.
42022 (grub_machine_init): Remove call to grub_get_end_addr. Remove
42023 one call to add_mem_region.
42024 (grub_arch_modules_addr): New function.
42025 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
42026 (grub_total_module_size): Likewise.
42027 Include grub/machine/kernel.h.
42028 (grub_arch_modules_addr): New function.
42029 * util/grub-emu.c (grub_end_addr): Remove variable.
42030 (grub_total_module_size): Likewise.
42031 (grub_arch_modules_addr): New function.
42032 * util/misc.c: Include unistd.h.
42033 (grub_util_get_fp_size): New function.
42034 (grub_util_read_at): Likewise.
42035 (grub_util_write_image_at): Likewise.
42036 (grub_util_read_image): Call grub_util_read_at.
42037 (grub_util_write_image): Call grub_util_write_image_at.
42038 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
42039 additional memory in kernel_img for a struct grub_module_info.
42040 Fill in that grub_module_info.
42041 * util/powerpc/ieee1275/grub-mkimage.c: New file.
42042
458786f8 420432005-01-03 Hollis Blanchard <hollis@penguinppc.org>
42044
42045 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
42046 New function.
42047 * include/grub/powerpc/ieee1275/ieee1275.h
42048 (grub_ieee1275_milliseconds): New prototype.
42049 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
42050 Change to 1000.
42051 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
42052 grub_ieee1275_milliseconds.
42053
ac507d1b 420542005-01-03 Hollis Blanchard <hollis@penguinppc.org>
42055
42056 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
42057 variable.
42058 (find_options): New function.
42059 (cmain): Call find_options.
42060 * include/grub/powerpc/ieee1275/ieee1275.h
42061 (grub_ieee1275_realmode): New extern variable.
42062 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
42063 grub_map if grub_ieee1275_realmode is false.
42064
6b8fd1c4 420652004-12-29 Marco Gerards <metgerards@student.han.nl>
42066
42067 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
42068 lines are inserted and make it work like readline. Reported by
42069 Vincent Pelletier <subdino2004@yahoo.fr>.
42070
8514a1e0 420712004-12-28 Marco Gerards <metgerards@student.han.nl>
42072
42073 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
42074
42075 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
42076 `kern/powerpc/cache.S'.
42077
924b6140 420782004-12-27 Marco Gerards <metgerards@student.han.nl>
42079
42080 * genmk.rb: Handle the `Program' class in the main loop. Written
42081 by Johan Rydberg <jrydberg@gnu.org>.
42082 (Program): New class.
42083 (programs): New variable.
42084 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
42085 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
42086 instead of "grub/kernel.h". Include <grub/machine/init.h>.
42087 (help_arch): Function removed.
42088 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
42089 `powerpc/libgcc.h' and `loader.h'.
42090 (pkgdata_PROGRAMS): New variable.
42091 (sbin_UTILITIES): Variable removed.
42092 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
42093 (grubof_SOURCES): Variable re-defined so it only includes the
42094 core functionality.
42095 (grubof_CFLAGS): Remove `-DGRUBOF'.
42096 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
42097 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
42098 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
42099 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
42100 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
42101 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
42102 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
42103 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
42104 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
42105 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
42106 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42107 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
42108 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
42109 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
42110 (pc_mod_CFLAGS): New variables.
42111 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
42112 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
42113 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
42114 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
42115 Moved from here...
42116 * include/grub/i386/pc/init.h (grub_os_area_addr)
42117 (rub_os_area_size): ... to here.
42118 * include/grub/powerpc/ieee1275/ieee1275.h
42119 (grub_ieee1275_entry_fn): Export symbol.
42120 * include/grub/powerpc/ieee1275/init.h: New file.
42121 * include/grub/powerpc/libgcc.h: Likewise.
42122 * include/grub/cache.h: Likewise.
42123 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
42124 <hollis@penguinppc.org>.
42125 * kern/dl.c: Include <grub/cache.h>.
42126 (grub_dl_flush_cache): New function.
42127 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
42128 for this module.
42129 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
42130 (grub_console_init): Removed prototypes.
42131 (grub_machine_init): Don't initialize the modules anymore.
42132 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
42133 static.
42134 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
42135 Macro undef removed.
42136 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
42137 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
42138 relocation `R_PPC_REL32'. Return an error when the relocation is
42139 unknown.
42140 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
42141 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
42142 * util/misc.c (grub_arch_sync_caches): Likewise.
42143
e4b47e0c 421442004-12-19 Marco Gerards <metgerards@student.han.nl>
42145
42146 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
42147 `symlist.c', add `grubof_symlist.c'.
42148 (symlist.c): Variable removed.
42149 (grubof_HEADERS): Variable added.
42150 (grubof_symlist.c): New target.
42151 (kernel_syms.lst): Use `grubof_HEADERS' instead of
42152 `kernel_img_HEADERS'.
42153 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
42154 * kern/powerpc/dl.c: New file.
42155 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
42156 Function removed.
42157 (grub_arch_dl_relocate_symbols): Likewise.
42158 (grub_register_exported_symbols): Likewise.
42159
4ceb3636 421602004-12-13 Marco Gerards <metgerards@student.han.nl>
42161
42162 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
42163 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
42164 to fail instead. Reported by Vincent Pelletier
42165 <subdino2004@yahoo.fr>.
42166
42167 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
42168 it is not allocated. Reported by Vincent Pelletier
42169 <subdino2004@yahoo.fr>.
42170
42171 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
42172 output so the output looks better.
f19dbdb7 42173
3f1578fe 421742004-12-04 Marco Gerards <metgerards@student.han.nl>
42175
42176 Modulize the partition map support and add support for the amiga
42177 partition map.
f19dbdb7 42178
3f1578fe 42179 * commands/ls.c: Include <grub/partition.h> instead of
42180 <grub/machine/partition.h>.
42181 * kern/disk.c: Likewise.
42182 * kern/rescue.c: Likewise.
42183 * loader/i386/pc/chainloader.c: Likewise.
42184 * normal/cmdline.c: Likewise.
42185 * kern/powerpc/ieee1275/init.c: Likewise.
42186 (grub_machine_init): Call `grub_pc_partition_map_init',
42187 `grub_amiga_partition_map_init' and
42188 `grub_apple_partition_map_init'.
42189 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
42190 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
42191 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
42192 `partition.h' and `pc_partition.h'.
42193 (grub_setup_SOURCES): Remove
42194 `disk/i386/pc/partition.c'. Add `kern/partition.c',
42195 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42196 (grub_emu_SOURCES): Likewise.
42197 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
42198 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
42199 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
42200 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
42201 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
42202 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42203 (grubof_SOURCES): Likewise.
42204 * disk/i386/pc/partition.c: File removed.
42205 * disk/powerpc/ieee1275/partition.c: Likewise.
42206 * include/grub/powerpc/ieee1275/partition.h: Likewise.
42207 * include/grub/i386/pc/partition.h: Likewise.
42208 * kern/partition.c: New file.
42209 * partmap/amiga.c: Likewise.
42210 * partmap/apple.c: Likewise.
42211 * partmap/pc.c: Likewise.
42212 * include/grub/partition.h: Likewise..
42213 * include/grub/pc_partition.h: Likewise.
42214 * util/grub-emu.c: Include <grub/partition.h> instead of
42215 <grub/machine/partition.h>.
42216 (main): Call `grub_pc_partition_map_init',
42217 `grub_amiga_partition_map_init' and
42218 `grub_apple_partition_map_init' and deinitialize afterwards.
42219 * util/i386/pc/biosdisk.c: Include `#include
42220 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42221 `<grub/machine/partition.h>'.
42222 * util/i386/pc/grub-setup.c: Likewise.
42223 * util/i386/pc/biosdisk.c: Likewise.
42224 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
42225 partition information in case of a PC partition.
42226 * util/i386/pc/grub-setup.c: Include `#include
42227 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42228 `<grub/machine/partition.h>'.
42229 (setup): Only access the PC specific partition information in case
42230 of a PC partition.
42231
0ef4ced9 422322004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 42233
0ef4ced9 42234 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
42235 (grub_longjmp): Likewise.
42236 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
42237 20.
42238 * normal/powerpc/setjmp.S: New file.
42239 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
42240 `normal/powerpc/setjmp.S'.
42241 (grubof_CFLAGS): Add `-DGRUBOF'.
42242 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
42243 [GRUB_UTIL && !GRUBOF].
f19dbdb7 42244
19950e29 422452004-11-16 Marco Gerards <metgerards@student.han.nl>
42246
42247 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
42248 property named `name'. Correctly handle the error returned by
42249 `grub_ieee1275_finddevice' if a device can not be opened.
42250
a2fea427 422512004-11-02 Hollis Blanchard <hollis@penguinppc.org>
42252
42253 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
42254 `actual' for negativity.
42255 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
42256 kern/fshelp.c.
42257
41ea0ea3 422582004-11-01 Marco Gerards <metgerards@student.han.nl>
42259
42260 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
42261 (PAGE_OFFSET): New macro.
42262 (CRTC_ADDR_PORT): Likewise.
42263 (CRTC_DATA_PORT): Likewise.
42264 (START_ADDR_HIGH_REGISTER): Likewise.
42265 (START_ADDR_LOW_REGISTER): Likewise.
42266 (GRAPHICS_ADDR_PORT): Likewise.
42267 (GRAPHICS_DATA_PORT): Likewise.
42268 (READ_MAP_REGISTER): Likewise.
42269 (INPUT_STATUS1_REGISTER): Likewise.
42270 (INPUT_STATUS1_VERTR_BIT): Likewise.
42271 (page): New variable.
42272 (wait_vretrace): New function.
42273 (set_read_map): Likewise.
42274 (set_start_address): Likewise.
42275 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
42276 the right page.
42277 (check_vga_mem): Take the page into account.
42278 (write_char): Likewise.
42279 (write_cursor): Likewise.
42280 (scroll_up): Likewise. Copy the page to the page that is not
42281 shown and switch between both pages.
42282 (grub_vga_putchar): Fix off by one error.
42283 (grub_vga_cls): Wait for the vertical retrace. Take the page into
42284 account.
42285
ad0bd20b 422862004-11-01 Marco Gerards <metgerards@student.han.nl>
42287
42288 Add support for iso9660 (including rockridge).
f19dbdb7 42289
ad0bd20b 42290 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
42291 (iso9660_mod_SOURCES): New variable.
42292 (iso9660_mod_CFLAGS): Likewise.
42293 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
42294 * include/grub/fs.h (grub_iso9660_init): New prototype.
42295 * util/grub-emu.c (main): Call `grub_iso9660_init'.
42296 * fs/iso9660.c: New file.
42297
42298 * include/grub/misc.h (grub_strncat): New prototype.
42299 * kern/misc.c (grub_strncat): New function.
f19dbdb7 42300
ad0bd20b 42301 * fs/hfs.c (grub_hfs_mount): Translate the error
42302 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
42303 * fs/jfs.c (grub_jfs_mount): Likewise.
42304 * fs/ufs.c (grub_ufs_mount): Likewise.
42305
a5477a59 423062004-10-28 Hollis Blanchard <hollis@penguinppc.org>
42307
42308 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
42309 which initialized BAT registers.
42310 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
42311 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
42312 Move from here...
42313 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
42314 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
42315 ... to here.
42316 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
42317 (grub_mapclaim): Likewise.
42318 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
42319 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
42320 hand.
42321
9304c1f8 423222004-10-19 Hollis Blanchard <hollis@penguinppc.org>
42323
42324 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
42325 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
42326 -ffreestanding and -msoft-float.
42327
86f4ae25 423282004-10-15 Hollis Blanchard <hollis@penguinppc.org>
42329
42330 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
42331 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
42332 set in grub_ieee1275_flags.
42333
38912228 423342004-10-14 Hollis Blanchard <hollis@penguinppc.org>
42335
42336 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
42337 prototype.
42338 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
42339 grub_console_init first.
42340 Change the memory range used for grub_ieee1275_claim and
42341 grub_mm_init_region.
42342 Print an error message if the claim fails.
42343 Include <grub/misc.h>.
42344
d1923dc8 423452004-10-13 Hollis Blanchard <hollis@penguinppc.org>
42346
42347 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
42348 Call grub_children_iterate for device nodes of type `scsi',
42349 `ide', or `ata'.
42350 (grub_ofdisk_open): Remove manual device alias resolution.
42351 Fix memory leak when device cannot be opened.
f19dbdb7 42352 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 42353 (grub_children_iterate): New prototype.
42354 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
42355 New function.
42356 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
42357 Return -1 if args.size was -1.
42358
4512e4f3 423592004-10-11 Hollis Blanchard <hollis@penguinppc.org>
42360
42361 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
42362 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
42363 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
42364 Open Firmware's memory for it; claim memory from _start to _end.
42365 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
42366 (_end): New extern.
42367 (_start): Zero BSS from __bss_start to _end.
42368 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
42369 New extern.
42370 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
42371
4d61feb0 423722004-10-11 Hollis Blanchard <hollis@penguinppc.org>
42373
ad0bd20b 42374 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
42375 -1 if args.base was -1.
4d61feb0 42376
026fa2f9 423772004-10-08 Hollis Blanchard <hollis@penguinppc.org>
42378
42379 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
42380 escape sequence instead of a literal ^L. Also call
42381 grub_ofconsole_gotoxy.
42382
9f2220ef 423832004-10-03 Hollis Blanchard <hollis@penguinppc.org>
42384
42385 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
42386 void * arguments to grub_addr_t. All callers updated. Also make
42387 the `result' argument optional.
42388 (grub_ieee1275_release): change void * arguments to grub_addr_t.
42389 All callers updated.
42390
8a572cd7 423912004-09-22 Hollis Blanchard <hollis@penguinppc.org>
42392
42393 * commands/ls.c (grub_ls_list_files): Use the string following the
42394 initial ')', if present, as the filesystem path.
42395 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
42396
42397 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
42398
18aa81f2 423992004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
42400
42401 Make the source code of the menu interface more readable.
f19dbdb7 42402
18aa81f2 42403 * normal/menu.c: Include grub/mm.h.
42404 (TERM_WIDTH): New macro.
42405 (TERM_HEIGHT): Likewise.
42406 (TERM_INFO_HEIGHT): Likewise.
42407 (TERM_MARGIN): Likewise.
42408 (TERM_SCROLL_WIDTH): Likewise.
42409 (TERM_TOP_BORDER_Y): Likewise.
42410 (TERM_LEFT_BORDER_X): Likewise.
42411 (TERM_BORDER_WIDTH): Likewise.
42412 (TERM_MESSAGE_HEIGHT): Likewise.
42413 (TERM_BORDER_HEIGHT): Likewise.
42414 (TERM_NUM_ENTRIES): Likewise.
42415 (TERM_FIRST_ENTRY_Y): Likewise.
42416 (TERM_ENTRY_WIDTH): Likewise.
42417 (TERM_CURSOR_X): Likewise.
42418 (draw_border): Use macros instead of magic numbers.
42419 (print_entry): Likewise.
42420 (print_entries): Likewise.
42421 (run_menu): Likewise. Also, handle the key 'e'.
42422 (run_menu_entry): Ignore empty command lines.
42423 (print_message): Added a new argument EDIT. If EDIT is true,
42424 print a different message.
42425 (init_page): Likewise.
42426 (edit_menu_entry): New function. Not implemented yet.
42427
b47efe30 424282004-09-17 Marco Gerards <metgerards@student.han.nl>
42429
42430 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
42431 can be loaded from normal mode.
f19dbdb7 42432
b47efe30 42433 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
42434 `multiboot.mod'.
42435 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
42436 (multiboot_mod_CFLAGS): New variables.
42437 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 42438 * loader/i386/pc/multiboot_normal.c: Likewise.
42439
b47efe30 42440 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
42441 attribute `unused'.
f19dbdb7 42442
b47efe30 42443 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
42444 `fdiro' to read the mode information from instead of `diro'.
42445
42446 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
42447 looking up a symlink.
42448
42449 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
42450 macro.
42451 * normal/command.c (grub_command_execute): Don't parse the
42452 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
42453 flags of the command.
42454
42455 * normal/menu.c (grub_menu_run): Fix typo.
42456
da75ac71 424572004-09-14 Hollis Blanchard <hollis@penguinppc.org>
42458
42459 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
42460
42461 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
42462 `y + 1' instead of `y - 1'.
42463
42464 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 42465
062b24c2 424662004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
42467
42468 From Hollis Blanchard <hollis@penguinppc.org>:
42469 * kern/misc.c (memmove): New alias for grub_memmove.
42470 (memcmp): New alias for grub_memcmp.
42471 (memset): New alias for grub_memset.
f19dbdb7 42472 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 42473 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 42474 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 42475 (grub_ieee1275_get_property): Likewise.
f19dbdb7 42476
8ddad845 424772004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
42478
42479 Added normal mode command `chainloader' as module chain.mod, which
42480 depends on normal.mod and _chain.mod.
f19dbdb7 42481
8ddad845 42482 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
42483 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
42484 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
42485 Deleted prototype.
42486 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
42487 but arguments parsing moved to ...
42488 (grub_chainloader_cmd): ... here. New function.
42489 * include/grub/i386/pc/chainloader.h: New file.
42490 * loader/i386/pc/chainloader_normal.c: Likewise.
42491
2c1f4ce3 424922004-09-11 Marco Gerards <metgerards@student.han.nl>
42493
42494 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
42495 (grub_mkimage_LDFLAGS): Likewise.
42496 (grub_emu_SOURCES): Likewise.
42497 (kernel_img_HEADERS): Added fshelp.h.
42498 * fs/ext2.c: Include <grub/fshelp.h>.
42499 (FILETYPE_REG): New macro.
42500 (FILETYPE_INO_REG): Likewise.
42501 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
42502 Changed all users.
42503 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
42504 all users.
42505 (grub_fshelp_node): New struct.
42506 (grub_ext2_data): Added member `diropen'. Changed member `inode'
42507 to a pointer.
42508 (grub_ext2_get_file_block): Removed function.
42509 (grub_ext2_read_block): New function.
42510 (grub_ext2_read_file): Replaced parameter `data' by `node'.
42511 This function was written.
42512 (grub_ext2_mount): Read the root inode. Create a diropen struct.
42513 (grub_ext2_find_file): Removed function.
42514 (grub_ext2_read_symlink): New function.
42515 (grub_ext2_iterate_dir): Likewise.
42516 (grub_ext2_open): Rewritten.
42517 (grub_ext2_dir): Rewritten.
42518 * include/grub/fshelp.h: New file.
42519 * fs/fshelp.c: Likewise.
42520
3c52136a 425212004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
42522
42523 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
42524 (print_message): Add a missing newline.
42525 (run_menu): Added timeout support.
42526 (run_menu_entry): New local function.
42527 (grub_menu_run): Added support for booting.
42528
42529 * kern/loader.c (grub_loader_is_loaded): New function.
42530
42531 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
42532 (grub_get_rtc): Exported.
42533
42534 * include/grub/i386/pc/time.h: Include grub/symbol.h.
42535 (grub_get_rtc): Exported.
42536
42537 * include/grub/normal.h (struct grub_command_list): Remove
42538 constant from the member `command'.
42539
42540 * include/grub/loader.h (grub_loader_is_loaded): Declared.
42541
42542 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
42543
42544 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
42545
aa033560 425462004-08-28 Marco Gerards <metgerards@student.han.nl>
42547
42548 Add support for the JFS filesystem.
42549
42550 * fs/jfs.c: New file.
42551 * include/grub/fs.h (grub_jfs_init): New prototype.
42552 (grub_jfs_fini): New prototype.
42553 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
42554 (grub_emu_SOURCES): Likewise.
42555 (pkgdata_MODULES): Add jfs.mod.
42556 (jfs_mod_SOURCES): New variable.
42557 (jfs_mod_CFLAGS): Likewise.
42558 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
42559 (grubof_SOURCES): Likewise.
42560 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
42561
42562 * fs/fat.c (grub_fat_find_dir): Convert the filename little
42563 endian to the host endian.
42564 (grub_fat_utf16_to_utf8): Move function from there...
42565 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 42566 the endianness of the source string anymore.
aa033560 42567 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
42568
94bc45af 425692004-08-24 Marco Gerards <metgerards@student.han.nl>
42570
42571 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
42572 (grub_boot_fini) [GRUB_UTIL]: Likewise.
42573 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
42574 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 42575
94bc45af 42576 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
42577 (grub_hfs_iterate_dir): Make the function static. Add prototypes
42578 for `node_found' and `it_dir'.
42579 (grub_hfs_dir): Add prototype for `dir_hook'.
42580
42581 * fs/minix.c (grub_minix_get_file_block): Add prototype for
42582 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
42583 and `indir32' to silence a gcc warning.
42584
42585 * include/grub/fs.h (grub_hfs_init): New prototype.
42586 (grub_hfs_fini): Likewise.
f19dbdb7 42587
42588
97543f08 425892004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
42590
42591 Each disk device has its own id now. This is useful to make use
42592 of multiple disk devices.
f19dbdb7 42593
97543f08 42594 * include/grub/disk.h (grub_disk_dev_id): New enum.
42595 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
42596 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
42597
42598 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
42599 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
42600
42601 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
42602 GRUB_DISK_DEVICE_OFDISK_ID as an id.
42603
42604 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
42605 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
42606
42607 * include/grub/disk.h (struct grub_disk_dev): Added a new member
42608 "id" which is used by the cache manager.
42609
42610 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
42611 of just "GRUB".
42612
64372eb4 426132004-08-18 Marco Gerards <metgerards@student.han.nl>
42614
42615 * fs/hfs.c: New file.
42616 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
42617 (grub_emu_SOURCES): Likewise.
42618 (pkgdata_MODULES): Add hfs.mod.
42619 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
42620 (grubof_SOURCES): Likewise.
42621 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
42622
42623 * include/grub/misc.h (grub_strncasecmp): Add prototype.
42624 * kern/misc.c (grub_strncasecmp): Add function.
42625
cc61b58f 426262004-08-14 Marco Gerards <metgerards@student.han.nl>
42627
42628 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
42629 with parentheses.
42630
42631 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
42632 (grub_ext2_dir): In case the directory entry type is unknown, read
42633 it from the inode.
42634
0ef123f6 426352004-08-02 Peter Bruin <pjbruin@dds.nl>
42636
42637 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
42638 grub_load_linux instead of grub_rescue_cmd_linux as second
42639 argument of grub_rescue_register_command.
42640
42641 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
42642
a447c5df 426432004-07-27 Marco Gerards <metgerards@student.han.nl>
42644
42645 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
42646 function.
42647 * commands/boot.c: Remove the check for `GRUB_UTIL'.
42648 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
42649 `loader/powerpc/ieee1275/linux.c',
42650 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
42651 * include/grub/powerpc/ieee1275/ieee1275.h
42652 (grub_ieee1275_release): New prototype.
42653 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
42654 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
42655 normal, boot, linux and linux_normal.
42656 * loader/powerpc/ieee1275/linux.c: New file.
42657 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
42658
5a9e3546 426592004-07-12 Marco Gerards <metgerards@student.han.nl>
42660
42661 * normal/arg.c (grub_arg_parse): Correct error handling after
42662 reallocating the argumentlist (check if `argl' is not null instead
42663 of checking if `args' is not null).
42664 * kern/mm.c (grub_realloc): Return the same pointer when using the
42665 same region, instead of returning the header address.
42666
e15199cb 426672004-07-11 Marco Gerards <metgerards@student.han.nl>
42668
42669 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
42670 one block instead of two when looking for the initial partition.
42671 (grub_partition_probe): Initialize the local variable `p' with 0.
42672 Use base 10 for the grub_strtoul call.
42673 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
42674 need for one local variable.
42675 (grub_strtoul): Don't add the new value to `num', instead of that
42676 just assign it.
42677
020616c2 426782004-07-11 Marco Gerards <metgerards@student.han.nl>
42679
42680 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
42681 (pxeboot_img_SOURCES): New variable.
42682 (pxeboot_img_ASFLAGS): Likewise.
42683 (pxeboot_img_LDFLAGS): Likewise.
42684 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
42685 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
42686 <lode_leroy@hotmail.com>.
42687
6c51eb64 426882004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
42689
42690 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
42691 there was no input.
42692
cfb12aff 426932004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
42694
42695 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
42696 the history buffer logic.
42697
6eabba74 426982004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
42699
42700 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
42701 (FILETYPE_INO_SYMLINK): New macros.
42702 (grub_ext2_find_file): Check if the node is a directory using the
42703 inode stat information instead of using the filetype in the
42704 dirent. Exclude the first character of an absolute symlink.
42705 (grub_ext2_dir): Mask out the filetype part of the mode member of
42706 the inode.
42707
66e19ef8 427082004-05-24 Marco Gerards <metgerards@student.han.nl>
42709
42710 Add support for UFS version 1 and 2. Add support for the minix
42711 filesystem version 1 and 2, both the variants with 14 and 30 long
42712 filenames.
f19dbdb7 42713
66e19ef8 42714 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
42715 fs/minix.c.
42716 (grub_emu_SOURCES): Likewise.
42717 (pkgdata_MODULES): Add ufs.mod and minix.mod.
42718 (ufs_mod_SOURCES): New variable.
42719 (ufs_mod_CFLAGS): Likewise.
42720 (minix_mod_SOURCES): Likewise.
42721 (minix_mod_CFLAGS): Likewise.
42722 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
42723 fs/minix.c.
42724 (grubof_SOURCES): Likewise.
42725 * fs/ufs.c: New file.
42726 * fs/minix.c: New file.
42727 * include/grub/fs.h (grub_ufs_init): New prototype.
42728 (grub_ufs_fini): Likewise.
42729 (grub_minix_init): Likewise.
42730 (grub_minix_fini): Likewise.
42731 * util/grub-emu.c (main): Initialize and deinitialize UFS and
42732 minix fs.
42733
cc2e748a 427342004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
42735
42736 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
42737 commands/ls.c, commands/terminal.c, commands/boot.c,
42738 commands/cmp.c and commands/cat.c.
42739 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
42740
42741 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
42742 "env.h"
42743
4b13b216 427442004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
42745
42746 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
42747 and grub_, respectively. Because the conversion is trivial and
42748 mechanical, I omit the details here. Please refer to the CVS
42749 if you need more information.
42750
6a142551 427512004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
42752
42753 * include/pupa: Renamed to ...
42754 * include/grub: ... this.
42755 * util/i386/pc/pupa-mkimage.c: Renamed to ...
42756 * util/i386/pc/grub-mkimage.c: ... this.
42757 * util/i386/pc/pupa-setup.c: Renamed to ...
42758 * util/i386/pc/grub-setup.c: ... this.
42759 * util/pupa-emu.c: Renamed to ...
42760 * util/grub-emu.c: ... this.
42761
e56cdf21 427622004-03-29 Marco Gerards <metgerards@student.han.nl>
42763
42764 Add support for the newworld apple macintosh (PPC). This has been
42765 tested on the powerbook 2000 only. It only adds support for
42766 generic ieee1275 functions, console and disk support. This should
42767 be easy to port to other architectures with support for Open
42768 Firmware.
f19dbdb7 42769
e56cdf21 42770 * configure.ac: Accept the powerpc as host_cpu. In the case of
42771 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
42772 specific tests are only executed while building for the i386.
42773 Inverse test for crosscompile.
42774 * genmk.rb (Utility): Allow assembler files.
42775 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
42776 * conf/powerpc-ieee1275.rmk: New file.
42777 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
42778 * disk/powerpc/ieee1275/partition.c: Likewise.
42779 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
42780 * include/pupa/powerpc/ieee1275/console.h: Likewise.
42781 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
42782 * include/pupa/powerpc/ieee1275/time.h: Likewise.
42783 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
42784 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
42785 * include/pupa/powerpc/ieee1275/loader.h
42786 * include/pupa/powerpc/setjmp.h: Likewise.
42787 * include/pupa/powerpc/types.h: Likewise.
42788 * kern/powerpc/ieee1275/init.c: Likewise.
42789 * kern/powerpc/ieee1275/openfw.c: Likewise.
42790 * term/powerpc/ieee1275/ofconsole.c: Likewise.
42791
42792 These files were written by Johan Rydberg
42793 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 42794
e56cdf21 42795 * boot/powerpc/ieee1275/cmain.c: New file.
42796 * boot/powerpc/ieee1275/crt0.S: Likewise.
42797 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
42798 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
42799
8c8cc205 428002004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
42801
42802 * Makefile.in: Update copyright.
42803 * genmodsrc.sh: Likewise.
42804 * gensymlist.sh: Likewise.
42805 * term/i386/pc/vga.c: Indent correctly.
42806
42807 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
42808 bugreporting address.
42809 * util/i386/pc/pupa-setup.c (usage): Likewise,
42810 (main): Call pupa_ext2_init and pupa_ext2_fini.
42811
f19dbdb7 42812 * fs/fat.c (log2): Renamed to ...
8c8cc205 42813 (fat_log2): ... this.
42814 All callers changed.
42815 * kern/misc.c (memcpy): Alias to pupa_memmove.
42816 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
42817 lvalue cast.
42818 * util/console.c (pupa_ncurses_fini): Return 0.
42819
42820 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
42821 Move fail label here.
42822 [__GNU__]: Don't warn when using stat.
42823 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
42824 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
42825 long int. Use strtol instead of strtoul.
f19dbdb7 42826
db1771cf 428272004-03-14 Marco Gerards <metgerards@student.han.nl>
42828
42829 * commands/boot.c: New file.
42830 * commands/cat.c: Likewise.
42831 * commands/cmp.c: Likewise.
42832 * commands/ls.c: Likewise.
42833 * commands/terminal.c: Likewise.
42834 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
42835 (pupa_register_command): Changed interface to match the new
42836 argument parser.
42837 (pupa_command_execute): Changed (almost rewritten) so it uses
42838 pupa_split_command. Added support for setting variables using the
42839 syntax `foo=bar'.
42840 (rescue_command): Changed to work with the new argument parser.
42841 (terminal_command): Moved from here to commands/terminal.c.
42842 (set_command): New function.
42843 (unset_command): New function.
42844 (insmod_command): New function.
42845 (rmmod_command): New function.
42846 (lsmod_command): New function.
42847 (pupa_command_init): Don't initialize the command terminal
42848 anymore. Initialize the commands set, unset, insmod, rmmod and
42849 lsmod.
42850 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
42851 (kernel_img_HEADERS): Add arg.h and env.h.
42852 (pupa_mkimage_LDFLAGS): Add kern/env.c.
42853 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
42854 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
42855 normal/arg.c.
42856 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
42857 terminal.mod.
42858 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
42859 (boot_mod_SOURCES): New variable.
42860 (terminal_mod_SOURCES): Likewise.
42861 (ls_mod_SOURCES): Likewise.
42862 (cmp_mod_SOURCES): Likewise.
42863 (cat_mod_SOURCES): Likewise.
42864
42865 * normal/arg.c: New file.
42866 * kern/env.c: Likewise.
42867 * include/pupa/arg.h: Likewise.
42868 * include/pupa/env.h: Likewise.
42869 * font/manager.c (font_command): Changed to match argument parsing
42870 interface changes.
42871 (PUPA_MOD_INIT): Likewise.
42872 * hello/hello.c (pupa_cmd_hello): Likewise.
42873 (PUPA_MOD_INIT): Likewise.
42874 * include/pupa/disk.h: Include <pupa/device.h>.
42875 (pupa_print_partinfo): New prototype.
42876 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
42877 (pupa_dl_get_prefix): Likewise.
42878 * include/pupa/misc.h: Include <pupa/err.h>.
42879 (pupa_isgraph): New prototype.
42880 (pupa_isdigit): Likewise.
42881 (pupa_split_cmdline): Likewise.
42882 * include/pupa/normal.h: Include <pupa/arg.h>.
42883 (pupa_command): Changed the prototype of the member `func' to
42884 match the argument parsing interface. Added member `options'.
42885 (pupa_register_command): Updated to match function.
42886 (pupa_arg_parse): New prototype.
42887 (pupa_hello_init) [PUPA_UTIL]: New prototype.
42888 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
42889 (pupa_ls_init) [PUPA_UTIL]: Likewise.
42890 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
42891 (pupa_cat_init) [PUPA_UTIL]: Likewise.
42892 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
42893 (pupa_boot_init) [PUPA_UTIL]: Likewise.
42894 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
42895 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
42896 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
42897 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
42898 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
42899 * kern/disk.c: Include <pupa/file.h>.
42900 (pupa_print_partinfo): New function.
42901 * kern/dl.c: Include <pupa/env.h>.
42902 (pupa_dl_dir): Variable removed.
42903 (pupa_dl_load): Use the environment variable `prefix' instead of
42904 the variable pupa_dl_dir.
42905 (pupa_dl_set_prefix): Function removed.
42906 (pupa_dl_get_prefix): Likewise.
42907 * kern/i386/pc/init.c: Include <pupa/env.h>.
42908 (pupa_machine_init): Use the environment variable `prefix' instead of
42909 using pupa_dl_set_prefix to set the prefix.
42910 * kern/main.c: Include <pupa/env.h>.
42911 (pupa_set_root_dev): Use the environment variable `prefix' instead of
42912 using pupa_dl_get_prefix to get the prefix.
42913 * kern/misc.c: Include <pupa/env.h>.
42914 (pupa_isdigit): New function.
42915 (pupa_isgraph): Likewise.
42916 (pupa_ftoa): Likewise.
42917 (pupa_vsprintf): Added support for printing values of the type
42918 `double'. Make it possible to format variable output when using
42919 formatting like `%1.2%f'.
42920 (pupa_split_cmdline): New function.
42921 * kern/rescue.c: Include <pupa/env.h>.
42922 (next_word): Removed function.
42923 (pupa_rescue_cmd_prefix): Likewise.
42924 (pupa_rescue_cmd_set): New function.
42925 (pupa_rescue_cmd_unset): New function.
42926 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
42927 split the command line instead of splitting it here. Added
42928 support for setting variables using the syntax `foo=bar'. Don't
42929 initialize the prefix command anymore. Initialized the set and
42930 unset commands.
42931 * normal/cmdline.c: Include <pupa/env.h>.
42932 (pupa_tab_complete): Added prototypes for print_simple_completion,
42933 print_partition_completion, add_completion, iterate_commands,
42934 iterate_dev, iterate_part and iterate_dir. Moved code to print
42935 partition information from here to kern/disk.c.
fe6b695a 42936 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 42937 * normal/main.c: Include <pupa/env.h>.
42938 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
42939 instead of using pupa_dl_get_prefix to get the prefix.
42940 * term/i386/pc/vga.c: Include <pupa/arg.h>.
42941 (check_vga_mem): Cast pointers to `void *' to silence a gcc
42942 warning.
42943 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
42944 (pupa_vga_setcolor): Declare unused variables with `__attribute__
42945 ((unused))' to silence a gcc warning.
42946 (pupa_vga_setcolor): Likewise.
42947 (debug_command): Changed to match argument parsing
42948 interface changes.
42949 * util/pupa-emu.c: Include <pupa/env.h>.
42950 (options): Added 0's for unused fields to silence a gcc warning.
42951 (argp): Likewise.
42952 (main): Use the environment variable `prefix' instead of using
42953 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
42954 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
42955 and terminal.
42956
42957 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
42958 * util/misc.c: Include <malloc.h>.
42959 (pupa_malloc): Rewritten so errors are correctly reported.
42960 (pupa_realloc): Likewise.
42961 (pupa_memalign): Likewise.
42962 (pupa_mm_init_region): Declare unused variables with
42963 `__attribute__ ((unused))' to silence a gcc warning.
42964 * normal/i386/setjmp.S: Remove tab at the end of the file to
42965 silence a gcc warning.
42966 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
42967 variables with `__attribute__ ((unused))' to silence a gcc
42968 warning.
42969 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
42970 local variable i unsigned to silence a gcc warning.
42971
42972 * kern/term.c: Include <pupa/misc.h>.
42973 (pupa_more_lines): New variable.
42974 (pupa_more): Likewise.
42975 (pupa_putcode): When the pager is active pause at the end of every
42976 screen.
42977 (pupa_set_more): New function.
42978 * include/pupa/term.h (pupa_set_more): New prototype.
42979
42980
3b1139cb 429812004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
42982
42983 Now this project is GRUB 2 rather than PUPA. The location of
42984 the CVS repository was moved to GRUB's.
f19dbdb7 42985
3b1139cb 42986 * configure.ac: Use bug-grub as the reporting address.
42987 Use GRUB instead of PUPA.
42988 Change the version number to 1.90.
42989
8367695c 429902004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
42991
42992 * genkernsyms.sh: Updated copyright information.
42993 * genmk.rb: Likewise.
42994 * genmodsrc.sh: Likewise.
42995 * gensymlist.sh: Likewise.
42996 * boot/i386/pc/boot.S: Likewise.
42997 * boot/i386/pc/diskboot.S: Likewise.
42998 * disk/i386/pc/biosdisk.c: Likewise.
42999 * disk/i386/pc/partition.c: Likewise.
43000 * font/manager.c: Likewise.
43001 * fs/ext2.c: Likewise.
43002 * fs/fat.c: Likewise.
43003 * include/pupa/boot.h: Likewise.
43004 * include/pupa/device.h: Likewise.
43005 * include/pupa/disk.h: Likewise.
43006 * include/pupa/dl.h: Likewise.
43007 * include/pupa/elf.h: Likewise.
43008 * include/pupa/err.h: Likewise.
43009 * include/pupa/file.h: Likewise.
43010 * include/pupa/font.h: Likewise.
43011 * include/pupa/fs.h: Likewise.
43012 * include/pupa/kernel.h: Likewise.
43013 * include/pupa/loader.h: Likewise.
43014 * include/pupa/misc.h: Likewise.
43015 * include/pupa/mm.h: Likewise.
43016 * include/pupa/net.h: Likewise.
43017 * include/pupa/normal.h: Likewise.
43018 * include/pupa/rescue.h: Likewise.
43019 * include/pupa/setjmp.h: Likewise.
43020 * include/pupa/symbol.h: Likewise.
43021 * include/pupa/term.h: Likewise.
43022 * include/pupa/types.h: Likewise.
43023 * include/pupa/i386/setjmp.h: Likewise.
43024 * include/pupa/i386/types.h: Likewise.
43025 * include/pupa/i386/pc/biosdisk.h: Likewise.
43026 * include/pupa/i386/pc/boot.h: Likewise.
43027 * include/pupa/i386/pc/console.h: Likewise.
43028 * include/pupa/i386/pc/init.h: Likewise.
43029 * include/pupa/i386/pc/kernel.h: Likewise.
43030 * include/pupa/i386/pc/linux.h: Likewise.
43031 * include/pupa/i386/pc/loader.h: Likewise.
43032 * include/pupa/i386/pc/memory.h: Likewise.
43033 * include/pupa/i386/pc/multiboot.h: Likewise.
43034 * include/pupa/i386/pc/partition.h: Likewise.
43035 * include/pupa/i386/pc/time.h: Likewise.
43036 * include/pupa/i386/pc/vga.h: Likewise.
43037 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
43038 * include/pupa/util/getroot.h: Likewise.
43039 * include/pupa/util/misc.h: Likewise.
43040 * include/pupa/util/resolve.h: Likewise.
43041 * kern/device.c: Likewise.
43042 * kern/disk.c: Likewise.
43043 * kern/dl.c: Likewise.
43044 * kern/err.c: Likewise.
43045 * kern/file.c: Likewise.
43046 * kern/fs.c: Likewise.
43047 * kern/loader.c: Likewise.
43048 * kern/main.c: Likewise.
43049 * kern/misc.c: Likewise.
43050 * kern/mm.c: Likewise.
43051 * kern/rescue.c: Likewise.
43052 * kern/term.c: Likewise.
43053 * kern/i386/dl.c: Likewise.
43054 * kern/i386/pc/init.c: Likewise.
43055 * kern/i386/pc/lzo1x.S: Likewise.
43056 * kern/i386/pc/startup.S: Likewise.
43057 * loader/i386/pc/chainloader.c: Likewise.
43058 * loader/i386/pc/linux.c: Likewise.
43059 * loader/i386/pc/multiboot.c: Likewise.
43060 * normal/cmdline.c: Likewise.
43061 * normal/command.c: Likewise.
43062 * normal/main.c: Likewise.
43063 * normal/menu.c: Likewise.
43064 * normal/i386/setjmp.S: Likewise.
43065 * term/i386/pc/console.c: Likewise.
43066 * term/i386/pc/vga.c: Likewise.
43067 * util/console.c: Likewise.
43068 * util/genmoddep.c: Likewise.
43069 * util/misc.c: Likewise.
43070 * util/pupa-emu.c: Likewise.
43071 * util/resolve.c: Likewise.
43072 * util/unifont2pff.rb: Likewise.
43073 * util/i386/pc/biosdisk.c: Likewise.
43074 * util/i386/pc/getroot.c: Likewise.
43075 * util/i386/pc/pupa-mkimage.c: Likewise.
43076 * util/i386/pc/pupa-setup.c: Likewise.
43077
e6eced71 430782004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
43079
43080 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
43081 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
43082 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
43083 reading and reset it after reading.
43084 (pupa_ext2_close): Return PUPA_ERR_NONE.
43085
43086 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
43087 Correct value.
43088 (struct linux_kernel_header): Add kernel_version and
43089 initrd_addr_max.
43090 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
43091 pupa_file_read succeeds.
43092 (pupa_rescue_cmd_initrd): Implement.
43093
5aded270 430942003-12-03 Marco Gerards <metgerards@student.han.nl>
43095
43096 * fs/ext2.c (pupa_ext2_label): New function.
43097 (pupa_ext2_fs): Added label.
43098 * fs/fat.c (pupa_fat_label): New function.
43099 (pupa_fat_fs): Added label.
43100 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
43101
43102 * kern/misc.c (pupa_strndup): New function.
43103 * include/pupa/misc.h (pupa_strndup): New prototype.
43104
43105 * include/pupa/normal.h: Include <pupa/err.h>.
43106 (pupa_set_history): New prototype.
43107 (pupa_iterate_commands): New prototype.
43108 * normal/cmdline.c: Include <pupa/machine/partition.h>,
43109 <pupa/disk.h>, <pupa/file.h>.
43110 (hist_size): New variable.
43111 (hist_lines): Likewise.
43112 (hist_end): Likewise.
43113 (hist_used): Likewise.
43114 (pupa_set_history): New function.
43115 (pupa_history_get): Likewise.
43116 (pupa_history_add): Likewise.
43117 (pupa_history_replace): Likewise.
43118 (pupa_tab_complete): Likewise.
43119 (pupa_cmdline_run): Added tab completion and history buffer. Tab
43120 completion shows partitionnames while completing partitions, this
43121 feature was suggested by Jeff Bailey.
43122 * normal/command.c (pupa_iterate_commands): New function.
43123 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
43124 (pupa_normal_init): Initialize history buffer.
43125 (PUPA_MOD_INIT): Likewise.
43126 (pupa_normal_fini): Free the history buffer.
43127 (PUPA_MOD_FINI): Likewise.
43128
43129 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
43130 key.
43131
43132 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
43133 * configure.ac [i386]: Check for regparam bug.
43134 (NESTED_FUNC_ATTR) [! i386]: Defined.
43135
1f7315a3 431362003-11-17 Marco Gerards <metgerards@student.han.nl>
43137
43138 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
43139 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
43140 (pupa_emu_SOURCES): New variable.
43141 (pupa_emu_LDFLAGS): Likewise.
43142 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
43143 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
43144 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
43145 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43146 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
43147 (pupa_jmp_buf): New typedef.
43148 (pupa_setjmp) [PUPA_UTIL]: New macro.
43149 (pupa_longjmp) [PUPA_UTIL]: Likewise.
43150 * include/pupa/term.h (struct pupa_term): New member `refresh'.
43151 (pupa_refresh): New prototype.
43152 * include/pupa/util/getroot.h: New file.
43153 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
43154 it.
43155 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
43156 (pupa_rescue_cmd_cat): Likewise.
43157 (pupa_rescue_cmd_ls): Likewise.
43158 (pupa_rescue_cmd_testload): Likewise.
43159 (pupa_rescue_cmd_lsmod): Likewise.
43160 * normal/cmdline.c (pupa_cmdline_get): Likewise.
43161 * normal/menu.c (run_menu): Likewise.
43162 * kern/term.c (pupa_cls): Likewise.
43163 (pupa_refresh): New function.
43164 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
43165 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43166 * util/console.c: New file.
f19dbdb7 43167
1f7315a3 43168 * util/i386/pc/getroot.c: New file.
43169 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
43170 (pupa_putchar): New function.
43171 (pupa_refresh): Likewise.
43172 (xgetcwd): Function moved to ...
43173 (strip_extra_slashes): Likewise.
43174 (get_prefix): Likewise.
f19dbdb7 43175 * util/i386/pc/getroot.c: ... here.
1f7315a3 43176 (find_root_device): Function moved and renamed to...
43177 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
43178 Changed all callers.
43179 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
43180 and renamed to...
43181 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
43182 Changed all callers.
43183 * util/misc.c (pupa_memalign): New function.
43184 (pupa_mm_init_region): Likewise.
43185 (pupa_register_exported_symbols): Likewise.
43186 (pupa_putchar): Function removed.
43187 * util/pupa-emu.c: New file.
43188
9a5c1ade 431892003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
43190
43191 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
43192 (_multiboot_mod_SOURCES): New variable.
43193 (_multiboot_mod_CFLAGS): Likewise.
43194 * loader/i386/pc/multiboot.c: New file.
43195 * include/pupa/i386/pc/multiboot.h: Likewise.
43196 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
43197 (pupa_multiboot_real_boot): New function.
43198 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
43199 (pupa_multiboot_real_boot): New prototype.
43200 (pupa_rescue_cmd_multiboot): Likewise
43201 (pupa_rescue_cmd_module): Likewise.
43202
43203 * kern/loader.c (pupa_loader_set): Continue when
43204 pupa_loader_unload_func() fails.
43205 (pupa_loader_unset): New function.
43206 * include/pupa/loader.h (pupa_loader_unset): New prototype.
43207
43208 * kern/misc.c (pupa_stpcpy): New function.
43209 * include/pupa/misc.h (pupa_stpcpy): New prototype.
43210
8e72a9c0 432112003-11-12 Marco Gerards <metgerards@student.han.nl>
43212
43213 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
43214 for available extensions.
43215
43216 * include/pupa/i386/pc/time.h: New file.
43217 * kern/disk.c: Include <pupa/machine/time.h>.
43218 (PUPA_CACHE_TIMEOUT): New macro.
43219 (pupa_last_time): New variable.
43220 (pupa_disk_open): Flush the cache when there was a timeout.
43221 (pupa_disk_close): Reset the timer.
43222 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
43223 pupa_currticks.
43224 * util/misc.c: Include <sys/times.h>
43225 (pupa_get_rtc): New function.
43226
c4adbd32 432272003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
43228
43229 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
43230 as blocks.
43231 (pupa_ext2_get_file_block): Use blocks member.
43232
43233 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
43234 first block. Return -1 instead of pupa_errno on error.
43235
bfd30f06 432362003-10-27 Marco Gerards <metgerards@student.han.nl>
43237
43238 * README: In the pupa-mkimage example use _chain instead of chain
43239 and ext2 instead of fat.
43240 * TODO: Replace ext2fs with jfs as an example. Add an item for
43241 adding journal playback for ext2fs.
43242 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
43243 (pkgdata_MODULES): Added ext2.mod.
43244 (ext2_mod_SOURCES): New variable.
43245 (ext2_mod_CFLAGS): Likewise.
43246 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
43247 * include/pupa/misc.h (pupa_strncpy): New prototype.
43248 (pupa_strcat): Likewise.
43249 (pupa_strncmp): Likewise.
43250 * kern/misc.c (pupa_strcat): Enable function.
43251 (pupa_strncpy): New function.
43252 (pupa_strncmp): Likewise.
43253 * fs/ext2.c: New file.
f19dbdb7 43254
bfd30f06 43255 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
43256 when the read failed before retrying.
43257 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
43258 (_FILE_OFFSET_BITS): Likewise.
43259 * configure.ac: Added AC_SYS_LARGEFILE.
43260
98d15063 432612003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
43262
43263 * genmk.rb (PModule#rule): Make sure to get only symbol names
43264 from the output of nm.
59cad637 43265 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 43266
18d9c7cd 432672003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
43268
43269 I forgot to check in these changes for a long time. This adds
43270 incomplete support for VGA console, and this is still very
43271 buggy. Also, a lot of consideration is required for I18N,
43272 UNICODE, and VGA font issues. Therefore, assume that this is
43273 such that "better than nothing".
f19dbdb7 43274
18d9c7cd 43275 * font/manager.c: New file.
43276 * include/pupa/font.h: Likewise.
43277 * include/pupa/i386/pc/vga.h: Likewise.
43278 * term/i386/pc/vga.c: Likewise.
43279 * util/unifont2pff.rb: Likewise.
43280
43281 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
43282 (pkgdata_MODULES): Added vga.mod and font.mod.
43283 (vga_mod_SOURCES): New variables.
43284 (vga_mod_CFLAGS): Likewise.
43285 (font_mod_SOURCES): Likewise.
43286 (font_mod_CFLAGS): Likewise.
43287
43288 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
43289
43290 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 43291 (struct pupa_term): Added init and fini.
18d9c7cd 43292 Changed the argument of putchar to pupa_uint32_t.
43293
43294 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
43295 (pupa_console_real_putchar): New prototype.
43296 (pupa_console_putchar): Removed.
43297 (pupa_console_checkkey): Exported.
43298 (pupa_console_getkey): Likewise.
43299
43300 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
43301 characters.
43302
43303 * kern/term.c (pupa_term_set_current): Rewritten.
43304 (pupa_putchar): Likewise.
43305 (pupa_putcode): New function.
43306
43307 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
43308 (pupa_console_real_putchar): ... this.
43309 (pupa_vga_set_mode): New function.
43310 (pupa_vga_get_font): Likewise.
43311
43312 * normal/command.c: Include pupa/term.h.
43313 (terminal_command): New function.
43314 (pupa_command_init): Register the command "terminal".
43315
43316 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
43317 (DISP_UP): Likewise.
43318 (DISP_RIGHT): Likewise.
43319 (DISP_DOWN): Likewise.
43320 (DISP_HLINE): Likewise.
43321 (DISP_VLINE): Likewise.
43322 (DISP_UL): Likewise.
43323 (DISP_UR): Likewise.
43324 (DISP_LL): Likewise.
43325 (DISP_LR): Likewise.
43326
43327 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 43328
977329f5 433292003-02-08 NIIBE Yutaka <gniibe@m17n.org>
43330
43331 * util/resolve.c (pupa_util_resolve_dependencies): BUG
43332 FIX. Reverse the path_list.
43333
43334 * include/pupa/normal.h: Export pupa_register_command and
43335 pupa_unregister_command.
43336
43337 * hello/hello.c (pupa_cmd_hello): New module.
43338 * conf/i386-pc.rmk: Added hello.mod.
43339
1f5ab428 433402003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
43341
43342 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 43343
1f5ab428 43344 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
43345 (compress_kernel): New variable.
43346 (generate_image): Heavily modified to support compressing a
43347 large part of the core image.
43348
43349 * util/misc.c (pupa_util_read_image): Fix a file descriptor
43350 leak.
43351 (pupa_util_load_image): New function.
43352
43353 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
43354 (pupa_compressed_size): New variable.
43355 (codestart): Enable Gate A20 here.
43356 Decompress the compressed part of the core image.
43357 Rearrange the code to put functions and variables which are
43358 required for initialization in the non-compressed part.
43359 Include lzo1x.S.
43360
43361 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
43362 here.
43363
43364 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
43365
f19dbdb7 43366 * include/pupa/i386/pc/kernel.h
1f5ab428 43367 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
43368 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
43369 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
43370 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
43371 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
43372
43373 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
43374
43375 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
43376 (Utility#rule): Likewise.
43377
43378 * configure.ac: Check if LZO is available.
43379
ce5bf700 433802003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
43381
43382 * include/pupa/normal.h: New file.
43383 * include/pupa/setjmp.h: Likewise.
43384 * include/pupa/i386/setjmp.h: Likewise.
43385 * normal/cmdline.c: Likewise.
43386 * normal/command.c: Likewise.
43387 * normal/main.c: Likewise.
43388 * normal/menu.c: Likewise.
43389 * normal/i386/setjmp.S: Likewise.
f19dbdb7 43390
ce5bf700 43391 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
43392 (pupa_rescue_cmd_initrd): Likewise.
43393
43394 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
43395 Likewise.
43396
43397 * kern/i386/pc/startup.S (translation_table): New variable.
43398 (translate_keycode): New function.
43399 (pupa_console_getkey): Call translate_keycode.
43400
43401 * kern/rescue.c (attempt_normal_mode): New function.
43402 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
43403 it failed, print a message.
43404
43405 * kern/mm.c (pupa_real_malloc): Print more information when a
43406 free magic is broken.
43407 (pupa_free): If the first free header is not free actually, set
43408 it to P.
43409
43410 * kern/main.c (pupa_load_normal_mode): Just load the module
43411 "normal".
43412 (pupa_main): Don't print the message
43413 "Entering into rescue mode..." here.
43414
43415 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
43416 Declared.
43417 (pupa_rescue_cmd_initrd): Likewise.
43418 (pupa_rescue_cmd_initrd): Likewise.
43419
43420 * include/pupa/symbol.h (FUNCTION): Specify the type.
43421 (VARIABLE): Likewise.
43422
43423 * include/pupa/err.h (pupa_err_t): Added
43424 PUPA_ERR_UNKNOWN_COMMAND.
43425
43426 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
43427 (pupa_dl_get_prefix): Likewise.
43428
43429 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
43430 Added _chain.mod and _linux.mod instead of chain.mod and
43431 linux.mod.
43432 (chain_mod_SOURCES): Renamed to ...
43433 (_chain_mod_SOURCES): ... this.
43434 (chain_mod_CFLAGS): Renamed to ...
43435 (_chain_mod_CFLAGS): ... this.
43436 (linux_mod_SOURCES): Renamed to ...
43437 (_linux_mod_SOURCES): ... this.
43438 (linux_mod_CFLAGS): Renamed to ...
43439 (_linux_mod_CFLAGS): ... this.
43440 (normal_mod_SOURCES): New variable.
43441 (normal_mod_CFLAGS): Likewise.
43442 (normal_mod_ASFLAGS): Likewise.
43443
434442003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
43445
43446 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
43447 possible.
43448
fe6b695a 43449 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 43450 recursively.
43451 (pupa_dl_unref): Unrefer depending modules recursively.
43452 Don't call pupa_dl_unload implicitly, because PUPA can crash if
43453 a module is unloaded before one depending on that module is
43454 unloaded.
43455 (pupa_dl_unload): Unload depending modules explicitly,
43456 if possible.
43457
c04da074 434582003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
43459
43460 * include/pupa/i386/pc/linux.h: New file.
43461 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 43462
c04da074 43463 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
43464 Removed.
43465 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
43466 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
43467 of PUPA_CHAINLOADER_BOOT_SECTOR.
43468
43469 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
43470 (pupa_linux_prot_size): New variable.
43471 (pupa_linux_tmp_addr): Likewise.
43472 (pupa_linux_real_addr): Likewise.
43473 (pupa_linux_boot_zimage): New function.
43474 (pupa_linux_boot_bzimage): Likewise.
43475
43476 * kern/i386/pc/init.c (struct mem_region): New structure.
43477 (MAX_REGIONS): New macro.
43478 (mem_regions): New variable.
43479 (num_regions): Likewise.
43480 (pupa_os_area_addr): Likewise.
43481 (pupa_os_area_size): Likewise.
43482 (pupa_lower_mem): Likewise.
43483 (pupa_upper_mem): Likewise.
43484 (add_mem_region): New function.
43485 (compact_mem_regions): Likewise.
43486 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
43487 the size of the conventional memory and that of so-called upper
43488 memory (before the first memory hole).
43489 Instead of adding each found region to free memory, use
43490 add_mem_region and add them after removing overlaps.
43491 Also, add only 1/4 of the upper memory to free memory. The rest
43492 is used for loading OS images. Maybe this is ad hoc, but this
43493 makes it much easier to relocate OS images when booting.
43494
43495 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
43496 (pupa_enter_rescue_mode): Don't register initrd and module.
43497
43498 * kern/mm.c: Include pupa/dl.h.
43499
43500 * kern/main.c: Include pupa/file.h and pupa/device.h.
43501
43502 * kern/loader.c (pupa_loader_load_module_func): Removed.
43503 (pupa_loader_load_module): Likewise.
43504
43505 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
43506 ``.o''.
43507
43508 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
43509 (pupa_linux_tmp_addr): Likewise.
43510 (pupa_linux_real_addr): Likewise.
43511 (pupa_linux_boot_zimage): Likewise.
43512 (pupa_linux_boot_bzimage): Likewise.
43513
43514 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
43515 (pupa_upper_mem): Likewise.
43516 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
43517 module is too dangerous.
43518
43519 * include/pupa/loader.h (pupa_os_area_addr): Declared.
43520 (pupa_os_area_size): Likewise.
43521 (pupa_loader_set): Remove the first argument. Loader doesn't
43522 manage modules or initrd any longer.
43523 (pupa_loader_load_module): Removed.
43524
43525 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
43526 (linux_mod_SOURCES): New variable.
43527 (linux_mod_CFLAGS): Likewise.
43528
a13f9237 435292003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
43530
43531 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
43532 the length of a blocklist correctly.
43533
43534 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
43535 Use ioctl only if the OS file is a block device.
43536 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
43537 not very useful for normal files.
43538
43539 * kern/main.c (pupa_set_root_dev): New function.
43540 (pupa_load_normal_mode): Likewise.
43541 (pupa_main): Call those above.
43542
43543 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
43544 pupa_uint16_t.
43545
43546 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
43547
a5ffe966 435482003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
43549
43550 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
43551 (setup): Configure the installed partition information and the
43552 dl prefix.
43553
43554 * loader/i386/pc/chainloader.c (my_mod): New variable.
43555 (pupa_chainloader_unload): New function.
43556 (pupa_rescue_cmd_chainloader): Refer itself.
43557 (PUPA_MOD_INIT): Save its own module in MY_MOD.
43558
43559 * kern/i386/pc/startup.S (install_partition): Removed.
43560 (version_string): Likewise.
43561 (config_file): Likewise.
43562 (pupa_install_dos_part): New variable.
43563 (pupa_install_bsd_part): Likewise.
43564 (pupa_prefix): Likewise.
43565 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
43566
43567 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
43568 and pupa/misc.h.
43569 (make_install_device): New function.
43570 (pupa_machine_init): Set the dl prefix.
43571
43572 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
43573 (buf): Renamed to ...
43574 (linebuf): ... this.
43575 (pupa_rescue_cmd_prefix): New function.
43576 (pupa_rescue_cmd_insmod): Likewise.
43577 (pupa_rescue_cmd_rmmod): Likewise.
43578 (pupa_rescue_cmd_lsmod): Likewise.
43579 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
43580 rmmod and lsmod.
43581
43582 * kern/mm.c (pupa_memalign): If failed even after invalidating
43583 disk caches, unload unneeded modules and retry.
43584
43585 * kern/misc.c (pupa_memmove): New function.
43586 (pupa_memcpy): Removed.
43587 (pupa_strcpy): New function.
43588 (pupa_itoa): Made static.
43589
43590 * kern/dl.c (pupa_dl_iterate): New function.
43591 (pupa_dl_ref): Likewise.
43592 (pupa_dl_unref): Likewise.
43593 (pupa_dl_unload): Return if succeeded or not.
43594 (pupa_dl_unload_unneeded): New function.
43595 (pupa_dl_unload_all): Likewise.
43596 (pupa_dl_init): Renamed to ...
43597 (pupa_dl_set_prefix): ... this.
43598 (pupa_dl_get_prefix): New function.
43599
43600 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
43601 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
43602 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
43603 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
43604 (pupa_install_dos_part): Declared.
43605 (pupa_install_bsd_part): Likewise.
43606 (pupa_prefix): Likewise.
43607 (pupa_boot_drive): Likewise.
43608
43609 * include/pupa/types.h: Fix a typo.
43610
43611 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
43612 pupa_memmove.
43613 (pupa_memmove): Declared.
43614 (pupa_strcpy): Likewise.
43615
43616 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
43617 pupa_mod_init takes one argument, its own module.
43618 (pupa_dl_unload_unneeded): Declared.
43619 (pupa_dl_unload_all): Likewise.
43620 (pupa_dl_ref): Likewise.
43621 (pupa_dl_unref): Likewise.
43622 (pupa_dl_iterate): Likewise.
43623 (pupa_dl_init): Renamed to ...
43624 (pupa_dl_set_prefix): ... this.
43625 (pupa_dl_get_prefix): Declared.
43626
43627 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 43628 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 43629 unloaded.
43630 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
43631 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
43632
43633 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
43634 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
43635
012d7999 436362003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
43637
43638 * util/i386/pc/pupa-setup.c (setup): Define the internal
43639 function find_first_partition_start at the top level, because GCC
43640 3.0.x cannot compile internal functions in deeper scopes
43641 correctly.
43642 (find_root_device): Use lstat instead of stat.
43643 Don't follow symbolic links.
43644 Fix the path-constructing code.
43645
43646 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
43647 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
43648 by a BLKGETSIZE ioctl first, because block devices don't fill
43649 the member st_mode of the structure stat on Linux.
43650 [__linux__] (linux_find_partition): Use a temporary buffer
43651 REAL_DEV for the working space. Copy it to DEV before returning.
43652 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
43653 buffer cache consistent.
43654 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
43655 strncmp. The previous value was merely wrong.
43656 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
43657
43658 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
43659 FAT size is 12. The previous value was merely wrong.
43660
43661 * kern/main.c (pupa_main): Don't split the starting message from
43662 newlines.
43663
43664 * kern/term.c (pupa_putchar): Put CR after LF instead of before
43665 LF, because BIOS goes crazy about character attributes in this
43666 case.
43667
1cc73a62 436682003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
43669
43670 * include/i386/pc/util/biosdisk.h: New file.
43671 * util/i386/pc/biosdisk.c: Likewise.
43672 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 43673
1cc73a62 43674 * Makefile.in (INCLUDE_DISTFILES): Added
43675 include/pupa/i386/pc/util/biosdisk.h.
43676 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
43677 directory util/i386/pc.
43678 (install-local): Added a rule for sbin_UTILITIES.
43679 (uninstall): Likewise.
43680
43681 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
43682
43683 * util/misc.c (xrealloc): New function.
43684 (pupa_malloc): Likewise.
43685 (pupa_free): Likewise.
43686 (pupa_realloc): Likewise.
43687 (pupa_stop): Likewise.
43688 (pupa_putchar): Likewise.
43689
43690 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
43691
43692 * include/pupa/util/misc.h (xrealloc): Declared.
43693
43694 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
43695 macro.
43696 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
43697 (PUPA_BOOT_MACHINE_BPB_END): ... this.
43698
43699 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
43700 [PUPA_UTIL] (pupa_fat_fini): Likewise.
43701
43702 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
43703 way should be implemented.
43704 [PUPA_UTIL] (pupa_fat_fini): Likewise.
43705
43706 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
43707 the size of NAME for safety.
43708 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
43709 0x88.
43710
43711 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
43712 (pupa_setup_SOURCES): Likewise.
43713
43714 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
43715
08b70fe8 437162002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
43717
43718 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
43719 bunch of pushl's from pusha, because this destroys the return
43720 value.
43721
62ddcc8f 437222002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
43723
43724 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
43725 This means that any missing prototypes could be fatal. Also, you
43726 must take care when writing assembly code. See the comments at
43727 the beginning of startup.S, for more details.
f19dbdb7 43728
62ddcc8f 43729 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
43730 compilation mechanism.
43731 (pupa_chainloader_real_boot): Likewise.
43732 (pupa_biosdisk_rw_int13_extensions): Likewise.
43733 (pupa_biosdisk_rw_standard): Likewise.
43734 (pupa_biosdisk_check_int13_extensions): Likewise.
43735 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
43736 (pupa_biosdisk_get_diskinfo_standard): Likewise.
43737 (pupa_get_memsize): Likewise.
43738 (pupa_get_mmap_entry): Likewise.
43739 (pupa_console_putchar): Likewise.
43740 (pupa_console_setcursor): Likewise.
43741 (pupa_getrtsecs): Use pushl instead of push.
43742
43743 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
43744 memory instead of the stack for a mmap entry, because some
43745 BIOSes may ignore the maximum size and overflow.
43746
43747 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
43748
43749 * genmk.rb (PModule#rule): Compile automatically generated
43750 sources with module-specific CFLAGS as well as other sources.
43751
9962ed99 437522002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
43753
43754 * configure.ac: Check ld.
43755 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
43756 respectively, before checking endianness and sizes.
43757
43758 * Makefile.in (LD): New variable.
f19dbdb7 43759
abdfc3c5 437602002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
43761
43762 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
43763
6a161fa9 437642002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
43765
43766 * Changelog: New file.
43767